Guide
WCAG 2.2 AA in plain language
All 55 Level A and AA success criteria, one plain sentence each, with what automation can see and what a person still has to judge. This is the page every finding in our reports links back to.
What WCAG is
The Web Content Accessibility Guidelines are a technical standard published by the W3C. Version 2.2 came out in October 2023. It is organised into four principles, then guidelines, then success criteria — the testable statements that people mean when they talk about conformance.
Criteria come at three levels: A, AA, and AAA. Level AA is what regulation points at almost everywhere, and it means meeting every Level A and every Level AA criterion. That is the 55 listed here. Level AAA is not expected of a whole site.
WCAG 2.2 added six criteria to 2.1 and removed one, 4.1.1 Parsing, which is why the count differs from older articles.
How much of this a machine can check
This is the number the industry is coy about. Of the 55 criteria at Level AA:
- 2 can be decided by automation in both directions: it can prove a pass and prove a failure.
- 28 can be partly tested: automation can prove a failure, but a clean result means only “no automated failure found”.
- 25 have no automated signal at all. A person has to look.
That is why a scanner reporting “98% accessible” is not measuring conformance. It is measuring the rules it happens to run, which is a different thing with a friendlier number.
See which criteria your site fails today
Free, no account, no card. The Statement names what it could not check as clearly as what it could.
1. Perceivable
People must be able to take the content in, whichever senses they are using.
1.1.1 Non-text Content Level A
Anything that is not text — images, icons, charts, buttons made of pictures — needs a text alternative that conveys the same thing.
Automation can prove a failure, never a pass
How to check it: Read each alt text and confirm it conveys what the image is for. Automation only checks that the attribute exists.
1.2.1 Audio-only and Video-only (Prerecorded) Level A
A recording with only audio, or only video, needs a text version that says the same thing.
Only a person can decide this
How to check it: Watch or listen to each recording and confirm a text alternative exists and matches.
1.2.2 Captions (Prerecorded) Level A
Pre-recorded video with sound needs accurate, synchronised captions.
Only a person can decide this
How to check it: Play each video and check the captions are accurate, synchronised, and include speaker changes.
1.2.3 Audio Description or Media Alternative (Prerecorded) Level A
Pre-recorded video needs either an audio description of what is shown, or a full text alternative.
Only a person can decide this
How to check it: Check each video has either an audio description or a full text alternative.
1.2.4 Captions (Live) Level AA
Live video with sound needs real-time captions.
Only a person can decide this
How to check it: Check live streams carry real-time captions.
1.2.5 Audio Description (Prerecorded) Level AA
Pre-recorded video needs an audio description track describing what happens on screen.
Only a person can decide this
How to check it: Check pre-recorded video has an audio description track.
1.3.1 Info and Relationships Level A
Structure you can see must also exist in the markup: headings as headings, lists as lists, tables with real header cells.
Automation can prove a failure, never a pass
How to check it: Confirm headings, lists, and tables are marked up as such, and that visual grouping is reflected in the markup.
1.3.2 Meaningful Sequence Level A
The order content is read in must make sense, not just the order it appears on screen.
Automation can prove a failure, never a pass
How to check it: Turn off CSS, or read the DOM order, and confirm the content still makes sense in sequence.
1.3.3 Sensory Characteristics Level A
Instructions must not rely only on shape, size, position, or sound — never just "the button on the right".
Only a person can decide this
How to check it: Read the instructions and confirm none rely only on shape, size, or position, such as "the button on the right".
1.3.4 Orientation Level AA
The page must work in both portrait and landscape, unless the orientation is essential.
Automation can prove a failure, never a pass
How to check it: Rotate a phone or tablet and confirm the content works in both portrait and landscape.
1.3.5 Identify Input Purpose Level AA
Fields asking for the user’s own information must say what they collect, so a browser can fill them in.
Automation can prove a failure, never a pass
How to check it: Check that name, email, and address fields carry the right autocomplete values.
1.4.1 Use of Color Level A
Colour must never be the only way something is communicated, such as errors shown only in red.
Only a person can decide this
How to check it: Look for meaning carried by colour alone, such as required fields shown only in red.
1.4.2 Audio Control Level A
Audio that plays automatically for more than three seconds needs a way to stop it.
Automation can prove a failure, never a pass
How to check it: Load the page and confirm nothing plays audio for more than three seconds without a way to stop it.
1.4.3 Contrast (Minimum) Level AA
Text needs enough contrast against its background: 4.5:1 normally, 3:1 for large text.
Automation can prove a failure, never a pass
How to check it: Check the text we could not measure: text over images, video, and anything drawn on a canvas.
1.4.4 Resize Text Level AA
Text must stay readable and usable when zoomed to 200%.
Automation can prove a failure, never a pass
How to check it: Zoom the browser to 200% and confirm nothing is cut off or overlapping.
1.4.5 Images of Text Level AA
Use real text rather than a picture of text, unless the exact presentation is essential.
Only a person can decide this
How to check it: Find images that contain text and confirm real text could have been used instead.
1.4.10 Reflow Level AA
The page must work in a narrow window, about 320 pixels wide, without side-to-side scrolling.
Automation can prove a failure, never a pass
How to check it: Narrow the window to 320 pixels wide and confirm there is no horizontal scrolling.
1.4.11 Non-text Contrast Level AA
Controls, their boundaries, and meaningful graphics need 3:1 contrast against what is behind them.
Only a person can decide this
How to check it: Measure contrast of button borders, icons, and focus indicators against their background.
1.4.12 Text Spacing Level AA
Text must not be clipped or overlapped when a reader increases line height, letter spacing, or word spacing.
Automation can prove a failure, never a pass
How to check it: Increase line height, letter spacing, and word spacing, and confirm no text is clipped.
1.4.13 Content on Hover or Focus Level AA
Tooltips and popovers must be dismissible, must stay visible while the pointer moves to them, and must not vanish on their own.
Only a person can decide this
How to check it: Hover and focus each tooltip or popover, then check it can be dismissed and stays visible while the pointer moves to it.
2. Operable
People must be able to work the interface, whichever input they are using.
2.1.1 Keyboard Level A
Everything must be operable with a keyboard alone.
Automation can prove a failure, never a pass
How to check it: Unplug the mouse. Reach and operate every control with the keyboard alone.
2.1.2 No Keyboard Trap Level A
Keyboard focus must never get stuck anywhere it cannot leave.
Automation can prove a failure, never a pass
How to check it: Tab through the whole page, including any dialog, and confirm focus never gets stuck.
2.1.4 Character Key Shortcuts Level A
Single-key shortcuts must be switchable off or remappable, or only active when a control has focus.
Only a person can decide this
How to check it: Try single-key shortcuts and confirm they can be turned off or remapped.
2.2.1 Timing Adjustable Level A
Any time limit must be adjustable, extendable, or switchable off.
Automation can prove a failure, never a pass
How to check it: Find any time limit, such as a session timeout, and confirm it can be extended or turned off.
2.2.2 Pause, Stop, Hide Level A
Anything that moves, blinks, scrolls, or updates on its own for more than five seconds needs a pause control.
Automation can prove a failure, never a pass
How to check it: Confirm anything that moves, blinks, or auto-updates can be paused or stopped.
2.3.1 Three Flashes or Below Threshold Level A
Nothing may flash more than three times in one second.
Only a person can decide this
How to check it: Watch for anything that flashes more than three times a second.
2.4.1 Bypass Blocks Level A
There must be a way to skip repeated blocks, such as a skip link past the navigation.
Automation can prove a failure, never a pass
How to check it: Tab from the top of the page and confirm the skip link appears, takes focus, and works.
2.4.2 Page Titled Level A
Every page needs a title that says what the page is.
Automation can decide this
2.4.3 Focus Order Level A
Tab order must follow the order that preserves meaning, which is normally the visual reading order.
Automation can prove a failure, never a pass
How to check it: Tab through the page and confirm the focus order matches the visual reading order.
2.4.4 Link Purpose (In Context) Level A
The purpose of every link must be clear from its own text, or from its immediate context.
Automation can prove a failure, never a pass
How to check it: Read each link out of context and confirm its purpose is still clear.
2.4.5 Multiple Ways Level AA
There must be more than one way to reach a page, such as a menu plus search or a sitemap.
Only a person can decide this
How to check it: Confirm there is more than one way to find a page, such as search plus a menu or sitemap.
2.4.6 Headings and Labels Level AA
Headings and labels must describe what they head or label.
Automation can prove a failure, never a pass
How to check it: Read each heading and label and confirm it describes the content or the field.
2.4.7 Focus Visible Level AA
The element with keyboard focus must always be visibly marked.
Automation can prove a failure, never a pass
How to check it: Tab through every control and confirm you can always see which one has focus.
2.4.11 Focus Not Obscured (Minimum) Level AA
The focused element must not be hidden behind a sticky header, a cookie banner, or anything else.
Only a person can decide this
How to check it: Tab through the page and check the focused element is never hidden behind a sticky header or cookie banner.
2.5.1 Pointer Gestures Level A
Anything needing a swipe, pinch, or multi-finger gesture needs a single-tap alternative.
Only a person can decide this
How to check it: Check any swipe, pinch, or drag has a single-pointer alternative.
2.5.2 Pointer Cancellation Level A
Actions must fire on release, not on press, and must be abortable.
Only a person can decide this
How to check it: Confirm actions fire on release, not on press, and can be aborted.
2.5.3 Label in Name Level A
A control’s accessible name must contain the text a user can see on it, so speech control works.
Automation can prove a failure, never a pass
How to check it: For controls with visible text, confirm the accessible name starts with that same text.
2.5.4 Motion Actuation Level A
Anything triggered by shaking or tilting a device needs a normal control too.
Only a person can decide this
How to check it: Check any shake or tilt gesture has a normal control as well.
2.5.7 Dragging Movements Level AA
Anything needing a drag needs a way to do it with a single click or tap instead.
Only a person can decide this
How to check it: Check every drag-and-drop has a click-based alternative.
2.5.8 Target Size (Minimum) Level AA
Targets must be at least 24 by 24 pixels, or spaced far enough apart to be equivalent.
Automation can prove a failure, never a pass
How to check it: Measure tap targets and confirm they are at least 24 by 24 pixels, or adequately spaced.
3. Understandable
Content and behaviour must be predictable, and mistakes must be recoverable.
3.1.1 Language of Page Level A
The page must declare which language it is written in.
Automation can decide this
3.1.2 Language of Parts Level AA
A passage in another language must declare that language.
Automation can prove a failure, never a pass
How to check it: Find any passage in another language and confirm it carries its own lang attribute.
3.2.1 On Focus Level A
Nothing may change context just because an element received focus.
Automation can prove a failure, never a pass
How to check it: Tab into each control and confirm nothing changes context just from receiving focus.
3.2.2 On Input Level A
Changing a form control must not submit the form or navigate away without warning.
Automation can prove a failure, never a pass
How to check it: Change each form control and confirm nothing submits or navigates without warning.
3.2.3 Consistent Navigation Level AA
Navigation that repeats across pages must stay in the same order.
Only a person can decide this
How to check it: Compare navigation across pages and confirm the order stays the same.
3.2.4 Consistent Identification Level AA
The same function must be named the same way everywhere it appears.
Only a person can decide this
How to check it: Confirm the same function is named the same way everywhere.
3.2.6 Consistent Help Level A
Help — contact details, a chat widget, a help link — must appear in the same place on every page that has it.
Only a person can decide this
How to check it: Confirm help links appear in the same place on every page that has them.
3.3.1 Error Identification Level A
When a form is submitted with an error, the error must be identified in text.
Automation can prove a failure, never a pass
How to check it: Submit a form with errors and confirm each error is identified in text.
3.3.2 Labels or Instructions Level A
Every field needs a label, and instructions where the expected format is not obvious.
Automation can prove a failure, never a pass
How to check it: Confirm every field has instructions where the expected format is not obvious.
3.3.3 Error Suggestion Level AA
When an error is detected and a fix is known, the message must suggest it.
Only a person can decide this
How to check it: Trigger form errors and confirm the message suggests how to fix them.
3.3.4 Error Prevention (Legal, Financial, Data) Level AA
Anything legal, financial, or destructive must be reversible, checked, or confirmed before it commits.
Only a person can decide this
How to check it: For anything legal, financial, or destructive, confirm it can be reversed, checked, or confirmed.
3.3.7 Redundant Entry Level A
A multi-step process must not ask for the same information twice without offering it back.
Only a person can decide this
How to check it: Work through a multi-step form and check it does not ask for the same information twice.
3.3.8 Accessible Authentication (Minimum) Level AA
Signing in must not require solving a puzzle or recalling something, unless an alternative exists.
Only a person can decide this
How to check it: Confirm sign-in does not require solving a puzzle or recalling something, with no alternative.
4. Robust
The markup must work with assistive technology, now and after it updates.
4.1.2 Name, Role, Value Level A
Every control must expose its name, its role, and its current state to assistive technology.
Automation can prove a failure, never a pass
How to check it: Use a screen reader on each custom control and confirm its name, role, and state are announced.
4.1.3 Status Messages Level AA
Messages that appear without moving focus, such as "3 results found", must be announced.
Automation can prove a failure, never a pass
How to check it: Trigger a status message, such as "3 results found", and confirm a screen reader announces it without moving focus.
Where to go from here
The criteria above are summaries. When a decision matters, read the criterion itself in the WCAG 2.2 specification, and the Understanding documents, which explain the intent behind each one.
For the checks a machine can run, our rule reference has a page per rule with what it means and how to fix it.