Accessibility

WCAG

WCAG is the W3C standard for making web content usable by people with disabilities. It defines three conformance levels — A, AA and AAA — and AA is the one European law, public tenders and corporate contracts actually ask for.

Web Content Accessibility GuidelinesAlso known as: WCAG 2.1, WCAG 2.2, web accessibility standardUpdated September 22, 2026

What it is

WCAG is a list of testable requirements, not a philosophy. The current version most people mean is 2.1, published in 2018; 2.2 arrived in 2023 and adds nine criteria. Everything is grouped under four principles — content has to be perceivable, operable, understandable and robust — and each principle holds success criteria that a page either meets or does not.

The levels matter more than the version. Level A is the floor, AA is the working standard, AAA is a target nobody holds a whole site to. WCAG 2.1 at A and AA together is 50 success criteria, and that is the set worth planning around.

Why it matters if you are paying for a website

Because AA is the number that turns up in contracts. The European Accessibility Act points at EN 301 549, and EN 301 549 points at WCAG 2.1 level AA. Public procurement in Poland has referenced it for years, and large companies increasingly push the same clause down to their suppliers. When a tender says “accessible”, this is the thing it means.

The second reason is cheaper to act on: most of the criteria are also plain build quality. Labelled form fields, a visible focus ring, contrast you can read on a laptop in daylight, a page that survives being zoomed to 200%. None of that is charity work.

What it looks like on this site

Every build runs axe over 42 routes in both colour themes. That is the easy half. The harder half is a second checker I wrote, because axe cannot judge some criteria at all and abstains on others: reflow, text spacing, focus visibility, focus not obscured, dialog focus, autocomplete, label-in-name — and contrast, which it reports as incomplete rather than failing whenever a gradient or a pseudo-element sits anywhere above the node.

Two findings from running it on my own site are worth stating plainly. The brand blue measures 3.9:1 against white: fine for a fill or an icon, under AA for anything set at body size, which is why three separate blues exist in the stylesheet instead of one. And for a while the site knowingly failed criterion 2.4.11: the cookie banner was a floating card pinned over the page, and it could cover a focused element at the bottom of the viewport. That one accepted failure was why the copy here said 2.1 AA and not 2.2. The banner now hangs from a sticky dock inside the page instead — it moves up with the content before the footer and the browser scrolls a focused link clear of it — so the failure is gone and the claim is 2.2 AA.

What WCAG is not

It is not a plugin. The overlay widgets sold as “instant compliance” are, at best, a second interface bolted over the broken one; the accessibility community has spent years documenting why they make things worse, and buying one does not change what an audit finds.

It is also not a score. A tool that reports zero violations has told you that it found nothing it knows how to look for — which, on a page whose real problem is a heading order that makes no sense to someone using a screen reader, is not the same as passing.

See also

Want this done, not just defined?

This is the part of the work I get hired for. The page below says what it costs and how it runs.

Accessibility audit (WCAG 2.1 AA)