Guide · WCAG 2.2 · Level AA
The WCAG 2.2 Level AA checklist
WCAG 2.2 Level AA is the de-facto bar for ADA and the European Accessibility Act. Here is the AA checklist in plain language, grouped by the four POUR principles — and, for each item, an honest note on whether an automated scan can flag it or whether it needs a person.
Automated testing finds 30–57% of issues. The items below marked auto are the kind a static-HTML scan can catch; partial ones it catches in some cases; manual ones need a browser, assistive technology and human judgement. A clean automated scan is a starting point — not a determination of conformance or compliance.
Perceivable
Information and UI must be presentable in ways users can perceive.
- 1.1.1 Non-text content (A) auto Images, icons and controls have a text alternative; decorative images use empty alt.
- 1.2.x Time-based media (A/AA) manual Captions for video, an audio description or transcript for prerecorded media.
- 1.3.1 Info & relationships (A) partial Structure is in the markup: labelled fields, real headings, table headers, lists.
- 1.3.5 Identify input purpose (AA) partial Common inputs (name, email) use an autocomplete value.
- 1.4.3 Contrast (minimum) (AA) manual Text contrast ≥ 4.5:1 (≥ 3:1 for large text). Needs rendered colours.
- 1.4.4 Resize text (AA) auto Text can scale to 200%; the viewport must not block zoom.
- 1.4.10 Reflow (AA) partial Content reflows to a 320px-wide viewport with no horizontal scroll.
- 1.4.11 Non-text contrast (AA) manual UI components and graphics meet ≥ 3:1 against adjacent colours.
- 1.4.12 Text spacing (AA) manual No loss of content when users override line/letter/word spacing.
Operable
UI components and navigation must be operable.
- 2.1.1 Keyboard (A) manual Everything works from the keyboard alone; no mouse-only controls.
- 2.1.2 No keyboard trap (A) manual Focus can always move away from a component with the keyboard.
- 2.2.1 Timing adjustable (A) partial No timed auto-refresh/redirect that users cannot turn off or extend.
- 2.4.1 Bypass blocks (A) partial A skip link or landmarks let users jump past repeated navigation.
- 2.4.2 Page titled (A) auto Each page has a unique, descriptive title.
- 2.4.3 Focus order (A) partial Focus order is logical; avoid positive tabindex.
- 2.4.4 Link purpose (A) auto Every link has discernible, meaningful text.
- 2.4.6 Headings & labels (AA) partial Headings and labels describe topic or purpose; heading levels do not skip.
- 2.4.7 Focus visible (AA) manual The keyboard focus indicator is visible.
- 2.4.11 Focus not obscured (AA) — new in 2.2 manual A focused component is not fully hidden by sticky headers/footers.
- 2.5.7 Dragging movements (AA) — new in 2.2 manual Any drag action has a single-pointer alternative.
- 2.5.8 Target size (minimum) (AA) — new in 2.2 manual Pointer targets are at least 24×24 CSS pixels (with exceptions).
Understandable
Information and the operation of UI must be understandable.
- 3.1.1 Language of page (A) auto The page declares its language with a valid <html lang>.
- 3.2.3 Consistent navigation (AA) manual Repeated navigation appears in the same relative order across pages.
- 3.2.4 Consistent identification (AA) manual Components with the same function are labelled consistently.
- 3.2.6 Consistent help (A) — new in 2.2 manual Help mechanisms appear in a consistent location across pages.
- 3.3.1 Error identification (A) manual Input errors are described in text, not colour alone.
- 3.3.2 Labels or instructions (A) auto Form fields have programmatic labels.
- 3.3.7 Redundant entry (A) — new in 2.2 manual Information already entered is auto-populated or selectable, not re-typed.
- 3.3.8 Accessible authentication (minimum) (AA) — new in 2.2 manual No cognitive-function test (e.g. solving a puzzle) is required to log in.
Robust
Content must be robust enough for assistive technologies.
- 4.1.2 Name, role, value (A) partial Controls expose a name and role; custom widgets use correct ARIA. (Empty/iframe-title/duplicate-id problems are flagged automatically.)
- 4.1.3 Status messages (AA) manual Status updates are announced to assistive tech without moving focus.
Check the automatable parts now
Our free accessibility checker scans a URL for the objective, render-independent items above — missing alt text, unlabeled fields, page language and title, heading order, empty links and buttons, zoom-blocking viewports, untitled iframes, timed refreshes and duplicate ids — and maps each to its WCAG criterion with a fix:
curl 'https://a11y-scan.foomworks.workers.dev/scan?url=YOUR_URL&ref=docs' It will not tell you about colour contrast, keyboard operation, focus or dynamic content — those manual items need a real audit. The checker says so on every result, and never returns a "compliant" verdict.
This checklist is a plain-language summary of the W3C's Web Content Accessibility Guidelines (WCAG) 2.2 for general guidance; the normative text at w3.org is authoritative. It is not legal advice. "auto / partial / manual" labels reflect what automated static-HTML testing can typically detect and are not part of WCAG. Built and maintained by an autonomously operated software workshop under human oversight; no affiliation with, or endorsement by, the W3C is implied.