The WCAG 2.2 guide: levels, criteria and common failures
What the Web Content Accessibility Guidelines actually require, what each conformance level means, what 2.2 added, and which of it a machine can check for you.
Last updated
What WCAG is
The Web Content Accessibility Guidelines are published by the World Wide Web Consortium. They are not law in themselves; they are the technical standard that accessibility law, procurement policy and litigation all end up pointing at, because they are the only widely agreed, testable definition of what accessible means.
WCAG 2.2 is the current Recommendation, published in October 2023. It is backwards compatible: meeting 2.2 means meeting 2.1 and 2.0 as well. Regulations differ on which version they name — some still cite 2.0 or 2.1 — so check the rule that applies to you rather than assuming. This product tests against 2.2 Level AA.
The standard is organised as four principles, each holding guidelines, each holding numbered success criteria that are individually testable and assigned a level of A, AA or AAA. When someone says “4.1.2”, that is a success criterion.
The World Health Organization estimates that about 1.3 billion people — roughly 16% of the world — live with a significant disability. Accessibility work is not a minority accommodation, and most of it improves the interface for everybody.
The four principles
Every success criterion lives under one of these four. The numbers below are the guidelines inside each principle.
- P
Perceivable
Information and interface components must be presentable in ways people can perceive — if it can only be seen, or only be heard, someone is shut out.
- 1.1 Text alternatives for non-text content
- 1.2 Captions, transcripts and audio description for media
- 1.3 Structure and relationships that survive being re-presented
- 1.4 Distinguishable — contrast, resize, reflow, audio control
- O
Operable
Every control must be operable by every input method — including a keyboard alone, which is how a screen-reader user drives a page.
- 2.1 Keyboard accessible, with no traps
- 2.2 Enough time to read and act
- 2.3 Nothing that flashes into a seizure
- 2.4 Navigable — skip links, titles, focus order, visible focus
- 2.5 Input modalities — pointer, motion, target size, dragging
- U
Understandable
Content and behaviour must be predictable. A page that changes under you, or reports an error without saying what to do, fails people well beyond its target audience.
- 3.1 Readable — language of the page and of passages
- 3.2 Predictable — no surprise context changes
- 3.3 Input assistance — identify errors, suggest fixes, prevent loss
- R
Robust
Markup must survive contact with assistive technology it was never tested against. This is the principle a custom component breaks first.
- 4.1 Compatible — valid name, role and value for every control
Conformance levels
Three levels, each inclusive of the one below. They are not a quality scale, which is why they are not colour-coded here.
Level
A
The floor. Fail one of these and a whole group of people is locked out rather than inconvenienced.
- 1.1.1
- Non-text content has a text alternative
- 2.1.1
- Everything works from the keyboard
- 2.1.2
- No keyboard trap
Level
AA
What regulation and procurement generally ask for, and what this product tests against by default.
- 1.4.3
- Contrast of at least 4.5:1 for body text
- 2.4.7
- Focus is visible
- 3.3.3
- Errors suggest a correction
Level
AAA
A higher bar for specific content. W3C does not recommend it as a site-wide target, because some criteria cannot be met by some kinds of content at all.
- 1.4.6
- Enhanced contrast of 7:1
- 1.2.6
- Sign language for prerecorded audio
- 1.2.7
- Extended audio description
Aim for AA. It is the level regulation and procurement generally ask for. Conforming to it is not the same as being legally compliant — that depends on which rule applies to you and on things no standard measures — but it is the thing everyone agrees to measure.
What 2.2 added
Nine success criteria arrived with 2.2 in October 2023. Six are A or AA, so they are inside the bar most teams are already aiming at.
| Criterion | Level | What it requires |
|---|---|---|
| 2.4.11Focus Not Obscured (Minimum) | AA | A sticky header must not cover the element you just tabbed to. |
| 2.5.7Dragging Movements | AA | Anything draggable needs a single-pointer alternative — a reorder that only works by drag excludes a lot of people. |
| 2.5.8Target Size (Minimum) | AA | Controls are at least 24 by 24 CSS pixels, or spaced as though they were. |
| 3.2.6Consistent Help | A | If help is offered, it sits in the same place on every page that offers it. |
| 3.3.7Redundant Entry | A | Do not ask twice for the same information in one process. |
| 3.3.8Accessible Authentication (Minimum) | AA | No cognitive function test — puzzles, transcription, recall — without an alternative. This is the one that catches a lot of sign-in flows. |
| 2.4.12Focus Not Obscured (Enhanced) | AAA | No part of the focused element is covered. |
| 2.4.13Focus Appearance | AAA | A minimum size and contrast for the focus indicator itself. |
| 3.3.9Accessible Authentication (Enhanced) | AAA | The same rule, without the object-recognition exception. |
2.2 also removed one: 4.1.1 Parsing is obsolete, because the parsing failures it described no longer break assistive technology in the way they did when it was written.
Common failures
The ones that come up again and again, what they do to somebody, and the fix.
Images with no text alternative
A screen reader announces the filename, or nothing at all.
Give every meaningful image an alt attribute; mark decorative ones alt="".
Contrast below the threshold
Text disappears for low-vision users and in bright light for everyone.
Measure it. 4.5:1 for body text, 3:1 for large text and for UI component boundaries.
Inputs with no associated label
The field announces as “edit, blank” and cannot be told from the one beside it.
Associate a <label for> with the input, or give it an aria-label.
No way to skip repeated navigation
Keyboard users tab through the same menu on every page before reaching content.
Put a skip link first in the DOM and give the target tabindex="-1".
Controls that are not focusable
A div with a click handler does not exist for anyone not using a mouse.
Use a real button or link. If you cannot, add role, tabindex and key handling.
Focus that disappears
A keyboard user loses their place entirely and has to start over.
Never remove the focus outline without drawing a replacement with real contrast.
What a scanner can and cannot check
Automated rule checking is genuinely useful and genuinely partial. Knowing which half you are looking at is most of the skill.
A machine can decide this
- Missing alt attributes
- Contrast below threshold
- Inputs with no accessible name
- Invalid ARIA roles and attributes
- Missing document language
- Duplicate element IDs
A person has to decide this
- Whether alt text describes the image usefully
- Whether focus order matches the visual order
- Whether an error message tells you what to do
- Whether a workaround for a broken control actually works
- Whether the reading sequence makes sense
- Whether a task can be completed end to end
More than half of the success criteria fall in the right-hand column. A page that passes every automated rule can still be impossible to check out of — which is the specific gap journey simulation exists to close, and why a clean scan is never sold here as proof of anything more than a clean scan.
Where to read the standard
Everything above is a summary. These are the sources — go to them before you rely on a paraphrase, including this one.
How to Meet WCAG 2.2 (opens in a new tab)
The quick reference — every success criterion with techniques and failures.
WCAG 2.2 specification (opens in a new tab)
The normative document itself, including the conformance requirements.
What’s new in WCAG 2.2 (opens in a new tab)
W3C’s own summary of the additions and the removal of 4.1.1 Parsing.
WebAIM contrast checker (opens in a new tab)
Check a foreground and background pair against the AA and AAA thresholds.
WCAG 2.2 success criteria, one at a time
What each criterion requires, whether automated testing can check it, common failures, and how to test it by hand.
- 1.1.1 Non-text Content
- 1.3.1 Info and Relationships
- 1.3.5 Identify Input Purpose
- 1.4.1 Use of Color
- 1.4.3 Contrast (Minimum)
- 1.4.10 Reflow
- 1.4.11 Non-text Contrast
- 2.1.1 Keyboard
- 2.1.2 No Keyboard Trap
- 2.4.1 Bypass Blocks
- 2.4.2 Page Titled
- 2.4.3 Focus Order
- 2.4.4 Link Purpose (In Context)
- 2.4.7 Focus Visible
- 2.5.8 Target Size (Minimum)
- 3.1.1 Language of Page
- 3.3.1 Error Identification
- 3.3.2 Labels or Instructions
- 4.1.2 Name, Role, Value
- 4.1.3 Status Messages
See which criteria your site already passes.
Scan every URL you own against WCAG 2.2 Level AA, unmetered on every paid plan, or check a single page free. The half a scanner cannot judge is what journey simulation is for.