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)

CheckIDCriterionLevelHow to test
1.1.1Non-text ContentAEvery informative image has a text alternative. Decorative images use alt="".
1.2.1Audio-only and Video-only (Prerecorded)APrerecorded audio has a transcript. Prerecorded silent video has an audio description or text alternative.
1.2.2Captions (Prerecorded)ASynchronised captions exist for prerecorded video with audio.
1.2.3Audio Description or Media Alternative (Prerecorded)AAudio description or full-text alternative for prerecorded video.
1.2.4Captions (Live)AALive captions for live audio.
1.2.5Audio Description (Prerecorded)AAAudio description for prerecorded video.
1.3.1Info and RelationshipsAStructure conveyed visually is also in the markup (headings, lists, tables, form labels).
1.3.2Meaningful SequenceAReading order in the DOM matches the visual order.
1.3.3Sensory CharacteristicsAInstructions don't rely solely on shape, colour, size, or position ("click the round button").
1.3.4OrientationAAContent works in both portrait and landscape unless orientation is essential.
1.3.5Identify Input PurposeAAForm fields for common user info use autocomplete tokens (email, tel, name).
1.4.1Use of ColorAColour is never the only way to convey information (error states, required fields).
1.4.2Audio ControlAAudio that plays for more than 3 seconds can be paused, stopped, or muted.
1.4.3Contrast (Minimum)AA4.5:1 for body text, 3:1 for large text (≥24px or ≥19px bold).
1.4.4Resize TextAAText can be resized 200% without loss of content or function.
1.4.5Images of TextAAUse real text instead of images of text (exceptions: logos, essential visuals).
1.4.10ReflowAAContent reflows at 320px width without horizontal scrolling (except for images, maps, data tables).
1.4.11Non-text ContrastAAUI components and meaningful graphics have 3:1 contrast against adjacent colours.
1.4.12Text SpacingAANo loss of content when line-height, paragraph-spacing, letter-spacing, word-spacing are increased.
1.4.13Content on Hover or FocusAATooltips and popovers are dismissible, hoverable, persistent (don't disappear on mouse-out if user moves onto them).

2. Operable (20 criteria)

CheckIDCriterionLevelHow to test
2.1.1KeyboardAAll functionality is operable with the keyboard alone.
2.1.2No Keyboard TrapAKeyboard focus never gets stuck in a component.
2.1.4Character Key ShortcutsASingle-key shortcuts (e.g., "s" to save) are either off by default or remappable.
2.2.1Timing AdjustableATime limits are adjustable, extendable, or can be turned off (exceptions for real-time events).
2.2.2Pause, Stop, HideAMoving, blinking, auto-updating content can be paused.
2.3.1Three Flashes or Below ThresholdANo content flashes more than 3 times per second.
2.4.1Bypass BlocksASkip-to-content link or landmarks to bypass repeated navigation.
2.4.2Page TitledAEach page has a unique, descriptive <title>.
2.4.3Focus OrderATab order follows visual and logical reading order.
2.4.4Link Purpose (In Context)ALink text describes destination or is disambiguated by surrounding context.
2.4.5Multiple WaysAAMore than one way to reach a page (nav menu + search, or nav + sitemap).
2.4.6Headings and LabelsAAHeadings and labels describe topic or purpose.
2.4.7Focus VisibleAAKeyboard focus is visually indicated.
2.4.11Focus Not Obscured (Minimum)AAWhen an element is focused, it is not entirely hidden by author-created content (sticky headers, popovers).
2.5.1Pointer GesturesAFunctionality operable with single-point actions, not only multi-point or path-based gestures.
2.5.2Pointer CancellationADown-event doesn't trigger an action, or can be aborted by moving off before release.
2.5.3Label in NameAVisible label text is part of the accessible name (for speech-input users).
2.5.4Motion ActuationAFeatures triggered by device motion (shake) have an alternative UI control.
2.5.7Dragging MovementsAAAny drag operation has a single-pointer alternative (click-tap sequence).
2.5.8Target Size (Minimum)AAPointer targets are at least 24×24 CSS px (exceptions for inline text links).

3. Understandable (13 criteria)

CheckIDCriterionLevelHow to test
3.1.1Language of PageA<html lang="xx"> declared.
3.1.2Language of PartsAAPassages in a different language are marked with lang attribute.
3.2.1On FocusAFocusing an element doesn't trigger a context change (auto-submit, new window).
3.2.2On InputAChanging a form value doesn't trigger a context change without warning.
3.2.3Consistent NavigationAARepeated components appear in the same relative order across pages.
3.2.4Consistent IdentificationAAComponents with the same function are identified consistently (same icon, same label).
3.2.6Consistent HelpAHelp mechanisms (support email, contact form, FAQ link) appear in the same relative order across pages.
3.3.1Error IdentificationAInput errors are identified and described in text.
3.3.2Labels or InstructionsALabels or instructions provided when user input is required.
3.3.3Error SuggestionAAWhen an error is detected and suggestions are known, suggestions are given.
3.3.4Error Prevention (Legal, Financial, Data)AAFor transactions affecting legal / financial / personal data, one of: reversible, checked, or confirmed before submission.
3.3.7Redundant EntryAInformation previously entered or supplied is auto-filled or selectable in the same process.
3.3.8Accessible Authentication (Minimum)AALogin doesn't require a cognitive function test (remembering, transcribing) unless alternatives exist.

4. Robust (2 criteria)

CheckIDCriterionLevelHow to test
4.1.2Name, Role, ValueAAll UI components have programmatically determinable name, role, and value.
4.1.3Status MessagesAAStatus messages are announced without receiving focus (aria-live regions).