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☐IDCriterionLevelHow 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)

Check☐IDCriterionLevelHow 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)

Check☐IDCriterionLevelHow 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)

Check☐IDCriterionLevelHow 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).