Web Content Accessibility Guidelines
WCAG 2.2, explained for agencies
Every accessibility law in Europe eventually points at the same document. WCAG is not legislation — it is a technical standard from the W3C that regulations reference because it is testable. This guide covers what it contains, what levels A and AA actually ask for, and which parts a scanner can verify.
Information for agencies and their clients — not legal advice.
What WCAG is
The Web Content Accessibility Guidelines are published by the World Wide Web Consortium (W3C). They are a technical standard, not a law, and nobody enforces WCAG directly. What happens instead is that legislation points at it.
In the EU, the European Accessibility Act relies on the harmonised standard EN 301 549, and for web content EN 301 549 points at WCAG at level AA. So the chain runs: national law → EU directive → EN 301 549 → WCAG. By the time a client asks “what do we actually have to do”, the answer is a list of WCAG success criteria. The legal chain in full.
WCAG is organised as four principles, a set of guidelines under each of them, and a numbered list of success criteria. The success criteria are the testable part: each one is a statement that is either true or false for a given page.
The four principles
Everything in WCAG hangs off four words. They are worth learning because they are the fastest way to explain a finding to a client who does not care about criterion numbers.
Perceivable
The user has to be able to take the information in through some sense. Alternative text for images, captions for video, enough contrast between text and its background, structure that survives when the styling does not.
Operable
The user has to be able to drive the interface. Everything reachable and usable with a keyboard, no traps, enough time to complete a task, controls large enough to hit, a way to skip repeated navigation.
Understandable
The content and the interface have to make sense. A declared page language, predictable navigation, labels that say what a field wants, and error messages that say what went wrong and how to fix it.
Robust
The page has to work with the software people use, including assistive technology. Every control exposes a name, a role and its current state — which is what a screen reader reads out.
Levels A, AA and AAA
Each success criterion carries a level, and the levels are cumulative:
- Level A — the floor. Failing one of these usually means some group of users cannot use the feature at all: an image with no alternative text, a control that cannot be reached with a keyboard.
- Level AA — the level regulations reference, including EN 301 549 and therefore the EAA. It includes everything in level A, plus criteria such as minimum colour contrast, text resizing and consistent navigation.
- Level AAA — a further, more demanding set. The W3C itself does not recommend AAA as a general policy for entire sites, and the EAA does not require it. Rampsight does not test it: putting AAA findings in a compliance report inflates the problem with things nobody is asking for.
“WCAG AA” in a tender document therefore means all of level A and all of level AA.
WCAG 2.0, 2.1 and 2.2
There are three versions of WCAG 2 in circulation, and they are additive rather than competing. Later versions add success criteria; they do not rewrite the earlier ones.
- WCAG 2.0 became a W3C Recommendation on 11 December 2008. It is the base that older regulations reference.
- WCAG 2.1 followed on 5 June 2018, adding one guideline and 17 success criteria — largely mobile, low vision and cognitive accessibility. This is the version EN 301 549 currently references for web content, at level AA.
- WCAG 2.2 became a Recommendation on 5 October 2023, adding 9 success criteria — among them Focus Not Obscured, Dragging Movements, Target Size (Minimum), Consistent Help, Redundant Entry and Accessible Authentication. One older criterion, 4.1.1 Parsing, is obsolete and removed in 2.2.
The W3C states that content conforming to WCAG 2.2 also conforms to WCAG 2.1 and WCAG 2.0. That is why Rampsight tests against WCAG 2.2 at levels A and AA: it covers the WCAG 2.1 AA baseline that EN 301 549 references today, and it does not leave your clients re-testing the day the standard reference moves.
What an automated tool can and cannot check
This is the honest part, and it is the part most vendors skip. Rampsight runs the axe-core engine in a real browser against every page it crawls, restricted to the WCAG A and AA rules. Automated testing covers a real but partial share of the success criteria.
What a scan reliably finds
The machine-verifiable facts — the ones where the answer is in the markup or in a computed value:
- Missing alternative text on images and image buttons.
- Contrast ratios below the threshold, computed from the rendered colours.
- Form fields, buttons, links and frames with no accessible name.
- A missing or invalid page language.
- Invalid or unsupported ARIA: attributes a role does not allow, required attributes that are absent, values that are not legal.
- Structural markup that is broken — lists that are not lists, data tables whose headers point nowhere.
- Zooming disabled in the viewport meta tag.
- Touch targets below the minimum size.
What only a person can judge
- Whether alternative text is any good. A tool sees that
altexists. It cannot see thatalt="image"on a product photo tells a buyer nothing. - Whether a custom widget actually works. A hand-built date picker or modal can carry perfect ARIA and still trap focus or announce nonsense.
- Reading and focus order. Whether tabbing through the page follows the visual order, and whether focus goes somewhere sensible after a dialog closes.
- Whether link text makes sense out of context. Twelve links all reading “read more” pass every automated check.
- Whether error messages help. “Invalid input” is announced correctly and is still useless.
- Media. Whether captions match the audio, whether an audio description exists and describes the right things.
The practical consequence: a scan is how you find the hundreds of mechanical failures fast and cheaply, so the expensive human review starts from a site that is already fixed in the obvious places. It is not a substitute for that review, and a clean scan is not a conformance claim.
Common failures
These are the checks that catch real sites again and again. Every rule below comes from the engine we actually run, with the WCAG success criterion and level it maps to, and what the failure does to somebody trying to use the site.
| What we check | axe rule | WCAG criterion | What the failure means for a real user |
|---|---|---|---|
| Images with no alternative text | image-alt | 1.1.1, level A | A screen reader reads out the file name, or nothing at all. If the image is a product photo or a button, the user has no idea what it is. |
| Text with too little contrast | color-contrast | 1.4.3, level AA | Grey-on-white body text and pale placeholder labels disappear for anyone with low vision, and for everyone else in sunlight. This is the single most common failure on business websites. |
| Form fields with no label | label | 4.1.2, level A | The field is announced as “edit text, blank”. A visitor filling in a checkout cannot tell the postcode box from the phone box. |
| Buttons with no discernible text | button-name | 4.1.2, level A | Icon-only buttons — a cart, a hamburger, a close cross — are announced as “button”. The user has to click and find out what happens. |
| Links with no discernible text | link-name | 2.4.4 and 4.1.2, level A | Screen reader users often navigate by pulling up a list of links. An empty or icon-only link appears in that list as nothing. |
| Links marked only by colour | link-in-text-block | 1.4.1, level A | A link inside a paragraph that differs from the text only by hue is invisible to a colour-blind reader. They never find out it was clickable. |
| No language declared on the page | html-has-lang | 3.1.1, level A | A screen reader falls back to its default voice, so German text is pronounced with English rules. It is one attribute, and it makes a page unlistenable. |
| Zooming disabled in the viewport tag | meta-viewport | 1.4.4, level AA | Pinch-to-zoom is switched off on the phone. A user who needs larger text simply cannot get it — usually because a theme shipped that meta tag years ago. |
| Touch targets under 24 px | target-size | 2.5.8, level AA (new in WCAG 2.2) | Small, tightly packed controls — pagination, cookie banners, footer icons — are hard to hit for anyone with a tremor or a large thumb. |
| Broken list markup | list | 1.3.1, level A | A “list” that is really a stack of divs is not announced as a list of five items, so the user loses the count and the ability to skip it. |
Every one of these is fixable in the code, usually in a template or a component rather than page by page. That is the difference between a finding and a task: our reports name the pages a rule failed on, the CSS selector and the HTML of the failing element, so a developer knows where to go. See a full report.
Using this with a client
- Set the target as “WCAG 2.2, levels A and AA”. It is the level regulations reference, and stating the version avoids the argument later.
- Baseline the site. A scan of 100 to 1000 pages, depending on the plan, gives you a score, a grade and a list of located failures on day one.
- Fix by severity and reach first. A contrast failure in the global header outranks a rare one on a single page. Fixing the component fixes every page at once.
- Then commission the human pass for keyboard operation, screen reader behaviour and content quality — the criteria on the second list above.
- Publish an accessibility statement that says honestly what conforms and what does not yet. What it must contain.
- Keep scanning on a schedule, because the next release is what breaks it.
What this page is, and what it is not
Automated testing finds a real but partial share of the WCAG success criteria. Whole families of requirements — whether alternative text actually describes the image, whether a custom widget can be driven with a keyboard and announced sensibly, whether an error message helps — can only be judged by a person. No automated tool can prove conformance, and Rampsight never certifies, guarantees or ensures it. What a scan gives you is evidence: located failures, tracked over time, that you can hand to a developer.
This page is information for web agencies and their clients, written in plain language. It is not legal advice. For a binding view of your own obligations, ask a lawyer qualified in the country where your client sells.
Put a number on a client site this week
Run a WCAG 2.2 A and AA scan, get the failures located page by page, and send the report under your own brand. 14 days free, no credit card required.