The short answer: WCAG 2.2 is the current version of the Web Content Accessibility Guidelines published by W3C. It became a W3C Recommendation on 5 October 2023, and the current text is dated 12 December 2024. Level AA means a page meets every Level A and every Level AA success criterion, 55 in total: 31 at Level A and 24 at Level AA. W3C states that content conforming to WCAG 2.2 also conforms to WCAG 2.0 and 2.1, so this checklist covers the older versions too. For the legal side in the EU, see our guide to the European Accessibility Act.
How to use this checklist
The criteria are grouped under the four principles of WCAG: perceivable, operable, understandable and robust. For each one, the tables give the level, what a person should check and how far a tool can help:
- Partly automated: tools catch some failures, but a pass still needs a person to confirm it. By our count, this applies to 26 of the 55 criteria.
- Manual: there is no reliable automated test, so a person has to check. This applies to the other 29.
No criterion is marked fully automated. Even when a tool finds nothing, someone has to confirm the result, which matches W3C's own advice that evaluation tools “can not determine accessibility, they can only assist in doing so”. Test the pages that represent your site, such as the home page, a content page, search, a form and checkout, in every state: menus open, errors shown, banners visible.
What is new in WCAG 2.2
WCAG 2.2 adds six success criteria at Levels A and AA, plus three at Level AAA that this checklist does not cover. They mainly help people who cannot use a mouse or have limited dexterity, and people with cognitive disabilities.
| Criterion | Level | What it requires |
|---|---|---|
| 2.4.11 Focus Not Obscured (Minimum) | AA | An element that receives keyboard focus must not be completely hidden by sticky headers, cookie banners or other content. |
| 2.5.7 Dragging Movements | AA | Anything that works by dragging, like sliders or sortable lists, must also work with simple clicks or taps. |
| 2.5.8 Target Size (Minimum) | AA | Clickable targets must be at least 24 by 24 CSS pixels, or have enough space around them, so they are easy to hit. |
| 3.2.6 Consistent Help | A | If the site offers help, such as a phone number, contact form or chat, it must appear in the same place on every page where it is offered. |
| 3.3.7 Redundant Entry | A | Information a visitor already entered in the same process must be filled in automatically or offered for selection, not requested again. |
| 3.3.8 Accessible Authentication (Minimum) | AA | Logging in must not require a memory or puzzle test unless an easier alternative is offered, so password managers and pasting must work. |
Source: W3C, What's New in WCAG 2.2. The new Level AAA criteria are 2.4.12, 2.4.13 and 3.3.9.
One criterion was removed: 4.1.1 Parsing is obsolete and no longer part of WCAG 2.2. W3C notes that where a policy still requires WCAG 2.0 or 2.1, 4.1.1 may need to be tested and reported.
Principle 1: Perceivable
Information has to reach people through a sense they can use: text alternatives for images, captions and transcripts for media, structure in the code, and enough contrast and flexibility in the layout.
| Criterion | Level | What to check | Test |
|---|---|---|---|
| 1.1.1 Non-text Content | A | Check that each alternative text actually describes what the image conveys in its context, and that images marked as decorative really are decorative. | Partly automated |
| 1.2.1 Audio-only and Video-only (Prerecorded) | A | Find every audio-only file and silent video and confirm that a complete transcript or description is provided next to it. | Manual |
| 1.2.2 Captions (Prerecorded) | A | Play each video with captions on and check that they are present, accurate and synchronized, and that they mention meaningful sounds. | Partly automated |
| 1.2.3 Audio Description or Media Alternative (Prerecorded) | A | Watch each video and decide whether information shown only on screen is also available through audio description or a text version. | Manual |
| 1.2.4 Captions (Live) | AA | If the site streams live video, confirm that readable real-time captions are provided during the stream. | Manual |
| 1.2.5 Audio Description (Prerecorded) | AA | Listen to each video without watching it and check whether an audio description fills in the visual information you would otherwise miss. | Manual |
| 1.3.1 Info and Relationships | A | Compare what you see with what a screen reader announces: visual headings, lists, tables and groups should also be marked up as such. | Partly automated |
| 1.3.2 Meaningful Sequence | A | Read the page with CSS turned off or with a screen reader and check that the content still makes sense in that order. | Manual |
| 1.3.3 Sensory Characteristics | A | Look for instructions that refer to shape, location or sound and check that they also name the element in words. | Manual |
| 1.3.4 Orientation | AA | Rotate a phone or tablet on key pages and confirm that the content is not locked to one orientation. | Partly automated |
| 1.3.5 Identify Input Purpose | AA | Check that every field asking for the visitor's own data has the right autocomplete value, not just a valid one. | Partly automated |
| 1.4.1 Use of Color | A | View charts, forms and status messages in grayscale and check that nothing important is lost. | Partly automated |
| 1.4.2 Audio Control | A | Load each page with sound on and confirm that any automatic audio can be stopped easily, with a control near the top of the page. | Partly automated |
| 1.4.3 Contrast (Minimum) | AA | Check text over images, gradients and videos, and text in hover, focus and error states, which automated tools often cannot measure. | Partly automated |
| 1.4.4 Resize Text | AA | Zoom the browser to 200% and check that no text is cut off, overlapping or hidden. | Partly automated |
| 1.4.5 Images of Text | AA | Look for banners, buttons and graphics where text is part of the image and check whether it could be real text. | Manual |
| 1.4.10 Reflow | AA | Zoom to 400% in a desktop browser and check that all content and functions remain available and nothing overlaps. | Partly automated |
| 1.4.11 Non-text Contrast | AA | Measure the contrast of input borders, icon buttons, checkboxes and chart lines against the colors next to them. | Manual |
| 1.4.12 Text Spacing | AA | Apply a text-spacing bookmarklet on key pages and check buttons, menus and cards for cut-off or overlapping text. | Partly automated |
| 1.4.13 Content on Hover or Focus | AA | Hover over and tab to elements that reveal extra content, and check that Esc closes it and that you can move the pointer onto it. | Manual |
Principle 2: Operable
Everything has to work with a keyboard and other input methods, give people enough time, avoid content that can trigger seizures, and make it easy to find your way and hit targets.
| Criterion | Level | What to check | Test |
|---|---|---|---|
| 2.1.1 Keyboard | A | Put the mouse away and use Tab, Shift+Tab, Enter, Space and the arrow keys to reach and operate every control, menu and form. | Partly automated |
| 2.1.2 No Keyboard Trap | A | Tab into embedded players, maps, chat widgets and dialogs and confirm you can always get out again with Tab or Esc. | Partly automated |
| 2.1.4 Character Key Shortcuts | A | Press single letter and number keys on the page; if anything happens, confirm the shortcuts can be disabled or remapped. | Manual |
| 2.2.1 Timing Adjustable | A | Look for session timeouts, timed forms and auto-advancing content, and check that visitors are warned and can ask for more time. | Partly automated |
| 2.2.2 Pause, Stop, Hide | A | Check sliders, carousels, animations and live tickers for a visible pause or stop control that also works with the keyboard. | Partly automated |
| 2.3.1 Three Flashes or Below Threshold | A | Review videos, animations and GIFs for rapid flashing, and if anything flashes quickly, analyze it with a tool such as PEAT. | Manual |
| 2.4.1 Bypass Blocks | A | Press Tab right after the page loads and check that a visible skip link appears and moves focus to the main content. | Partly automated |
| 2.4.2 Page Titled | A | Read the titles of several pages and check that each one is unique and tells you where you are. | Partly automated |
| 2.4.3 Focus Order | A | Tab through the whole page, including menus and dialogs, and check that focus moves in a sensible order and never jumps unexpectedly. | Manual |
| 2.4.4 Link Purpose (In Context) | A | Read link texts on their own and with their surrounding sentence, and check that you can tell where each one goes. | Partly automated |
| 2.4.5 Multiple Ways | AA | Check that the site offers at least two of these: main navigation, search, a sitemap or links between related pages. | Manual |
| 2.4.6 Headings and Labels | AA | Read the list of headings and the form labels out of context and check that each one is clear and specific. | Manual |
| 2.4.7 Focus Visible | AA | Tab through every interactive element and check that the focus indicator is clearly visible on each, including on dark and image backgrounds. | Partly automated |
| 2.4.11 Focus Not Obscured (Minimum) | AA | Tab through the page with the cookie banner open and again after scrolling, and check that the focused element is always at least partly visible. | Partly automated |
| 2.5.1 Pointer Gestures | A | Check maps, sliders and galleries for gestures and confirm that buttons or other single-pointer alternatives exist. | Manual |
| 2.5.2 Pointer Cancellation | A | Press and hold buttons and links, move the pointer away, then release, and check that the action did not run. | Manual |
| 2.5.3 Label in Name | A | Compare visible labels with what a screen reader announces and check that the visible words are included, ideally at the start. | Partly automated |
| 2.5.4 Motion Actuation | A | If any feature responds to device motion, confirm that a button alternative exists and that the motion response can be disabled. | Manual |
| 2.5.7 Dragging Movements | AA | Find every drag-and-drop or slider interaction and confirm it can also be done with single clicks, for example with arrow buttons. | Manual |
| 2.5.8 Target Size (Minimum) | AA | On a phone, check small icons, close buttons and links placed close together, and confirm that exceptions such as links inside sentences are applied correctly. | Partly automated |
Principle 3: Understandable
Pages have to declare their language, behave predictably and help people avoid and correct mistakes in forms.
| Criterion | Level | What to check | Test |
|---|---|---|---|
| 3.1.1 Language of Page | A | Check that the declared language matches the language the page is actually written in, especially on translated pages. | Partly automated |
| 3.1.2 Language of Parts | AA | Look for quotes, terms or sections in another language and check that each has a correct lang attribute. | Partly automated |
| 3.2.1 On Focus | A | Tab through all controls and check that nothing opens, submits or moves unexpectedly just because an element received focus. | Manual |
| 3.2.2 On Input | A | Change selects, checkboxes and radio buttons and check that the page does not navigate or submit without warning. | Manual |
| 3.2.3 Consistent Navigation | AA | Compare the header, menu and footer on several pages and check that items keep the same order. | Manual |
| 3.2.4 Consistent Identification | AA | Check that recurring icons and buttons use the same labels and alternative text on every page. | Manual |
| 3.2.6 Consistent Help | A | Compare several pages and check that contact details and help links stay in the same position relative to the rest of the page. | Manual |
| 3.3.1 Error Identification | A | Submit forms empty and with wrong data and check that each error is described in text, not only by a red border. | Manual |
| 3.3.2 Labels or Instructions | A | Check that every field has a visible, lasting label rather than just placeholder text, and that required formats are explained. | Partly automated |
| 3.3.3 Error Suggestion | AA | Trigger errors such as a wrong date format and check that the message explains what a valid entry looks like. | Manual |
| 3.3.4 Error Prevention (Legal, Financial, Data) | AA | Go through checkout, booking and account-deletion flows and confirm there is a review step, a confirmation or a way to undo. | Manual |
| 3.3.7 Redundant Entry | A | Walk through multi-step forms and check that details like the delivery address are not asked for twice without a “same as above” option. | Manual |
| 3.3.8 Accessible Authentication (Minimum) | AA | Try logging in with a password manager and by pasting, and check that any CAPTCHA asking you to type distorted text or solve a puzzle has an alternative. | Manual |
Principle 4: Robust
The code has to tell assistive technologies what each control is and what is happening on the page.
| Criterion | Level | What to check | Test |
|---|---|---|---|
| 4.1.2 Name, Role, Value | A | Use a screen reader on menus, tabs, accordions and toggles and check that each announces what it is, its name and whether it is open, selected or pressed. | Partly automated |
| 4.1.3 Status Messages | AA | With a screen reader running, trigger searches, cart updates and form submissions and check that the resulting messages are read out. | Manual |
Criteria, levels and names: W3C WCAG 2.2. The “Test” column is our own conservative classification, the same one our free checker uses.
How to test by hand
Most of the checklist comes down to a few manual tests that anyone on your team can learn. Do them on real pages, not on a design file:
- Keyboard: put the mouse away and use Tab, Shift+Tab, Enter, Space, Esc and the arrow keys. Every link, button, menu and form must be reachable and usable, focus must be visible at all times and move in a logical order, and you must never get stuck.
- Screen readers: use NVDA with Firefox or Chrome on Windows, and VoiceOver on a Mac and an iPhone. Listen to headings, link texts, form labels and error messages, and check that buttons announce their name and state.
- Zoom: at 200%, no text may be cut off (1.4.4). At 400% in a desktop browser with a window 1,280 pixels wide, which W3C equates to a width of 320 CSS pixels, content must reflow without horizontal scrolling (1.4.10).
- Text spacing: set line height to 1.5 times the font size, spacing after paragraphs to 2 times, letter spacing to 0.12 times and word spacing to 0.16 times, for example with a bookmarklet, and check that no text is cut off or overlaps (1.4.12).
- Contrast: measure text, including text over images and in hover and error states, against 4.5:1 (3:1 for large text), and borders, icons and focus indicators against 3:1.
- Forms: submit every form empty and with wrong data, and check that errors are named in text, explain the fix and are announced by a screen reader.
- Mobile: rotate the phone, check that tap targets are at least 24 by 24 CSS pixels or have enough space around them, and try to replace every drag or swipe with single taps.
What automated tools catch and what they miss
Automated tools are fast and worth running on every release, but they test what can be measured in the code: missing alternative text, text contrast on a plain background, form fields without a label, a missing page language or title, and broken ARIA attributes. They cannot judge whether an alternative text makes sense, whether the focus order is logical, whether an error message helps or whether captions are accurate.
Published measurements depend on the method. In a 2017 test by the UK Government Digital Service on a page with 143 deliberate failures, the best single tool found 37% of them (41% when prompts for manual checks were counted), all ten tools together found 71%, and 29% were missed by every tool. Deque, the company behind the axe-core engine, reports that its automated tests found 57.38% of issues in first-time audits covering more than 13,000 pages; that figure counts issues by volume, not WCAG criteria, and comes from Deque's own data. Either way, a clean automated scan is a start, not a result.
Free check and full audit
Our free accessibility checker tests up to 10 pages against WCAG 2.2 A and AA in about a minute: axe-core rules plus the keyboard, visible focus, the layout at 320 px and contrast over images, with a list of what a person still has to check. Our accessibility audit, from €750, covers all 55 criteria by hand with the keyboard and screen readers, and fixes are made in your code at a fixed price agreed after the audit. Prices are final and nothing is added on top. We do not issue certificates; we document what we tested and what we fixed. See the accessibility audit.
Our price
Accessibility audit · from €750
Sources
- W3C: Web Content Accessibility Guidelines (WCAG) 2.2, Recommendation of 12 December 2024
- W3C WAI: What's New in WCAG 2.2
- W3C: Understanding Conformance (WCAG 2.2)
- W3C: Understanding Success Criterion 1.4.10 Reflow
- W3C: Understanding Success Criterion 1.4.12 Text Spacing
- W3C WAI: Selecting Web Accessibility Evaluation Tools
- GOV.UK Accessibility blog: What we found when we tested tools on the world's least-accessible webpage (24 February 2017)
- Deque: Automated accessibility testing coverage study
- AccessibleEU: The European accessibility standard EN 301 549 has been updated (7 September 2026)
Written by
Adi Zeljković — Founder, Luminor Solutions
Part of the Luminor team — working across strategy, design, engineering and growth on the projects we write about.