Guides WCAG 2.2
WCAG 2.2 — the current standard
The current standard reala11y targets: +9 criteria, 4.1.1 Parsing removed.
What WCAG 2.2 is
WCAG 2.2 is the current W3C Recommendation — the international reference for making web content usable by people with disabilities. It is organised as testable success criteria grouped under four principles, each rated A, AA, or AAA. Most laws and procurement standards target Level AA, which is the level reala11y is built around.
| Fact | Detail |
|---|---|
| Status | W3C Recommendation |
| Date | 5 October 2023 (errata revision Dec 2024; requirements unchanged) |
| New criteria | 9 added since WCAG 2.1 |
| Removed | 4.1.1 Parsing (marked obsolete) |
| Success criteria | 87 numbered; 86 testable after the 4.1.1 removal |
Automated tools, including reala11y, can detect a portion of these criteria (industry analyses put automated coverage at roughly 30–40% of WCAG criteria); the remainder require manual review by a person.
The four principles
Content must be Perceivable, Operable, Understandable, and Robust (POUR). Under each principle sit guidelines, and under each guideline sit the testable success criteria.
Success criteria by guideline
Every Level A and AA criterion is below with a plain-language explanation. Criteria new in 2.2 are marked. Level AAA criteria are listed by name.
Perceivable
| SC | Name | Level | Plain language |
|---|---|---|---|
| 1.1.1 | Non-text Content | A | Text alternative for images, icons, charts; decorative items marked to ignore. |
| 1.2.1 | Audio-only / Video-only (Prerecorded) | A | Transcript for audio-only; description/text for silent video. |
| 1.2.2 | Captions (Prerecorded) | A | Synchronized captions for prerecorded video with sound. |
| 1.2.3 | Audio Description or Media Alternative | A | Described track or full text alternative. |
| 1.2.4 | Captions (Live) | AA | Real-time captions for live audio. |
| 1.2.5 | Audio Description (Prerecorded) | AA | Narration of key visuals during dialogue pauses. |
| 1.3.1 | Info and Relationships | A | Visual structure also available programmatically. |
| 1.3.2 | Meaningful Sequence | A | Correct reading order is programmatic. |
| 1.3.3 | Sensory Characteristics | A | Not by shape, size, or location alone. |
| 1.3.4 | Orientation | AA | Not locked to portrait/landscape unless essential. |
| 1.3.5 | Identify Input Purpose | AA | Common fields declare their purpose for autofill. |
| 1.4.1 | Use of Color | A | Color is not the only means of conveying info. |
| 1.4.2 | Audio Control | A | Auto-playing audio can be paused or muted. |
| 1.4.3 | Contrast (Minimum) | AA | Text contrast ≥ 4.5:1 (3:1 large). |
| 1.4.4 | Resize Text | AA | Text resizes to 200% without loss. |
| 1.4.5 | Images of Text | AA | Prefer real text over images of text. |
| 1.4.10 | Reflow | AA | Single-column reflow at 320px / 400% zoom. |
| 1.4.11 | Non-text Contrast | AA | UI components and graphics ≥ 3:1. |
| 1.4.12 | Text Spacing | AA | No loss when users adjust spacing. |
| 1.4.13 | Content on Hover or Focus | AA | Hover/focus content is dismissable, hoverable, persistent. |
AAA: 1.2.6–1.2.9, 1.3.6, 1.4.6–1.4.9.
Operable
| SC | Name | Level | Plain language |
|---|---|---|---|
| 2.1.1 | Keyboard | A | All functionality works from a keyboard. |
| 2.1.2 | No Keyboard Trap | A | Focus can always move away by keyboard. |
| 2.1.4 | Character Key Shortcuts | A | Single-key shortcuts can be turned off/remapped. |
| 2.2.1 | Timing Adjustable | A | Time limits can be turned off, adjusted, extended. |
| 2.2.2 | Pause, Stop, Hide | A | Moving/auto-updating content can be paused. |
| 2.3.1 | Three Flashes or Below Threshold | A | No flashing above the threshold. |
| 2.4.1 | Bypass Blocks | A | Skip link / landmarks bypass repeated blocks. |
| 2.4.2 | Page Titled | A | Descriptive page title. |
| 2.4.3 | Focus Order | A | Focus order preserves meaning. |
| 2.4.4 | Link Purpose (In Context) | A | Link purpose clear from text or context. |
| 2.4.5 | Multiple Ways | AA | More than one way to find a page. |
| 2.4.6 | Headings and Labels | AA | Descriptive headings and labels. |
| 2.4.7 | Focus Visible | AA | Visible keyboard focus indicator. |
| 2.4.11 | Focus Not Obscured (Minimum) | AA | New in 2.2. A focused element is not entirely hidden by sticky headers/banners. |
| 2.5.1 | Pointer Gestures | A | Multipoint/path gestures have a single-pointer alternative. |
| 2.5.2 | Pointer Cancellation | A | Single-pointer actions can be aborted or undone. |
| 2.5.3 | Label in Name | A | Accessible name includes the visible label. |
| 2.5.4 | Motion Actuation | A | Motion-operated functions have a UI control. |
| 2.5.7 | Dragging Movements | AA | New in 2.2. Drag actions have a single-pointer alternative (no dragging required). |
| 2.5.8 | Target Size (Minimum) | AA | New in 2.2. Pointer targets are at least 24×24 CSS px, or adequately spaced. |
AAA: 2.1.3, 2.2.3–2.2.6, 2.3.2, 2.3.3, 2.4.8–2.4.10, 2.4.12 Focus Not Obscured (Enhanced, new in 2.2), 2.4.13 Focus Appearance (new in 2.2), 2.5.5, 2.5.6.
Understandable
| SC | Name | Level | Plain language |
|---|---|---|---|
| 3.1.1 | Language of Page | A | Page language set in markup. |
| 3.1.2 | Language of Parts | AA | Foreign-language passages marked. |
| 3.2.1 | On Focus | A | Focus does not cause unexpected context change. |
| 3.2.2 | On Input | A | Input does not cause surprise context change. |
| 3.2.3 | Consistent Navigation | AA | Repeated nav keeps order. |
| 3.2.4 | Consistent Identification | AA | Same-function components labelled consistently. |
| 3.2.6 | Consistent Help | A | New in 2.2. Help mechanisms appear in a consistent relative location across pages. |
| 3.3.1 | Error Identification | A | Errors identified in text. |
| 3.3.2 | Labels or Instructions | A | Inputs have labels/instructions. |
| 3.3.3 | Error Suggestion | AA | Known fixes are suggested. |
| 3.3.4 | Error Prevention (Legal, Financial, Data) | AA | Important submissions reversible/checked/confirmed. |
| 3.3.7 | Redundant Entry | A | New in 2.2. Don’t make users re-enter info already given in the same process. |
| 3.3.8 | Accessible Authentication (Minimum) | AA | New in 2.2. Login must not require a cognitive test (memorising, puzzles) without an alternative. |
AAA: 3.1.3–3.1.6, 3.2.5, 3.3.5, 3.3.6, 3.3.9 Accessible Authentication (Enhanced, new in 2.2).
Robust
| SC | Name | Level | Plain language |
|---|---|---|---|
| 4.1.1 | Parsing | — | Removed/obsolete in 2.2 — see below. |
| 4.1.2 | Name, Role, Value | A | Components expose name, role, state, value (the core of ARIA). |
| 4.1.3 | Status Messages | AA | Status messages reach assistive tech without moving focus. |
What’s new in WCAG 2.2
WCAG 2.2 is backward-compatible with 2.1 (except the removed 4.1.1). It adds 9 success criteria:
| SC | Name | Level |
|---|---|---|
| 2.4.11 | Focus Not Obscured (Minimum) | AA |
| 2.4.12 | Focus Not Obscured (Enhanced) | AAA |
| 2.4.13 | Focus Appearance | AAA |
| 2.5.7 | Dragging Movements | AA |
| 2.5.8 | Target Size (Minimum) | AA |
| 3.2.6 | Consistent Help | A |
| 3.3.7 | Redundant Entry | A |
| 3.3.8 | Accessible Authentication (Minimum) | AA |
| 3.3.9 | Accessible Authentication (Enhanced) | AAA |
Why 4.1.1 Parsing was removed. It originally required valid markup (no duplicate IDs, correct nesting) because early assistive tech parsed HTML directly. Modern browsers build the accessibility tree from a robust, error-correcting parser, so those specific failures no longer cause accessibility problems — any real impact is covered by 1.3.1 and 4.1.2. Duplicate IDs are still worth flagging as a code-quality issue.
How reala11y maps to WCAG 2.2
reala11y ships 22 scanner rules; several criteria are covered by more than one rule. Automated detection covers an estimated 30–40% of WCAG criteria — the rest needs human review.
| reala11y rule(s) | WCAG 2.2 SC |
|---|---|
| R001 | 3.1.1 Language of Page |
| R002, R014 | 1.1.1 Non-text Content |
| R003 | 1.4.3 Contrast (Minimum) |
| R004, R013, R018, R020, R021 | 1.3.1 Info and Relationships |
| R005 | 2.4.1 Bypass Blocks |
| R006 | 2.4.7 Focus Visible |
| R007 | 3.3.2 Labels or Instructions |
| R008, R009, R017 | 4.1.2 Name, Role, Value |
| R010 | 4.1.1 (informational, since 4.1.1 was removed in 2.2) |
| R011 | 2.5.8 Target Size (Minimum) — new in WCAG 2.2 |
| R012, R022 | 2.4.4 Link Purpose (In Context) |
| R015 | 2.4.3 Focus Order |
| R016 | 1.4.4 Resize Text |
| R019 | 1.2.2 Captions (Prerecorded) |
Highlight: reala11y rule R011 directly addresses 2.5.8 Target Size (Minimum) — one of the nine criteria new in WCAG 2.2 — flagging interactive targets smaller than 24×24 CSS px.
reala11y helps your site move toward WCAG 2.2 AA conformance by identifying common code-level issues and offering safe, automated remediation where possible. It pairs automated scanning with manual review — it does not certify conformance or guarantee freedom from legal claims.