Audit Report Template
Use this template to document accessibility findings in a spreadsheet.
Main Audit Sheet
Create a spreadsheet with these columns:
| Column | Description |
|---|---|
| Page / Flow | Which page or user journey |
| Component | Specific element (e.g., "Email input", "Submit button") |
| Issue Type | Category (Form label, Keyboard, Focus, ARIA, etc.) |
| WCAG Ref | Success criterion (e.g., 1.3.1, 2.1.1) |
| Tool Used | How it was found (axe, NVDA, Manual, etc.) |
| Keyboard Issue | Y/N |
| Screen Reader Issue | Y/N |
| Description | What's wrong |
| Severity | Critical / High / Medium / Low |
| Expected Behaviour | What should happen |
| Actual Behaviour | What actually happens |
| Recommendation | How to fix |
| Status | Open / In Progress / Fixed / Verified |
| Screenshot / Link | Evidence |
Example Entries
| Page | Component | Issue Type | WCAG | Tool | KB | SR | Description | Severity |
|---|---|---|---|---|---|---|---|---|
| Login | Email input | Form label | 1.3.1 | NVDA | No | Yes | Input has no label announced | High |
| Assessment | Next button | Keyboard | 2.1.1 | Manual | Yes | No | Button not reachable via Tab | Critical |
| Results | Modal dialog | Focus | 2.4.3 | VoiceOver | Yes | Yes | Focus not moved into modal | High |
Supporting Sheets
Test Environment
| Field | Value |
|---|---|
| Browser | Chrome 120 |
| OS | macOS Sonoma |
| Screen Reader | VoiceOver |
| Date | YYYY-MM-DD |
Summary
| Severity | Count |
|---|---|
| Critical | 0 |
| High | 0 |
| Medium | 0 |
| Low | 0 |
| Total | 0 |
Fix Verification
| Issue ID | Retested | Pass/Fail | Notes |
|---|---|---|---|
| 001 | Y | Pass | Fixed in PR #123 |
CSV Template
Copy this header row to start your spreadsheet:
Page/Flow,Component,Issue Type,WCAG Ref,Tool Used,Keyboard Issue,Screen Reader Issue,Description,Severity,Expected Behaviour,Actual Behaviour,Recommendation,Status,Screenshot
Quick Audit Script
Create a file called audit.sh to run automated checks:
#!/bin/bash
URL="${1:-https://your-app.example.com}"
echo "Running accessibility audit on $URL..."
# Install tools if not present
command -v pa11y >/dev/null 2>&1 || npm install -g pa11y
command -v axe >/dev/null 2>&1 || npm install -g @axe-core/cli
# Run audits
echo "Running Pa11y..."
pa11y "$URL" --reporter json > pa11y-report.json
echo "Running axe..."
axe "$URL" --save axe-report.json
echo "Reports generated:"
echo " - pa11y-report.json"
echo " - axe-report.json"
Usage:
chmod +x audit.sh
./audit.sh https://your-app.example.com