Learn
Practical guides for designers, engineers, researchers and accessibility specialists, and every WCAG 2.2 A and AA criterion in plain words.
Practical guides
Research
What AI agents do with the person you describe: our research
Three preregistered studies across six models show that a stated preference decides the agent’s choice, and irrelevant text can too. The guide says what to do about it.
Usability
Write a task, and how you’d know it worked
The one thing a person needs to get done, where they start, and the sign that they did.
Design
Review what shipped against what you meant
Write the intent for each screen, walk the shipped product, and mark where it differs.
Research
Five ideas from HCI every product team can use
Norman’s two gulfs, the cognitive walkthrough, Nielsen’s heuristics, Fitts’s law and recognition over recall.
Design engineering
Accessible components, with code to copy
How to build dialogs, menus, status messages, form errors, icon buttons and focus styles for keyboard and screen reader users, in HTML or React.
Accessibility
Read and write an accessibility conformance report (ACR)
What a VPAT holds, what each conformance level means, six things to check, and how to write rows that hold up.
Accessibility
Section 508 and WCAG: what each asks, and where they differ
Section 508 adopts WCAG 2.0 and adds requirements for documents, software and support. ADA Title II and EN 301 549 are compared alongside.
WCAG 2.2 in plain words
The map shows every A and AA criterion by guideline. Pick what you’re building to see the ones that apply, then open one for what it asks, who it affects and how to meet it.
All 56 A and AA criteria
1.1 Text alternatives
1.2 Time-based media
1.3 Adaptable
1.4 Distinguishable
2.1 Keyboard accessible
2.2 Enough time
2.3 Seizures and physical reactions
2.4 Navigable
2.5 Input modalities
3.1 Readable
3.2 Predictable
3.3 Input assistance
1. Perceivable
- 1.1.1Non-text ContentLevel A
Every image, icon and control that isn't text has a text alternative that serves the same purpose.
- 1.2.1Audio-only and Video-only (Prerecorded)Level A
Prerecorded audio-only content has a transcript; prerecorded video-only content has a transcript or an audio track.
- 1.2.2Captions (Prerecorded)Level A
Prerecorded video with sound has captions.
- 1.2.3Audio Description or Media Alternative (Prerecorded)Level A
Prerecorded video with sound has audio description, or a full text alternative that covers what is said and shown.
- 1.2.4Captions (Live)Level AA
Live video with sound has captions.
- 1.2.5Audio Description (Prerecorded)Level AA
Prerecorded video with sound has audio description of what's shown on screen and not said aloud.
- 1.3.1Info and RelationshipsLevel A
Structure shown on screen, such as headings, lists, tables and labels, is also in the markup, so assistive technology can convey it.
- 1.3.2Meaningful SequenceLevel A
When the order of content matters to its meaning, assistive technology reads it in that order.
- 1.3.3Sensory CharacteristicsLevel A
Instructions don't rely only on shape, color, size, position or sound, such as “press the round button on the right”.
- 1.3.4OrientationLevel AA
Content works in portrait and landscape, unless one orientation is essential.
- 1.3.5Identify Input PurposeLevel AA
Fields that ask about the person say what they're for in code (autocomplete), so browsers and tools can fill them in.
- 1.4.1Use of ColorLevel A
Color is not the only way information is shown, such as which words are links.
- 1.4.2Audio ControlLevel A
Audio that plays on its own for more than 3 seconds can be paused or stopped, or its volume set apart from the system volume.
- 1.4.3Contrast (Minimum)Level AA
Text has a contrast ratio of at least 4.5:1 with its background, or 3:1 for large text.
- 1.4.4Resize textLevel AA
Text can be enlarged to 200% without assistive technology, and nothing is lost.
- 1.4.5Images of TextLevel AA
Text is shown as real text, not as an image of text, unless the image can be customized or is essential, such as a logo.
- 1.4.10ReflowLevel AA
At a width of 320 CSS pixels, content fits without scrolling in two directions, except parts that need a two-dimensional layout, such as data tables.
- 1.4.11Non-text ContrastLevel AA
Parts of controls, focus indicators and meaningful graphics have a contrast ratio of at least 3:1 with the colors next to them.
- 1.4.12Text SpacingLevel AA
Nothing is lost when people set line height to 1.5, paragraph spacing to 2, letter spacing to 0.12 and word spacing to 0.16 times the font size.
- 1.4.13Content on Hover or FocusLevel AA
Content that appears on hover or focus, such as a tooltip, can be dismissed without moving the pointer or focus, can be hovered itself, and stays until the pointer or focus moves away, it's dismissed, or it's no longer relevant.
2. Operable
- 2.1.1KeyboardLevel A
Everything can be done with a keyboard alone.
- 2.1.2No Keyboard TrapLevel A
Keyboard focus never gets stuck: you can always move on with Tab, or the page says how.
- 2.1.4Character Key ShortcutsLevel A
Shortcuts that use a single letter, number or symbol key can be turned off or remapped, or work only when their control has focus.
- 2.2.1Timing AdjustableLevel A
Time limits can be turned off, adjusted or extended, with a few exceptions.
- 2.2.2Pause, Stop, HideLevel A
Moving, blinking or scrolling content that starts on its own and lasts more than 5 seconds can be paused, stopped or hidden.
- 2.3.1Three Flashes or Below ThresholdLevel A
Nothing flashes more than three times in any one second, unless the flash is below the general and red flash thresholds.
- 2.4.1Bypass BlocksLevel A
There is a way to skip blocks repeated on every page, such as the navigation.
- 2.4.2Page TitledLevel A
Each page has a title that says what it is.
- 2.4.3Focus OrderLevel A
Focus moves through the page in an order that keeps its meaning and operation.
- 2.4.4Link Purpose (In Context)Level A
What a link is for can be told from its text, alone or with the text around it.
- 2.4.5Multiple WaysLevel AA
There is more than one way to find a page in a set of pages, such as navigation, search or a site map, unless the page is a step in a process.
- 2.4.6Headings and LabelsLevel AA
Headings and labels describe the topic or purpose of what they introduce.
- 2.4.7Focus VisibleLevel AA
The element with keyboard focus shows a visible indicator.
- 2.4.11Focus Not Obscured (Minimum)Level AA, new in 2.2
The element with keyboard focus is never entirely hidden by other content, such as a sticky header.
- 2.5.1Pointer GesturesLevel A
Anything done with a multipoint or path-based gesture, such as a pinch or a swipe along a path, can also be done with a single pointer without a path, unless the gesture is essential.
- 2.5.2Pointer CancellationLevel A
An action made with a single pointer runs on release rather than on press, can be aborted or undone, or is reversed on release, unless running on press is essential.
- 2.5.3Label in NameLevel A
A control's accessible name contains the text of its visible label.
- 2.5.4Motion ActuationLevel A
Anything triggered by moving the device, such as shaking or tilting it, can also be done with a control, and the motion response can be turned off, unless the motion is essential.
- 2.5.7Dragging MovementsLevel AA, new in 2.2
Anything done by dragging can also be done with a single pointer without dragging, such as by clicking or tapping, unless dragging is essential.
- 2.5.8Target Size (Minimum)Level AA, new in 2.2
Pointer targets are at least 24 by 24 CSS pixels or have enough space around them, with exceptions such as links in a sentence.
3. Understandable
- 3.1.1Language of PageLevel A
The page's main language is set in code.
- 3.1.2Language of PartsLevel AA
A passage in another language has its language set in code.
- 3.2.1On FocusLevel A
Moving focus to an element doesn't change the context on its own, such as opening a new page or submitting a form.
- 3.2.2On InputLevel A
Changing a setting, such as choosing an option or checking a box, doesn't change the context unless people were told beforehand.
- 3.2.3Consistent NavigationLevel AA
Navigation repeated across pages appears in the same relative order each time, unless the person changes it.
- 3.2.4Consistent IdentificationLevel AA
Components with the same function across pages are identified the same way, such as the same label for the same search button.
- 3.2.6Consistent HelpLevel A, new in 2.2
Where help is offered on several pages, such as contact details or a chat, it appears in the same relative order on each.
- 3.3.1Error IdentificationLevel A
When an input error is detected automatically, the field in error is identified and the error is described in text.
- 3.3.2Labels or InstructionsLevel A
Fields that need input have labels or instructions.
- 3.3.3Error SuggestionLevel AA
When an input error is detected and a correction is known, the message suggests it, unless that would undermine security or purpose.
- 3.3.4Error Prevention (Legal, Financial, Data)Level AA
Submissions with legal or financial consequences, or that change or delete stored data, can be reversed, are checked for errors with a chance to correct them, or can be reviewed and confirmed before they're final. Submitting exam answers counts too.
- 3.3.7Redundant EntryLevel A, new in 2.2
Within a process, information the person already entered is filled in for them or offered to choose, rather than asked for again, with exceptions such as security.
- 3.3.8Accessible Authentication (Minimum)Level AA, new in 2.2
Signing in doesn't require a cognitive function test, such as remembering a password or solving a puzzle, unless there's an alternative or a way to help, such as a password manager filling it in, or the person only has to recognize objects or their own content.
4. Robust
- 4.1.1ParsingLevel A
Removed from WCAG 2.2. Under WCAG 2.1, the 2023 errata say it is always met, because browsers and assistive technology no longer depend on well-formed markup.
- 4.1.2Name, Role, ValueLevel A
Every control's name and role can be read by assistive technology, and its states and values are set in code and announced when they change.
- 4.1.3Status MessagesLevel AA
Status messages are announced by assistive technology without taking focus.