# WCAG 2.2 Success Criteria — Detailed Reference This file provides detailed guidance for all WCAG 2.2 Level A and AA success criteria. Read only the sections relevant to the current task. ## Table of Contents - [1.1 Text Alternatives](#11-text-alternatives) - [1.2 Time-based Media](#12-time-based-media) - [1.3 Adaptable](#13-adaptable) - [1.4 Distinguishable](#14-distinguishable) - [2.1 Keyboard Accessible](#21-keyboard-accessible) - [2.2 Enough Time](#22-enough-time) - [2.3 Seizures and Physical Reactions](#23-seizures-and-physical-reactions) - [2.4 Navigable](#24-navigable) - [2.5 Input Modalities](#25-input-modalities) - [3.1 Readable](#31-readable) - [3.2 Predictable](#32-predictable) - [3.3 Input Assistance](#33-input-assistance) - [4.1 Compatible](#41-compatible) - [WCAG 2.2 New Criteria Summary](#wcag-22-new-criteria-summary) - [Testing Tools Reference](#testing-tools-reference) --- ## 1.1 Text Alternatives ### SC 1.1.1 Non-text Content (Level A) **Requirement:** All non-text content has a text alternative that serves the equivalent purpose. **Sufficient techniques:** - `G94`: Providing short text alternative for non-text content that serves the same purpose - `H37`: Using `alt` attributes on `` elements - `H36`: Using `alt` attributes on images used as submit buttons - `ARIA6`: Using `aria-label` to provide labels for objects - `H67`: Using null alt text and no title attribute on img for images that AT should ignore **Common failures:** - F3: Using CSS background images to convey information with no text equivalent - F13: Using text alternatives that do not include information conveyed by color or position in an image - F20: Not updating text alternatives when non-text content changes - F30: Using text alternatives that are not alternatives (same as filename, placeholder text, etc.) - F38: Not marking up decorative images so they can be ignored by AT - F65: Omitting the alt attribute or text alternative on img elements, area elements, or input elements of type "image" **Scope:** - Informative images → meaningful alt text - Decorative images → `alt=""` with no title - Functional images (buttons, links) → alt describes function, not appearance - Complex images (charts, diagrams) → short alt + long description via `aria-describedby`, `longdesc`, or adjacent text - Captchas → provide audio captcha or text alternative explaining what captcha is for - Purely decorative text or text part of a logo → may be treated as decorative --- ## 1.2 Time-based Media ### SC 1.2.1 Audio-only and Video-only — Pre-recorded (Level A) Provide a text transcript for pre-recorded audio-only. Provide a text alternative or audio track for pre-recorded video-only. ### SC 1.2.2 Captions — Pre-recorded (Level A) All pre-recorded audio content in synchronised media has captions. Auto-generated captions alone do not satisfy this unless they are accurate and reviewed. **Key requirements for captions:** - Synchronised with the audio - Verbatim (or close equivalent for edited captions) - Identify speakers - Include relevant sound effects [applause], [laughter] when they convey meaning ### SC 1.2.3 Audio Description or Media Alternative — Pre-recorded (Level A) An alternative for time-based media or audio description of the prerecorded video content in synchronized media is provided, except where the media is a media alternative for text and is clearly labeled as such. ### SC 1.2.4 Captions — Live (Level AA) Captions are provided for all live audio content in synchronised media. Live captions may be provided by CART (Communication Access Realtime Translation) services. ### SC 1.2.5 Audio Description — Pre-recorded (Level AA) Audio description is provided for all prerecorded video content in synchronised media. Describes visual information not conveyed in the audio track: actions, scene changes, on-screen text. --- ## 1.3 Adaptable ### SC 1.3.1 Info and Relationships (Level A) **Requirement:** Information, structure, and relationships conveyed through presentation can be programmatically determined or are available in text. **Key patterns:** - Use `

`–`

` for headings — not styled `
` or `

` elements - Use `` with `
` for data tables; use `
` for table title - Use `