WCAG 2.2 Level AA has 56 success criteria. Maybe twenty of them account for nearly every failure on a WordPress site. This is that twenty, in the order they are worth doing, with a note on which a machine can settle for you.
The full specification is worth reading once. This is what to actually do on a Monday.
Images and media
| Criterion | What it means here | Machine? |
|---|---|---|
| 1.1.1 Non-text content | Every meaningful image has alt text. Decorative images have alt="". |
Partly |
| 1.2.1 Audio-only and video-only | Audio has a transcript. | Flags it |
| 1.2.2 Captions | Video has captions. | Flags it |
A machine can see that alt text is missing, is the filename, or is absurdly long. It cannot see the image. See how to write alt text.
Structure
| Criterion | What it means here | Machine? |
|---|---|---|
| 1.3.1 Info and relationships | Real headings, real lists, real tables with headers. One h1, no skipped levels. |
Mostly |
| 1.3.5 Identify input purpose | autocomplete on common fields. |
Yes |
| 2.4.1 Bypass blocks | A skip link. | Yes |
| 2.4.2 Page titled | Every page has a unique, descriptive <title>. |
Yes |
| 2.4.6 Headings and labels | They describe what follows. | No |
| 4.1.2 Name, role, value | Every control is announced as what it is. | Mostly |
Heading structure covers the one that causes the most trouble.
Colour and vision
| Criterion | What it means here | Machine? |
|---|---|---|
| 1.4.1 Use of colour | Links in text are underlined, not just coloured. Errors are not only red. | Partly |
| 1.4.3 Contrast | 4.5:1 for body text, 3:1 for large. | Yes, in a browser |
| 1.4.4 Resize text | Usable at 200% zoom. | No |
| 1.4.10 Reflow | No horizontal scrolling at 320px wide. | No |
| 1.4.11 Non-text contrast | Control borders and focus rings at 3:1. | Partly |
| 1.4.12 Text spacing | Survives increased line and letter spacing. | No |
Colour contrast has the detail, including why checkers disagree.
Keyboard and interaction
| Criterion | What it means here | Machine? |
|---|---|---|
| 2.1.1 Keyboard | Everything operable without a mouse. | Partly |
| 2.1.2 No keyboard trap | You can always get out. | No |
| 2.4.3 Focus order | The order makes sense. | No |
| 2.4.7 Focus visible | You can always see where focus is. | Partly |
| 2.4.11 Focus not obscured | Sticky headers do not cover the focused element. | No |
| 2.5.8 Target size | Controls at least 24 by 24 CSS pixels. | Yes, in a browser |
Criteria 2.4.11 and 2.5.8 are new in WCAG 2.2, and sticky headers hiding the focused element is a very common WordPress failure.
Twenty minutes with a keyboard covers most of this column.
Forms
| Criterion | What it means here | Machine? |
|---|---|---|
| 2.4.6 Labels | Visible labels, properly associated. | Mostly |
| 3.3.1 Error identification | Errors described in text. | Partly |
| 3.3.2 Labels or instructions | Fields say what they want. | Partly |
| 3.3.3 Error suggestion | Errors say how to fix it. | No |
| 3.3.7 Redundant entry | Do not ask twice for the same thing. | No |
| 3.3.8 Accessible authentication | No cognitive puzzle required to log in. | No |
3.3.7 and 3.3.8 are new in 2.2. The second one is why image CAPTCHAs are a problem. See accessible forms.
Language and predictability
| Criterion | What it means here | Machine? |
|---|---|---|
| 3.1.1 Language of page | <html lang="en">, set correctly. |
Yes |
| 3.2.3 Consistent navigation | The menu is in the same place everywhere. | No |
| 3.2.4 Consistent identification | The same thing is called the same thing. | No |
How much of this is automatable
Roughly: a machine can settle the mechanical half and flag some of the rest. The criteria marked “No” above are where the actual judgement lives, and they include the ones most likely to stop somebody completing a task.
Accessibility Remediation runs 41 checks across these criteria and separates barriers found from findings that need a person to look, rather than adding them into one reassuring number. Every check and the criterion it maps to is listed in Every check.
A sensible order of work
- Site-wide fixes. Skip link, focus outline, page language, link underlines. One switch each, every page.
- Contrast. Usually a handful of colour values.
- Alt text. Largest in volume, fastest in bulk.
- Headings. Fix the theme first.
- Forms. Highest value per fix.
- Keyboard pass. Twenty minutes.
- Screen reader pass. An hour, and it will surprise you.
Questions people ask
Do I need 2.2, or is 2.1 enough?
The European Accessibility Act is generally read against WCAG 2.1 AA. 2.2 is a superset and the additions are not onerous, so target 2.2 and you have covered both. See the EAA and your WordPress site.
What about Level AAA?
Few organisations target it, and WCAG itself does not recommend it as a general policy. Get AA right first.
Can a plugin make me WCAG compliant?
No. It can find and fix mechanical failures and keep a record. Conformance is a property of your site and your practices.
To see which of these your site currently fails, the plugin is free on WordPress.org.
