Template · Accessibility audit

Accessibility audit report Template and workbench

A report the people who fix things can act on: scope, method, a findings register with severity by user impact, a result for every WCAG criterion, and retests. Build it in the workbench on this page, or download the blank files.

Version
1.1
Updated
2026-10-07
Standard
WCAG 2.2 A and AA
Licence
CC0 1.0

Workbench

Build the report here

Fill in the scope, list the pages you tested, log each finding, mark each criterion, then export the report as Markdown, HTML or CSV. Your work stays in this browser: nothing is sent to us.

Saved in this browser

The audit at a glance

0Findings
0Still open
0Critical and open
0 / 55Criteria checked
The report

The site's address, starting with https://, or the app's store page.

Name, role and organisation.

Leave it empty and the report says “Not reviewed”.

Scope

Choose one and the standard and level follow what it asks for.

A release, a build or the date it was deployed.

Method

With their versions.

Checked by hand

Each with its version, browser and system.

Three to six sentences for someone who reads nothing else. Write it last, or start from a draft made from your findings.

Before you share the report

    Download

    Three plain files

    A report you fill in, in Markdown; the findings register as CSV for a spreadsheet or an issue tracker; and a sheet of every WCAG 2.2 criterion to record a result for each. All three are plain ASCII text in English, so they open the same everywhere.

    Markdown

    Audit report

    accessibility-audit-report.md

    Format
    Markdown text (.md)
    Size
    7,324 bytes
    Version
    1.1 · 2026-10-07
    Licence
    CC0 1.0

    Preview: the first 15 lines

    # Accessibility audit report: [name of the site or product]
    
    > Template version 1.1, 2026-10-07, from https://auricartisan.com/templates/accessibility-audit/
    > The workbench on that page fills this report in for you, in your browser.
    > Licence: CC0 1.0 (https://creativecommons.org/publicdomain/zero/1.0/). Copy it, change it and use it for anything; no credit needed.
    > Replace everything in [square brackets], then delete this note.
    
    | Report | |
    |---|---|
    | Report version | [1.0] |
    | Date of report | [YYYY-MM-DD] |
    | Audited by | [Name, role, organisation] |
    | Reviewed by | [Name, or "Not reviewed"] |
    | Prepared for | [Team or client] |
    
    Download the report

    CSV

    Findings register

    accessibility-findings.csv

    Format
    Comma-separated values (RFC 4180)
    Size
    3,719 bytes
    Contents
    17 columns, 4 sample rows
    Licence
    CC0 1.0

    Preview: the header and the first row

    ID,Title,Location,WCAG criterion,Level,Severity,User impact,Description,Steps to reproduce,Expected,Actual,Recommendation,Owner,Status,Found on,Retest date,Retest result
    AUD-001,Card errors shown only by a red border,/checkout/payment/ - payment form,3.3.1 Error Identification,A,Critical,"Screen reader users and people who cannot see red are not told that the card was rejected or which field is wrong, so they cannot pay.","When the card number, expiry date or security code is wrong, the field's border turns red. No text explains the error and focus does not move.",1) Go to /checkout/payment/ with an item in the basket. 2) Enter 1234 in Card number. 3) Press Pay now.,"A message in text beside the field says what is wrong and how to fix it, the field is marked aria-invalid=""true"", and an error summary takes focus.",Only the border colour changes. Nothing is announced and focus stays on Pay now.,"Describe each error in text beside its field and in a summary that takes focus, for example ""Enter the 16-digit number on the front of your card"". Pattern: https://auricartisan.com/accessibility-patterns/forms/",Checkout team,Closed,2026-09-21,2026-10-02,Pass - retested with the keyboard and a screen reader

    The columns, in order

    • ID
    • Title
    • Location
    • WCAG criterion
    • Level
    • Severity
    • User impact
    • Description
    • Steps to reproduce
    • Expected
    • Actual
    • Recommendation
    • Owner
    • Status
    • Found on
    • Retest date
    • Retest result
    Download the register

    CSV

    Criteria sheet

    wcag-22-criteria.csv

    Format
    Comma-separated values (RFC 4180)
    Size
    4,781 bytes
    Contents
    86 criteria, with columns for the result
    Licence
    CC0 1.0

    Preview: the header and the first 4 criteria

    Criterion,Name,Level,Since,Guideline,Result,Findings,Notes
    1.1.1,Non-text Content,A,2.0,1.1 Text Alternatives,,,
    1.2.1,Audio-only and Video-only (Prerecorded),A,2.0,1.2 Time-based Media,,,
    1.2.2,Captions (Prerecorded),A,2.0,1.2 Time-based Media,,,
    1.2.3,Audio Description or Media Alternative (Prerecorded),A,2.0,1.2 Time-based Media,,,

    Each row is a criterion of WCAG 2.2 at Level A, AA or AAA, with the version that added it, so a 2.1 audit can leave out the newer ones. 4.1.1 Parsing is not listed: WCAG 2.2 removed it.

    Download the sheet

    Licence: CC0 1.0 Universal, a public domain dedication. You can copy, change and use all three files for any purpose, including paid work, without asking or giving credit. Delete the sample rows before you start, or keep them as a guide.

    Structure

    What goes in a good report

    Seven parts, in the order a reader needs them.

    A report is good when someone who was not there can see each problem, fix it and check the fix.

    1. Summary. For people who read nothing else: what was tested, the overall picture, the worst problems and what to do next, with a count of findings by severity.
    2. Scope. The pages, screens and processes in the sample and why each was chosen, the standard (WCAG 2.2, Level A and AA), the dates and the version tested. Test a process such as checkout from start to finish, every step.
    3. Method. The automated tools and their versions; the checks by hand with a keyboard, at 200% text and at 320 CSS pixels wide, and with screen readers; the browsers and devices; and what was not tested.
    4. Findings register. One row per problem, with its place, criterion, severity, effect on people, steps to see it, expected and actual results, a fix, an owner and a status.
    5. Severity scale. Ratings based on what happens to people, defined once and applied the same way to every finding.
    6. Results by criterion. Pass, Fail, Not present or Not checked for every success criterion in the scope, so the gaps in the testing show as clearly as the failures.
    7. Retests. When each fix was checked again, by whom, with what, and the result. A finding closes only when its retest passes.

    Findings register

    Column by column

    The CSV has these columns, in this order. They work as the fields of an issue template too.

    ColumnWhat to write
    IDA short, stable reference, such as AUD-001. Never reuse one.
    TitleThe problem in a few words, written so the person fixing it can find it in a list.
    LocationThe page or component, its URL or path, and where on the page.
    WCAG criterionThe success criterion it fails, by number and name, such as 3.3.1 Error Identification.
    LevelA, AA or AAA: the criterion's level, which is not the same as the severity.
    SeverityCritical, High, Medium or Low, from the scale below: the effect on people.
    User impactWho is affected and what happens to them, in one or two sentences.
    DescriptionWhat is wrong, in plain words, without assuming the reader knows the code.
    Steps to reproduceNumbered steps from a known starting point, so anyone can see the problem.
    ExpectedWhat should happen.
    ActualWhat happens instead.
    RecommendationHow to fix it, with a technique or pattern where one helps.
    OwnerThe team or person who will fix it.
    StatusOpen, In progress, Fixed - awaiting retest, Closed, or Won't fix (with the reason).
    Found onThe date of the test that found it, as YYYY-MM-DD.
    Retest dateWhen the fix was, or will be, tested again.
    Retest resultPass, Fail or Partly fixed, and who retested it with what.

    Severity

    Rate the effect on people

    Severity is about what happens to the people using the page, not about the level of the criterion. A Level AA failure can be critical, and a Level A failure can be low.

    SeverityWhat it meansSample findingSuggested response
    CriticalBlocks a task: some people cannot complete it on their own, or are put at risk.AUD-001 Card errors shown only by a red borderFix now; hold the release if it is not out yet.
    HighThe task can be done only with serious difficulty or a workaround most people will not find, or important information is missing for some people.AUD-002 Password field blocks paste and password managersFix in the next release.
    MediumThe task takes clearly more time or effort, or is confusing, but people get through it.AUD-003 No visible focus on the sort and filter buttonsPlan the fix within a few releases.
    LowA minor annoyance or inconsistency with little effect on getting things done.AUD-004 Postcode field has no autocomplete tokenFix when the area is next changed.

    The suggested responses are a starting point: agree your own with the people who plan the work, and write them in the report.

    Not sure which? Answer three questions

    Ask them in order, about the people the problem affects. The first yes is the severity; three noes make it Low.

    Can some people not complete the task on their own, or are they put at risk?
    Can they finish only with serious difficulty or a workaround most people will not find, or is important information missing for them?
    Does it take them clearly more time or effort, or confuse them?

    Answer in order: the first yes is the severity.

    Examples

    Four sample findings

    From a made-up shop, one at each severity: the same four rows as in the CSV, laid out to read. The paths are invented for the example: these are not findings about this site.

    AUD-001 Critical Closed

    Card errors shown only by a red border

    Location
    /checkout/payment/ payment form
    User impact
    Screen reader users and people who cannot see red are not told that the card was rejected or which field is wrong, so they cannot pay.
    Description
    When the card number, expiry date or security code is wrong, the field's border turns red. No text explains the error and focus does not move.
    Steps to reproduce
    1. Go to /checkout/payment/ with an item in the basket.
    2. Enter 1234 in Card number.
    3. Press Pay now.
    Expected
    A message in text beside the field says what is wrong and how to fix it, the field is marked aria-invalid="true", and an error summary takes focus.
    Actual
    Only the border colour changes. Nothing is announced and focus stays on Pay now.
    Recommendation
    Describe each error in text beside its field and in a summary that takes focus, for example "Enter the 16-digit number on the front of your card". Pattern: accessible form errors
    Owner
    Checkout team
    Found on
    2026-09-21
    Retest
    2026-10-02 Pass - retested with the keyboard and a screen reader
    AUD-002 High In progress

    Password field blocks paste and password managers

    Location
    /account/sign-in/ Password field
    User impact
    People who rely on a password manager, or cannot remember and retype a long password, must type it character by character; some cannot sign in at all.
    Description
    A script cancels paste in the Password field, and autocomplete="off" stops the browser's password manager from filling it.
    Steps to reproduce
    1. Go to /account/sign-in/.
    2. Copy a password and paste it into Password with Ctrl+V.
    3. Try to fill the form from the browser's password manager.
    Expected
    Pasting and password manager filling both work, so signing in does not depend on remembering or transcribing the password.
    Actual
    Paste does nothing and the password manager offers no fill.
    Recommendation
    Remove the paste blocker. Set autocomplete="current-password" on Password and autocomplete="username" on Email. See failure F109 in the WCAG techniques.
    Owner
    Accounts team
    Found on
    2026-09-21
    Retest
    Not yet
    AUD-003 Medium Open

    No visible focus on the sort and filter buttons

    Location
    /products/ Sort and Filter buttons above the product grid
    WCAG criterion
    2.4.7 Focus Visible AA
    User impact
    Keyboard users cannot see which button has focus, so they press keys without knowing what they will do and may sort or filter by mistake.
    Description
    The stylesheet sets outline: none on the toolbar buttons when they have focus and puts no other focus style in its place.
    Steps to reproduce
    1. Go to /products/.
    2. Press Tab until focus reaches the toolbar above the grid.
    3. Look for the focused button.
    Expected
    The focused button is clearly marked as it receives focus.
    Actual
    Nothing changes on screen; the focus position cannot be seen.
    Recommendation
    Remove outline: none, or replace it with a :focus-visible outline at least 2px thick with 3:1 contrast against the background.
    Owner
    Design system team
    Found on
    2026-09-22
    Retest
    Not yet
    AUD-004 Low Fixed - awaiting retest

    Postcode field has no autocomplete token

    Location
    /checkout/delivery/ Postcode field
    User impact
    The browser cannot fill the postcode from a saved address, so people type it by hand, which costs most for people with motor or memory impairments.
    Description
    The Postcode input has no autocomplete attribute; the other address fields have the right tokens.
    Steps to reproduce
    1. Save an address in the browser.
    2. Go to /checkout/delivery/.
    3. Fill the form with the browser's autofill.
    Expected
    Postcode is filled from the saved address, because the field has autocomplete="postal-code".
    Actual
    Every field except Postcode is filled.
    Recommendation
    Add autocomplete="postal-code" to the Postcode input.
    Owner
    Checkout team
    Found on
    2026-09-22
    Retest
    Planned for 2026-10-06

    Know what it proves

    An audit is not a conformance claim

    This template records an audit: the problems found in a sample, criterion by criterion. A conformance claim is a different, stronger statement.

    WCAG 2.2: conformance claims
    QuestionAn audit, like this templateA conformance claim
    What it coversA sample of pages, screens and processes that you choose and list.Every page it names, each one whole, and every step of each process on them.
    What it saysThe problems found, how serious they are and how to fix them.That those pages meet every success criterion at the stated level.
    What it must includeThe scope, the method and the findings.Its date, the standard and version, the level, the pages it covers, and the technologies they rely on.
    What it is forFinding and fixing problems, and tracking progress.An accessibility statement, or a procurement or legal document.

    A scan alone proves nothing legal

    Automated tools find some failures quickly, but many criteria need a person to judge them. The W3C puts it plainly: Web accessibility evaluation tools can not determine accessibility, they can only assist in doing so.

    Whether a law applies to a site, and which standard it names, depends on the country and the organisation. A clean scan does not show that a site meets any law, and neither does this report on its own.

    Method

    How to run the audit

    The steps follow the W3C’s evaluation methodology, WCAG-EM.

    W3C: WCAG-EM
    1. Agree the scope. Which site, which standard and level, and who the report is for. Write it in section 2 of the report.
    2. Explore, then pick the sample. Include the most used pages, every kind of page, and each important process from start to finish.
    3. Scan each page first. Automated checks find the quick ones, such as missing labels and low contrast. Scan a page with the URL Analyzer
    4. Check the rest by hand. Use the keyboard, zoom, a screen reader and the checklist for everything a tool cannot judge. Open the accessibility checklist
    5. Log each problem as a row. One finding per problem and per place, with steps someone else can follow, and a severity from the scale.
    6. Write the report, then retest. Summarise, hand the findings to their owners, and test each fix again before you close it.

    Next

    Tools for the audit

    The tools and references to use alongside the template.

    Sources

    Where this comes from

    Written by Auric Artisan. Not yet reviewed by an independent accessibility specialist.

    Suggest a change to the template