Accessibility Statement Generator
Generate the accessibility statement the European Accessibility Act requires — in your member state's format and language — from accessibility test results you already have.
Nothing you enter leaves your browser. The generator runs entirely in this tab — there is no upload, no account, no email address and no tracking. That is a property of how it is built, not a promise: the engine makes no network calls at all.
What it produces
-
EU accessibility statement
In your member state's format and language, listing non-accessible content against EN 301 549 clauses, with the feedback route and the enforcement body a user actually complains to.
-
VPAT 2.5 / ACR
A conformance report in the machine-readable OpenACR format, with HTML and Markdown views over the same document.
-
Disproportionate-burden worksheet
The Article 14 assessment: cost–benefit prompts against the Annex VI criteria, the micro-enterprise check, and the mandatory five-year reassessment date.
-
Traceability report
Every conclusion traced back to its evidence: criterion, EN 301 549 clause, source file, rule and selector. Conflicts are surfaced, never silently resolved.
Countries covered
Each member state words its statement differently, in its own language, citing its own law and enforcement body. Every jurisdiction below has been checked against official government sources.
| Country | Quality | Languages | Enforcement body |
|---|---|---|---|
| Germany (Deutschland) | Silver | de, en | Marktüberwachungsstelle der Länder für die Barrierefreiheit von Produkten und Dienstleistungen (MLBF) – Anstalt öffentlichen Rechts |
| Spain (España) | Silver | es, en | Unidad Técnica de Apoyo y Coordinación (UTAC) |
| France | Silver | fr, en | Direction générale de la concurrence, de la consommation et de la répression des fraudes (DGCCRF) |
| Ireland (Éire) | Silver | en, ga | Competition and Consumer Protection Commission (CCPC) |
| Italy (Italia) | Silver | it, en | Agenzia per l'Italia Digitale (AgID) |
There is also a generic EU statement based on the model in Commission Implementing Decision (EU) 2018/1523, for use where no national pack exists yet.
Not yet covered
Austria, Belgium, Bulgaria, Croatia, Cyprus, Czechia, Denmark, Estonia, Finland, Greece, Hungary, Latvia, Lithuania, Luxembourg, Malta, Netherlands, Poland, Portugal, Romania, Slovakia, Slovenia, Sweden, plus Norway, Iceland and Liechtenstein.
A jurisdiction pack is data, not code — the national law, the enforcement body, and a translation. It takes about an evening and needs no knowledge of the engine. Add your country.
Guides
Reference material on the regulation and the standards, written to be useful whether or not you use this tool.
-
What the European Accessibility Act requires in an accessibility statement
Directive (EU) 2019/882 has been enforceable since 28 June 2025. This is what it asks of the document, in plain terms, with the sources.
-
EN 301 549 and WCAG: how the two standards relate
EN 301 549 is the standard European accessibility law points at. For the web it is largely WCAG with a different numbering scheme — but the numbering is what a regulator expects to see cited.
-
Disproportionate burden under Article 14
The Act allows exemption where meeting a requirement would impose a disproportionate burden. The exemption is not self-executing: it exists only if you have actually assessed it and can produce the reasoning.
-
VPAT, ACR and OpenACR explained
Three terms that get used interchangeably and should not be. The distinction matters when a customer asks you for one.
-
Turn your existing test results into an accessibility statement
If you already run axe-core, pa11y or Lighthouse, most of the evidence for a statement exists. The gap is turning findings into a document that cites the right clauses and says only what the evidence supports.
Put it in your pipeline
The browser tool is for a one-off document. The command line is where this earns its keep: check compares conformance against a committed baseline and fails the build when a criterion regresses, so the statement stays true after the day you generated it.
npx accessibility-statement init
npx accessibility-statement render statement --jurisdiction de --lang de --out statement.html
npx accessibility-statement check
Reads axe-core, pa11y, pa11y-ci and Lighthouse JSON. Outputs HTML, Markdown, OpenACR, Word and tagged PDF. There is a first-party GitHub Action, recipes for other CI systems, and a pre-commit hook.
What it is not
It is not a scanner — axe-core owns that job and this tool consumes its output rather than competing with it. It is not an accessibility overlay, and it will not make an inaccessible site compliant. It does not provide legal advice.
What it does is turn the evidence you already have into the documents the regulation asks for, honestly — including saying plainly which criteria have not been evaluated.