Lints a published accessibility statement against the EU model statement: compliance-status wording, non-accessible content with reasons, preparation and last-review dates, feedback and enforcement sections. Runs entirely in your browser — nothing is uploaded.
Same engine as the VS Code extension, byte for byte.
Free for the file open in your editor - no key, no limit. The workspace sweep and the report ask for a key.
VS Code MarketplaceOpen VSX (Cursor, VSCodium)npmMCP server (npx)Docker Hubext install ReadyStack.accessibility-statement-lint npx @readystack/accessibility-statement-lint <file> npx @readystack/accessibility-statement-lint --mcp
Team? One key for every ReadyStack linter, 5 seats, $149 once
Sweeps every locale and sub-site statement in the workspace and writes one dated report with a per-file verdict
One payment, one licence key for this tool. The key is shown right after payment.
A consultant charges $150-$250 an hour to review one statement; a full agency accessibility audit starts around $2,500.
Buy the full version — $29· ReadyStack
Real numbers from this tool, line by line.

Eight gaps in one accessibility statement, seven of them high severity — that is what a public-sector web team in the EU gets back the first time it runs the kind of statement a chat assistant writes through a check of the EU model statement.
An accessibility statement is not a marketing page. Directive (EU) 2016/2102 obliges every public sector website in the EU to publish one, and the Commission's model statement fixes what goes in it: a commitment sentence, the legal basis, the scope, one compliance status, a Non-accessible content section sorted into three reason categories, a date of preparation with the method used, a date of last review, a feedback channel, and an enforcement procedure. Directive (EU) 2019/882 carried the same habit into private-sector services.
Monitoring bodies sample these statements. They do not begin with your code. They begin with this page, and the cheapest thing to check on it is a date.
Accessibility Statement Lint runs 19 checks over the statement file you already published. Two files ship with it, and every number below was measured on those two files, not estimated.
The first is a complete statement for a fictional Danish municipality. It declares one status, sorts its non-accessible content into the three model categories, backs its disproportionate burden claim with a dated assessment and an accessible alternative, and carries a preparation date of 14 January 2026 and a last review date of 20 August 2026. Checked on 16 September 2026, it returns 0 findings.
Now move only the calendar. Feed the identical file with an audit date of 1 October 2027 and one finding appears: the last review is 13 months old. Article 7(1) of Directive (EU) 2016/2102 requires the statement to be kept up to date, so a statement that was clean a year ago is not clean now. Only the date changed, and that is the failure mode nobody has a reminder for.
The second file is what a chat assistant produces when you ask it for a statement. It looks plausible. It returns 8 findings, 7 high severity and 1 medium:
law_cited two directives exist; neither is named by number status_single "partially compliant" and "not compliant" in one file standard_version_stale EN 301 549 V2.1.2 instead of V3.2.1 burden_assessment a disproportionate burden claim with nothing behind it burden_alternative and no accessible alternative offered review_stale last review 30 months old enforcement_procedure no body to escalate to placeholder_left [insert your organisation name], still there
The last one stings because it is public: a placeholder in square brackets is what a generated document looks like when nobody read it before it went live.
This is the gap a chatbot cannot close. It writes you a fresh statement in seconds, but it cannot open the one already serving on your domain, and it has no reliable sense of today's date against your last review date. Free contrast and WCAG checkers test pages; this is a document, and its defects are missing sections, stale dates and unfilled placeholders.
The same engine runs in the browser and inside VS Code. Checking the file open in your editor is free, needs no key and no account, and finishes the job for one statement. The licensed version answers the next question: which of your locale statements is the stale one? It sweeps every statement in the workspace and writes one dated report with a per-file verdict.
For scale: an accessibility consultant charges $150 to $250 an hour to read one statement against the model, and a full agency accessibility audit starts around $2,500.
Open your own accessibility statement. Check the date of last review first.
It reads an accessibility statement you have already published and reports what the EU model statement requires and your file does not contain. Nineteen checks cover the commitment sentence, the legal basis, the compliance status wording, the three reason categories for non-accessible content, the disproportionate burden assessment, the date of preparation, the date of last review, the feedback channel and the enforcement procedure.
Public sector web teams in the EU, the digital agencies that publish on their behalf, and private-sector service providers now covered by the European Accessibility Act. If somebody on your team owns a page titled Accessibility statement, and a national monitoring body can sample that page without warning, this extension checks the exact file the body will read.
A chat assistant writes you a brand new statement in seconds, but it cannot open the one already live on your domain, and it has no reliable sense of today's date against your last review date. Free contrast and WCAG checkers test pages, not this document. The defects here are missing sections, stale dates and unfilled placeholders.
Free checks the statement file open in your editor and names every missing section, each finding on its own line in the Problems panel. That finishes the job for one statement. The licensed version sweeps every locale and sub-site statement in the workspace at once and writes one dated report carrying a per-file verdict.
An accessibility consultant charges $150 to $250 an hour to read one statement against the model, and a full agency accessibility audit starts around $2,500. The licensed version is $29 once, one licence key per person or team seat,. Checking a single file stays free and needs no key.
A general AI chat answers from training data with a cutoff date, cannot read your repository and names no rule version. Accessibility Statement Checker (EU model, EN 301 549) checks the file you open against 19 rules from a rule set dated 2026-09-20, and points at the exact line. For a filing, an audit or a client you need that dated result on your own files.
One question, answered by the person who built it. Your email only if you want the answer sent.
Paste this code into your page. It runs in your visitor’s browser and stays up to date. Nothing your visitors type is stored.
For businesses: your name and logo instead of ours, and each visitor’s result + e-mail in your inbox (only when they tick consent) — Pro from $19/month. See Pro →