Enforceable since 28 June 2025
The European Accessibility Act, and the standard behind it
The EAA has been enforceable since 28 June 2025, and 2026 is the first full year national authorities supervise against it. The law names accessibility requirements; the standard that says what they mean in practice is EN 301 549, and for the web that resolves to WCAG 2.1 level AA.
Who it applies to
Anyone selling covered products or services to consumers in the EU: e-commerce, banking, telecoms, transport, e-books, audiovisual media services. Including companies established outside the EU, if they sell into it.
Microenterprises — fewer than 10 employees and under €2 million turnover — are exempt for services, not for products. The threshold matters: the typical buyer of remediation work sits above it, which is also why the typical buyer has a budget.
How the standard maps
The mapping is direct and mechanical, which is unusual in compliance work and makes this one of the few regulated areas a tool can check honestly. For web content:
EN 301 549 clause 9.x.y.z corresponds to WCAG success criterion x.y.z.
So a failure of WCAG 2.1.1 Keyboard is a failure of EN 301 549 clause 9.2.1.1, and that clause number is what an auditor or a law firm will cite. For non-web software the same correspondence lives in clause 11.x.y.z.
| WCAG | Level | EN 301 549 | Typical source failure |
|---|---|---|---|
| 1.1.1 Non-text Content | A | 9.1.1.1 | <img> with no alt attribute at all |
| 2.1.1 Keyboard | A | 9.2.1.1 | A click handler on a <div>, unreachable by keyboard |
| 3.3.2 Labels or Instructions | A | 9.3.3.2 | A form field labelled only by a placeholder |
| 4.1.2 Name, Role, Value | A | 9.4.1.2 | An icon-only button with no accessible name |
| 2.4.7 Focus Visible | AA | 9.2.4.7 | outline: none with no :focus-visible replacement |
| 1.4.4 Resize Text | AA | 9.1.4.4 | user-scalable=no in the viewport meta tag |
What enforcement has looked like
Penalties are set nationally and run up to 5% of turnover for large companies in some member states, with figures in the €5 000 to €40 000 range for others, and market withdrawal in the worst cases.
In practice the first contact is rarely a regulator. It is a rights association filing a formal notice, or a law firm's letter — typically with a window of around 90 days to remediate. That window is the reason the expensive part is not detection.
The limit nobody selling you a tool wants to state
Automated testing reaches 30–40% of the WCAG success
criteria. The rest needs human judgement and testing with assistive
technology: whether an alt attribute is correct rather
than merely present, whether the reading order matches the meaning, whether
headings and labels are descriptive, whether a screen reader can actually
complete the task.
No automated tool can certify conformance, and anyone promising one is selling a liability. That is not a caveat — it is the reason overlay vendors ended up in front of regulators, and it is why an honest tool is worth more to someone with a notice on their desk than a confident one.
Where the hours actually go
Detection is solved. axe, Lighthouse and WAVE are good, free and widely used. What they cannot do is tell you which component in your source produced the problem: they run against the rendered page, so they report a symptom on a URL, not a file and a line.
The work sits in the two steps after that — fixing it in the code, and producing the accessibility statement and the clause-by-clause report an auditor reads. Almost nobody does the second one until they have to.
Audit your source, not your rendered page
eaa-lint is a free, open-source checker. It reads a web
codebase and reports WCAG 2.1 AA violations with file:line,
each mapped to both the WCAG criterion and the EN 301 549 clause.
npx eaa-lint ./src
23 rules, zero dependencies, nothing leaves your machine. Use it alongside axe or Lighthouse, not instead of them: source analysis and runtime analysis see different things.
A summary of a regulation, written to be useful, not a substitute for reading it, and not legal advice. On penalties in your member state, specific obligations, or how to answer a formal notice, talk to a professional.