WCAG 2.2 AA checklist

All 55 success criteria you need for WCAG 2.2 Level AA (31 at A, 24 at AA), each in plain language with a quick way to test it. Tick them off as you go: your progress stays in this browser, and nothing is sent anywhere.

0 of 55 done.
CriterionWhat it meansHow to check
1.1.1 Non-text Content AEvery meaningful image, icon and control has a text alternative; decorative ones are hidden from screen readers.Check alt on each img (alt="" for decoration) and accessible names on icon buttons.
1.2.1 Audio-only and Video-only (Prerecorded) ARecorded audio has a transcript; silent video has a transcript or audio track.Find each media file and its alternative.
1.2.2 Captions (Prerecorded) ARecorded video with sound has accurate captions.Play with captions on; check they match speech and name speakers.
1.2.3 Audio Description or Media Alternative (Prerecorded) AImportant visual-only information in video is described, or a full text alternative exists.Watch without looking: is anything important missed?
1.2.4 Captions (Live) AALive video with sound has live captions.Check your streaming setup produces captions.
1.2.5 Audio Description (Prerecorded) AARecorded video has audio description of important visual content.Look for a described version or description track.
1.3.1 Info and Relationships AHeadings, lists, tables and form labels are marked up as such, not just styled to look like it.Inspect the HTML or use a screen reader's headings and form lists.
1.3.2 Meaningful Sequence AThe reading order in the code makes sense.Turn CSS off, or read the page with a screen reader.
1.3.3 Sensory Characteristics AInstructions don't rely only on shape, position, color or sound ("click the round button on the right").Read the instructions and help text.
1.3.4 Orientation AAWorks in both portrait and landscape, unless one is essential.Rotate a phone or tablet.
1.3.5 Identify Input Purpose AAFields about the user (name, email, address) have the right autocomplete attribute.Inspect personal-data inputs for autocomplete.
1.4.1 Use of Color AColor is never the only way information is shown: errors, required fields, links in text, chart series.View in grayscale or with the color blindness simulator.
1.4.2 Audio Control AAudio that plays by itself for more than 3 seconds can be paused or muted.Load pages with sound.
1.4.3 Contrast (Minimum) AAText contrast is at least 4.5:1, or 3:1 for large text.Check each text color pair. The rules, checker.
1.4.4 Resize Text AAText can be zoomed to 200% without losing content or function.Zoom the browser to 200%.
1.4.5 Images of Text AAReal text is used instead of pictures of text, except logos.Look for text inside images.
1.4.10 Reflow AAAt 320 CSS pixels wide (400% zoom on a 1280px screen), content fits without scrolling sideways.Zoom to 400% or set the window 320px wide.
1.4.11 Non-text Contrast AABorders of inputs and buttons, focus indicators, icons and chart parts have at least 3:1 contrast.Check component edges against their background.
1.4.12 Text Spacing AANothing is cut off when users increase line, letter, word and paragraph spacing.Apply a text-spacing bookmarklet and look for clipping.
1.4.13 Content on Hover or Focus AATooltips and popovers can be dismissed with Esc, can be hovered themselves, and stay until dismissed.Hover and focus every tooltip.
2.1.1 Keyboard AEverything works with a keyboard alone.Unplug the mouse; use Tab, Shift+Tab, Enter, Space, arrows.
2.1.2 No Keyboard Trap AKeyboard focus never gets stuck.Tab through every widget, modal and embed.
2.1.4 Character Key Shortcuts ASingle-key shortcuts can be turned off or remapped, or only work when a component has focus.List any single-letter shortcuts.
2.2.1 Timing Adjustable ATime limits can be turned off, adjusted or extended.Look for session timeouts and timed steps.
2.2.2 Pause, Stop, Hide AMoving, blinking or auto-updating content can be paused.Find carousels, animations, tickers.
2.3.1 Three Flashes or Below Threshold ANothing flashes more than three times a second.Review video and animation.
2.4.1 Bypass Blocks AA skip link or landmarks let keyboard users jump past repeated navigation.Press Tab on page load; look for "Skip to content".
2.4.2 Page Titled AEach page has a title describing it.Read the browser tab titles.
2.4.3 Focus Order ATab order follows a logical order.Tab through the page.
2.4.4 Link Purpose (In Context) AEach link's purpose is clear from its text or sentence ("read more" alone fails).List links with a screen reader.
2.4.5 Multiple Ways AAThere's more than one way to find pages: navigation plus search or a sitemap.Check the site's navigation options.
2.4.6 Headings and Labels AAHeadings and labels describe their content.Read the heading outline.
2.4.7 Focus Visible AAYou can always see which element has keyboard focus.Tab through; look for outline: none without a replacement.
2.4.11 Focus Not Obscured (Minimum) AAThe focused element isn't completely hidden by sticky headers, cookie banners or chat widgets.Tab through with every sticky element showing. New in 2.2.
2.5.1 Pointer Gestures AAnything done with multi-finger or path gestures can be done with a single tap or click.Check maps, sliders, carousels.
2.5.2 Pointer Cancellation AActions fire on release, not press, so users can slide off to cancel.Press a button, drag away, release.
2.5.3 Label in Name AA control's accessible name contains its visible label text.Compare visible labels with names in the accessibility tree.
2.5.4 Motion Actuation AShake or tilt features also have a normal control and can be turned off.Look for motion-triggered features.
2.5.7 Dragging Movements AAAnything done by dragging can also be done with single clicks.Try sortable lists, sliders, drag-to-upload. New in 2.2.
2.5.8 Target Size (Minimum) AAClick targets are at least 24×24 CSS pixels, or have enough space around them.Measure small icons and links. New in 2.2.
3.1.1 Language of Page AThe page's main language is set in <html lang>.Inspect the html element.
3.1.2 Language of Parts AAPassages in another language are marked with lang.Find quotes or phrases in other languages.
3.2.1 On Focus AFocusing an element doesn't change the page or context by itself.Tab through; nothing should submit or navigate.
3.2.2 On Input AChanging a setting doesn't unexpectedly change context (no auto-submitting selects).Change every select, checkbox and field.
3.2.3 Consistent Navigation AARepeated navigation appears in the same order on every page.Compare a few pages.
3.2.4 Consistent Identification AAThe same function has the same name everywhere.Compare icon and button labels across pages.
3.2.6 Consistent Help AHelp (contact, chat, FAQ) appears in the same place on every page that has it.Compare pages. New in 2.2.
3.3.1 Error Identification AForm errors are described in text and point to the field.Submit forms with mistakes.
3.3.2 Labels or Instructions AFields have visible labels, and required formats are explained.Check every form field.
3.3.3 Error Suggestion AAErrors suggest how to fix them when possible.Read each error message.
3.3.4 Error Prevention (Legal, Financial, Data) AALegal, payment and data-deleting submissions can be reviewed, corrected or undone.Walk through checkout and account deletion.
3.3.7 Redundant Entry AUsers aren't asked to type the same information twice in one process.Walk through multi-step forms. New in 2.2.
3.3.8 Accessible Authentication (Minimum) AALogging in doesn't require a memory or puzzle test; pasting passwords and password managers work.Try pasting into the password field; check CAPTCHAs. New in 2.2.
4.1.2 Name, Role, Value ACustom controls expose a name, role and state to assistive technology.Inspect custom widgets in the accessibility tree.
4.1.3 Status Messages AAStatus updates ("Saved", "3 results") are announced without moving focus.Trigger messages with a screen reader on; check for role=status or aria-live.

What changed in WCAG 2.2

How to use it

Test a handful of representative pages rather than every page: the home page, a content page, a form, checkout or sign-up, and anything unusual like a map or a data table. Automated tools find a minority of issues quickly; everything with "Tab", "screen reader" or "read" in its test column needs a person. A step-by-step audit process is here, and how to write the result up as an ACR/VPAT is here.

ContrastForge (Chrome, in review)

Handles the contrast rows of this list, 1.4.3 and 1.4.11, across whole pages: it checks every visible text element, composites transparent layers and gradients, suggests the nearest passing color, and exports the findings as a report with your logo. Checking a pair and five full-page scans a month are free.

See ContrastForge

More on this topic: Accessible color palette generator