Free resource · CC-BY · Always updated
WCAG 2.2 Level AA checklist
All 55 Level A + AA success criteria, with plain-English test steps. Print-friendly— use your browser's print dialog (⌘P / Ctrl-P) to save as PDF. Published by axle · updated 21 April 2026.
1. Perceivable (20 criteria)
| Check☐ | ID | Criterion | Level | How to test |
|---|---|---|---|---|
| ☐ | 1.1.1 | Non-text Content | A | Every informative image has a text alternative. Decorative images use alt="". |
| ☐ | 1.2.1 | Audio-only and Video-only (Prerecorded) | A | Prerecorded audio has a transcript. Prerecorded silent video has an audio description or text alternative. |
| ☐ | 1.2.2 | Captions (Prerecorded) | A | Synchronised captions exist for prerecorded video with audio. |
| ☐ | 1.2.3 | Audio Description or Media Alternative (Prerecorded) | A | Audio description or full-text alternative for prerecorded video. |
| ☐ | 1.2.4 | Captions (Live) | AA | Live captions for live audio. |
| ☐ | 1.2.5 | Audio Description (Prerecorded) | AA | Audio description for prerecorded video. |
| ☐ | 1.3.1 | Info and Relationships | A | Structure conveyed visually is also in the markup (headings, lists, tables, form labels). |
| ☐ | 1.3.2 | Meaningful Sequence | A | Reading order in the DOM matches the visual order. |
| ☐ | 1.3.3 | Sensory Characteristics | A | Instructions don't rely solely on shape, colour, size, or position ("click the round button"). |
| ☐ | 1.3.4 | Orientation | AA | Content works in both portrait and landscape unless orientation is essential. |
| ☐ | 1.3.5 | Identify Input Purpose | AA | Form fields for common user info use autocomplete tokens (email, tel, name). |
| ☐ | 1.4.1 | Use of Color | A | Colour is never the only way to convey information (error states, required fields). |
| ☐ | 1.4.2 | Audio Control | A | Audio that plays for more than 3 seconds can be paused, stopped, or muted. |
| ☐ | 1.4.3 | Contrast (Minimum) | AA | 4.5:1 for body text, 3:1 for large text (≥24px or ≥19px bold). |
| ☐ | 1.4.4 | Resize Text | AA | Text can be resized 200% without loss of content or function. |
| ☐ | 1.4.5 | Images of Text | AA | Use real text instead of images of text (exceptions: logos, essential visuals). |
| ☐ | 1.4.10 | Reflow | AA | Content reflows at 320px width without horizontal scrolling (except for images, maps, data tables). |
| ☐ | 1.4.11 | Non-text Contrast | AA | UI components and meaningful graphics have 3:1 contrast against adjacent colours. |
| ☐ | 1.4.12 | Text Spacing | AA | No loss of content when line-height, paragraph-spacing, letter-spacing, word-spacing are increased. |
| ☐ | 1.4.13 | Content on Hover or Focus | AA | Tooltips and popovers are dismissible, hoverable, persistent (don't disappear on mouse-out if user moves onto them). |
2. Operable (20 criteria)
| Check☐ | ID | Criterion | Level | How to test |
|---|---|---|---|---|
| ☐ | 2.1.1 | Keyboard | A | All functionality is operable with the keyboard alone. |
| ☐ | 2.1.2 | No Keyboard Trap | A | Keyboard focus never gets stuck in a component. |
| ☐ | 2.1.4 | Character Key Shortcuts | A | Single-key shortcuts (e.g., "s" to save) are either off by default or remappable. |
| ☐ | 2.2.1 | Timing Adjustable | A | Time limits are adjustable, extendable, or can be turned off (exceptions for real-time events). |
| ☐ | 2.2.2 | Pause, Stop, Hide | A | Moving, blinking, auto-updating content can be paused. |
| ☐ | 2.3.1 | Three Flashes or Below Threshold | A | No content flashes more than 3 times per second. |
| ☐ | 2.4.1 | Bypass Blocks | A | Skip-to-content link or landmarks to bypass repeated navigation. |
| ☐ | 2.4.2 | Page Titled | A | Each page has a unique, descriptive <title>. |
| ☐ | 2.4.3 | Focus Order | A | Tab order follows visual and logical reading order. |
| ☐ | 2.4.4 | Link Purpose (In Context) | A | Link text describes destination or is disambiguated by surrounding context. |
| ☐ | 2.4.5 | Multiple Ways | AA | More than one way to reach a page (nav menu + search, or nav + sitemap). |
| ☐ | 2.4.6 | Headings and Labels | AA | Headings and labels describe topic or purpose. |
| ☐ | 2.4.7 | Focus Visible | AA | Keyboard focus is visually indicated. |
| ☐ | 2.4.11 | Focus Not Obscured (Minimum) | AA | When an element is focused, it is not entirely hidden by author-created content (sticky headers, popovers). |
| ☐ | 2.5.1 | Pointer Gestures | A | Functionality operable with single-point actions, not only multi-point or path-based gestures. |
| ☐ | 2.5.2 | Pointer Cancellation | A | Down-event doesn't trigger an action, or can be aborted by moving off before release. |
| ☐ | 2.5.3 | Label in Name | A | Visible label text is part of the accessible name (for speech-input users). |
| ☐ | 2.5.4 | Motion Actuation | A | Features triggered by device motion (shake) have an alternative UI control. |
| ☐ | 2.5.7 | Dragging Movements | AA | Any drag operation has a single-pointer alternative (click-tap sequence). |
| ☐ | 2.5.8 | Target Size (Minimum) | AA | Pointer targets are at least 24×24 CSS px (exceptions for inline text links). |
3. Understandable (13 criteria)
| Check☐ | ID | Criterion | Level | How to test |
|---|---|---|---|---|
| ☐ | 3.1.1 | Language of Page | A | <html lang="xx"> declared. |
| ☐ | 3.1.2 | Language of Parts | AA | Passages in a different language are marked with lang attribute. |
| ☐ | 3.2.1 | On Focus | A | Focusing an element doesn't trigger a context change (auto-submit, new window). |
| ☐ | 3.2.2 | On Input | A | Changing a form value doesn't trigger a context change without warning. |
| ☐ | 3.2.3 | Consistent Navigation | AA | Repeated components appear in the same relative order across pages. |
| ☐ | 3.2.4 | Consistent Identification | AA | Components with the same function are identified consistently (same icon, same label). |
| ☐ | 3.2.6 | Consistent Help | A | Help mechanisms (support email, contact form, FAQ link) appear in the same relative order across pages. |
| ☐ | 3.3.1 | Error Identification | A | Input errors are identified and described in text. |
| ☐ | 3.3.2 | Labels or Instructions | A | Labels or instructions provided when user input is required. |
| ☐ | 3.3.3 | Error Suggestion | AA | When an error is detected and suggestions are known, suggestions are given. |
| ☐ | 3.3.4 | Error Prevention (Legal, Financial, Data) | AA | For transactions affecting legal / financial / personal data, one of: reversible, checked, or confirmed before submission. |
| ☐ | 3.3.7 | Redundant Entry | A | Information previously entered or supplied is auto-filled or selectable in the same process. |
| ☐ | 3.3.8 | Accessible Authentication (Minimum) | AA | Login doesn't require a cognitive function test (remembering, transcribing) unless alternatives exist. |
4. Robust (2 criteria)
| Check☐ | ID | Criterion | Level | How to test |
|---|---|---|---|---|
| ☐ | 4.1.2 | Name, Role, Value | A | All UI components have programmatically determinable name, role, and value. |
| ☐ | 4.1.3 | Status Messages | AA | Status messages are announced without receiving focus (aria-live regions). |