ADA website accessibility checklist (WCAG 2.1 AA)
Every success criterion of WCAG 2.1 levels A and AA, with what to check and whether an automated tool can help. Tick each one when your site passes it.
Free, without e-mail. Print it or share the link.
- Success criteria
- 49
- Partly automated
- 21
- Manual review
- 28
How to use this checklist
- Run an automated check first: it finds the problems marked "partly automated" quickly.
- Then go through every criterion by hand with a keyboard, a screen reader and zoom at 200% and 400%.
- "Partly automated" means a tool tests part of the criterion; a person still has to confirm the rest.
Using this checklist does not certify that a site complies with any law.
1. Perceivable
| No. | Success criterion | What to check | Testing |
|---|---|---|---|
| 1.1.1 | Non-text Content Level A · WCAG 2.0 | WCAG 1.1.1 asks for a text alternative for every image, icon and image button (level A). How to write alt text, when it may be empty, the exceptions and tests. | Partly automated |
| 1.2.1 | Audio-only and Video-only (Prerecorded) Level A · WCAG 2.0 | WCAG 1.2.1 asks for a transcript for recorded audio and a text or audio alternative for silent video (level A). What counts, the exception and how to check it. | Manual review |
| 1.2.2 | Captions (Prerecorded) Level A · WCAG 2.0 | WCAG 1.2.2 asks for captions on all prerecorded video with sound (level A). What captions must include, why auto-captions are not enough and how to check them. | Partly automated |
| 1.2.3 | Audio Description or Media Alternative (Prerecorded) Level A · WCAG 2.0 | WCAG 1.2.3 asks for audio description or a full text alternative for recorded video (level A). What each option means, when none is needed and how to check it. | Manual review |
| 1.2.4 | Captions (Live) Level AA · WCAG 2.0 | WCAG 1.2.4 asks for captions on live video with sound, such as webinars and live shopping (level AA). What counts as live, what is out of scope, how to check. | Manual review |
| 1.2.5 | Audio Description (Prerecorded) Level AA · WCAG 2.0 | WCAG 1.2.5 asks for audio description of all prerecorded video with sound (level AA). When it is not needed, extended description and how to check your videos. | Manual review |
| 1.3.1 | Info and Relationships Level A · WCAG 2.0 | WCAG 1.3.1 asks that headings, lists, tables and form labels are marked up in code, not only styled (level A). Typical failures, how to test 1.3.1 and fix it. | Partly automated |
| 1.3.2 | Meaningful Sequence Level A · WCAG 2.0 | WCAG 1.3.2 asks that the order of content in the code keeps its meaning when read aloud (level A). Common CSS layout failures, how to test the order and fix it. | Manual review |
| 1.3.3 | Sensory Characteristics Level A · WCAG 2.0 | WCAG 1.3.3: instructions must not rely only on shape, colour, size, position or sound, like "click the round button" (level A). Examples, how to check and fix. | Manual review |
| 1.3.4 | Orientation Level AA · WCAG 2.1 | WCAG 1.3.4 says a site must not lock its view to portrait or landscape unless one orientation is essential (level AA). What it means, how to test and fix it. | Partly automated |
| 1.3.5 | Identify Input Purpose Level AA · WCAG 2.1 | WCAG 1.3.5 asks that fields for the user's own data, such as name or email, declare their purpose with autocomplete (level AA). Which fields and how to test. | Partly automated |
| 1.4.1 | Use of Color Level A · WCAG 2.0 | WCAG 1.4.1: colour must not be the only visual way to show information, like links, errors or stock status (level A). Link rules, examples, testing and fixes. | Partly automated |
| 1.4.2 | Audio Control Level A · WCAG 2.0 | WCAG 1.4.2 says audio that plays automatically for more than 3 seconds needs a way to pause, stop or control its volume (level A). Failures, testing and fixes. | Partly automated |
| 1.4.3 | Contrast (Minimum) Level AA · WCAG 2.0 | WCAG 1.4.3 asks for a contrast ratio of at least 4.5:1 for text and 3:1 for large text (level AA). What counts as large text, the exceptions and how to test it. | Partly automated |
| 1.4.4 | Resize Text Level AA · WCAG 2.0 | WCAG 1.4.4 asks that text can be zoomed to 200% without losing content or functions (level AA). Why blocking zoom fails, the exceptions and how to test it. | Partly automated |
| 1.4.5 | Images of Text Level AA · WCAG 2.0 | WCAG 1.4.5 asks for real text instead of pictures of text where possible (level AA). Exceptions for logos and essential text, examples, how to check and fix. | Manual review |
| 1.4.10 | Reflow Level AA · WCAG 2.1 | WCAG 1.4.10 asks that pages work at 320 CSS px width, or 400% zoom, without horizontal scrolling (level AA). The exceptions, how to test reflow and fix it. | Manual review |
| 1.4.11 | Non-text Contrast Level AA · WCAG 2.1 | WCAG 1.4.11 asks for 3:1 contrast for icons, form field borders, focus indicators and chart parts (level AA). The exceptions, how to check and fix it. | Manual review |
| 1.4.12 | Text Spacing Level AA · WCAG 2.1 | WCAG 1.4.12: text must still work when users set 1.5 line height, 2× paragraph, 0.12 letter and 0.16 word spacing (level AA). How to test it and fix clipping. | Partly automated |
| 1.4.13 | Content on Hover or Focus Level AA · WCAG 2.1 | WCAG 1.4.13 asks that tooltips, mega menus and popups shown on hover or focus are dismissible, hoverable and persistent (level AA). What it means, how to test. | Manual review |
2. Operable
| No. | Success criterion | What to check | Testing |
|---|---|---|---|
| 2.1.1 | Keyboard Level A · WCAG 2.0 | WCAG 2.1.1 asks that every function of a page works with a keyboard alone (level A). What it covers, the one exception and how to test keyboard navigation. | Partly automated |
| 2.1.2 | No Keyboard Trap Level A · WCAG 2.0 | WCAG 2.1.2 says keyboard focus that enters a component must be able to leave it by keyboard alone (level A). Typical keyboard traps and how to test them. | Manual review |
| 2.1.4 | Character Key Shortcuts Level A · WCAG 2.1 | WCAG 2.1.4: single-character keyboard shortcuts must be possible to turn off, remap or limit to a focused control (level A). Examples and how to test. | Manual review |
| 2.2.1 | Timing Adjustable Level A · WCAG 2.0 | WCAG 2.2.1 asks that users can turn off, adjust or extend time limits, with a warning and 20 seconds to extend (level A). Exceptions, timeouts and tests. | Partly automated |
| 2.2.2 | Pause, Stop, Hide Level A · WCAG 2.0 | WCAG 2.2.2 asks for a way to pause, stop or hide content that moves for over five seconds or auto-updates (level A). Carousels, tickers and testing. | Partly automated |
| 2.3.1 | Three Flashes or Below Threshold Level A · WCAG 2.0 | WCAG 2.3.1 forbids content that flashes more than three times in any one second unless it is below the flash thresholds (level A). What counts, how to test. | Manual review |
| 2.4.1 | Bypass Blocks Level A · WCAG 2.0 | WCAG 2.4.1 asks for a way to skip blocks repeated on every page, such as the menu (level A). Skip links, landmarks, headings, shop failures and testing. | Partly automated |
| 2.4.2 | Page Titled Level A · WCAG 2.0 | WCAG 2.4.2 asks every web page to have a title that describes its topic or purpose (level A). Good titles for shops and single-page apps, and how to test. | Partly automated |
| 2.4.3 | Focus Order Level A · WCAG 2.0 | WCAG 2.4.3 asks that keyboard focus moves in an order that keeps meaning and operation intact (level A). Positive tabindex, popups and how to test. | Manual review |
| 2.4.4 | Link Purpose (In Context) Level A · WCAG 2.0 | WCAG 2.4.4 asks that the purpose of each link is clear from its text or context (level A). Why "Read more" and empty icon links fail, and how to fix them. | Partly automated |
| 2.4.5 | Multiple Ways Level AA · WCAG 2.0 | WCAG 2.4.5 asks for more than one way to find a page, such as menu plus search or a site map (level AA). The checkout exception, examples and testing. | Manual review |
| 2.4.6 | Headings and Labels Level AA · WCAG 2.0 | WCAG 2.4.6 asks that headings and labels describe their topic or purpose (level AA). What it does not require, heading order, form labels and testing. | Manual review |
| 2.4.7 | Focus Visible Level AA · WCAG 2.0 | WCAG 2.4.7 asks that keyboard focus is always visible (level AA). Why outline: none breaks it, how it differs from 2.4.13 and how to test the indicator. | Manual review |
| 2.5.1 | Pointer Gestures Level A · WCAG 2.1 | WCAG 2.5.1 asks that pinch, swipe and other multipoint or path-based gestures also work with a single tap or click (level A). Examples and testing. | Manual review |
| 2.5.2 | Pointer Cancellation Level A · WCAG 2.1 | WCAG 2.5.2 asks that pointer actions do not fire on press, so accidental taps can be cancelled or undone (level A). The four options and how to test. | Manual review |
| 2.5.3 | Label in Name Level A · WCAG 2.1 | WCAG 2.5.3 asks that the accessible name of a control contains its visible label text (level A), so voice users can say what they see. Failures and fixes. | Partly automated |
| 2.5.4 | Motion Actuation Level A · WCAG 2.1 | WCAG 2.5.4: features triggered by shaking or tilting a device must also work with on-screen controls, and motion can be turned off (level A). Examples. | Manual review |
3. Understandable
| No. | Success criterion | What to check | Testing |
|---|---|---|---|
| 3.1.1 | Language of Page Level A · WCAG 2.0 | WCAG 3.1.1 asks that the main language of every page can be read by software, usually via the html lang attribute (level A). What it means and how to check it. | Partly automated |
| 3.1.2 | Language of Parts Level AA · WCAG 2.0 | WCAG 3.1.2 asks you to mark passages in another language with a lang attribute (level AA). The exceptions for names and terms, typical shop failures and fixes. | Partly automated |
| 3.2.1 | On Focus Level A · WCAG 2.0 | WCAG 3.2.1 says that moving focus to a control must not change the context, such as opening a window or a new page (level A). Shop examples and how to test it. | Manual review |
| 3.2.2 | On Input Level A · WCAG 2.0 | WCAG 3.2.2 says changing a field, checkbox or select must not change the context unless users were told first (level A). Shop failures, testing and fixes. | Manual review |
| 3.2.3 | Consistent Navigation Level AA · WCAG 2.0 | WCAG 3.2.3 asks that menus and other navigation repeated across pages keep the same relative order (level AA). What it allows, shop failures and how to check. | Manual review |
| 3.2.4 | Consistent Identification Level AA · WCAG 2.0 | WCAG 3.2.4 asks that components with the same function are labelled the same way across a site (level AA). What counts, typical shop failures and how to check. | Manual review |
| 3.3.1 | Error Identification Level A · WCAG 2.0 | WCAG 3.3.1 asks that form errors are pointed out and described in text, including empty required fields (level A). Shop failures, how to test and how to fix. | Manual review |
| 3.3.2 | Labels or Instructions Level A · WCAG 2.0 | WCAG 3.3.2 asks for labels or instructions wherever a form expects input, optional fields included (level A). Placeholders, required fields and how to check. | Partly automated |
| 3.3.3 | Error Suggestion Level AA · WCAG 2.0 | WCAG 3.3.3 asks that when a form error is detected and a fix is known, the fix is suggested to the user (level AA). The security exception, examples and tests. | Manual review |
| 3.3.4 | Error Prevention (Legal, Financial, Data) Level AA · WCAG 2.0 | WCAG 3.3.4 asks that orders, payments and data deletion are reversible, checked or confirmed before they are final (level AA). What it means for a checkout. | Manual review |
4. Robust
| No. | Success criterion | What to check | Testing |
|---|---|---|---|
| 4.1.2 | Name, Role, Value Level A · WCAG 2.0 | WCAG 4.1.2 asks that every button, link and form control exposes its name, role and state to assistive technology (level A). ARIA failures in shops and fixes. | Partly automated |
| 4.1.3 | Status Messages Level AA · WCAG 2.1 | WCAG 4.1.3 asks that messages like "Added to cart" or "12 results" are announced by screen readers without moving focus (level AA). role=status, alert, fixes. | Manual review |
Automated check, not a full audit. Not legal advice.
Download the checklist as a PDF
Every success criterion of levels A and AA with what to check and a tick box. Free, with a link by e-mail.