EN 301 549 V3.2.1 · WCAG 2.1
Your scanner found 47 issues. A regulator will ask about clause 9.1.4.3.
Curbcut translates accessibility findings into the language a conformance claim is actually written in — the clauses of EN 301 549 — ranks them by regulatory exposure, and drafts a statement that does not lie on your behalf.
Free core is MIT licensed and runs on your machine. No account, no telemetry, no page ever uploaded.
$ npx curbcut https://curbcut.org/demo/broken.html
Scanning 1 page…
https://curbcut.org/demo/broken.html
P1 Clause 9.4.1.2 — Name, Role, Value 3 elements
P1 Clause 9.1.1.1 — Non-text Content 1 element
P2 Clause 9.3.1.1 — Language of Page 1 element
P3 Clause 9.1.4.3 — Contrast (Minimum) 10 elements
P3 Clause 9.2.4.4 — Link Purpose (In Context) 1 element
5 clause(s) failing · 16 element(s) · P1 2 P2 1 P3 2 P4 0
written to curbcut-report/
That is not a mock-up. The page it scans is public — run the command yourself and you will get the same five clauses.
The gap it closes
Scanners report rule identifiers. Conformance is not
claimed against color-contrast. It is claimed against a numbered
clause of a harmonised European standard. That translation is the product.
| What axe-core says | What you have to claim against | Band | Why that band |
|---|---|---|---|
frame-title, label, link-name |
9.4.1.2 Name, Role, Value | P1 | An unlabelled password field stops a screen-reader user completing checkout. Task-blocking. |
image-alt |
9.1.1.1 Non-text Content | P1 | The most cited criterion in enforcement correspondence, and the easiest for an inspector to verify. |
html-has-lang |
9.3.1.1 Language of Page | P2 | One attribute, whole-document effect. Cheap to fix, conspicuous when absent. |
color-contrast |
9.1.4.3 Contrast (Minimum) | P3 | Required, widespread, rarely blocks a task outright. Real work, not an emergency. |
link-name |
9.2.4.4 Link Purpose (In Context) | P3 | Narrower reach than 9.4.1.2, same underlying markup defect. |
Ten contrast failures do not outrank one missing form label. Severity counts sort by how loudly a rule engine complains. Curbcut sorts by whether a person can finish what they came to do, because that is the question you will be asked.
Three things are sold to fix this
One of them was ordered to pay $1,000,000 over the promise it made.
| Approach | What it gives you | The problem |
|---|---|---|
| Overlay widgets accessiBe, UserWay |
One line of JavaScript, a promise of compliance, roughly $490 a year. | The US Federal Trade Commission brought a case over exactly that promise in January 2025, and approved a final order in April requiring accessiBe to pay $1,000,000. UsableNet’s 2025 midyear report counted 456 lawsuits, 22.6% of the US total, filed against sites that already had an overlay installed. The widget is a liability, not a shield. |
| Statement generators | A free page saying you are fully compliant. | Generated without testing anything. A statement is a public legal claim, and it carries your name, not the generator's. |
| Raw scanners axe, Lighthouse, Pa11y |
Accurate findings, free, no nonsense. Curbcut is built on axe-core. | They stop at rule identifiers. Nobody has ever been asked to demonstrate conformance with color-contrast. |
| Curbcut | Clause-level findings, exposure ranking, an honest statement draft, and the evidence trail behind it. | Automated testing still only reaches a third of the problem. We say so on every report instead of hiding it. |
What it does
Findings become clauses
Every result is reported as an EN 301 549 clause. WCAG 1.4.3 becomes clause 9.1.4.3, which is the form a conformance claim has to take.
Knows which WCAG binds you
Today it is V3.2.1, which adopts WCAG 2.1. That is about to change: V4.1.1 adopts WCAG 2.2 and is expected in the Official Journal around the end of 2026. Until it is cited there, 2.2 criteria are good practice rather than obligations. Curbcut reports them separately either way, so you can plan for the change instead of being billed for it a year early.
Ranked by exposure, not severity
Four bands, from task-blocking failures of the harmonised standard down to accessibility debt that sits outside it. Fix top-down and stop guessing.
A statement that admits limits
Pre-filled with what was tested, what was not, and which clauses no automated tool can reach. The gaps are printed, not omitted.
What no tool can do, this one included. Automated testing detects roughly a third of accessibility barriers. Keyboard traps, focus order, meaningful alternative text and screen-reader logic all need a human. Curbcut names the clauses it could not verify rather than quietly scoring them as passed. Anything claiming full automated conformance is selling you the accessiBe problem.
Pricing
Everything the command line tool does is free and MIT licensed, including the PDF report. What is sold is the part a tool on your laptop cannot do: watching the site after you stop looking at it.
Free
MIT licensed. No account.
- Whole-site crawl, no page limit
- Dated PDF conformance report
- Full EN 301 549 clause mapping
- WCAG 2.1 and 2.2 kept separate
- Statement draft in Markdown
- CI exit codes by priority band
- Runs locally, nothing uploaded
Monitor
In buildOne organisation, the sites it owns.
- Scheduled crawls, so drift is caught early
- Baselines, so a fix is provable
- Regression alerts by email
- Every report kept at a dated, permanent URL
- Told when the harmonised standard is revised
- Email support from the person who wrote it
Agency
In buildFor people who fix other people's sites.
- Everything in Monitor
- Unlimited client sites
- Reports carry your branding
- Per-client evidence trails
- Named-contact support
For comparison, at time of writing. UserWay lists around $490 a year and accessiBe starts near $41 a month for an overlay. AudioEye runs $199–799 a month. axe DevTools Pro is roughly $1,250 a year per developer seat. Curbcut is priced per organisation, not per seat, and it is not a widget you bolt onto the page.
Monitor does not exist yet, and is not taking money. Both paid tiers describe a hosted service that is still being built. Announcing it as though it were finished, on a site whose whole argument is against overpromising, would be absurd. The command line tool above is real, published and free today — that part is not a plan.
Write to hello@curbcut.org if you want it, and say what you would actually use it for. That decides what gets built first, and you will hear on the day it opens. Nothing is charged before then and there is no mailing list to escape from afterwards.
Questions people actually ask
Does the European Accessibility Act apply to me?
It applies to businesses selling covered products or services in the EU with more than 10 employees or more than €2 million in annual turnover. Microenterprises providing services are exempt, though that exemption does not extend to product manufacturers. The deadline was 28 June 2025 and enforcement began immediately: French disability organisations issued formal notices to major retailers within days, Sweden opened market surveillance in October 2025, and the first EAA cases reached a French commercial court that November.
Will this make me compliant?
No, and be suspicious of anything that says otherwise. Curbcut finds what automation can find, names the clauses involved and shows the gaps it could not test. Closing those gaps is engineering work, and some of it needs a human tester.
Do you upload my pages?
No. The free tier runs entirely on your machine in a local headless browser. There is no account, no telemetry and no server for anything to be sent to. The source is public so you can confirm that rather than trust it.
Why should I trust the numbers on this page?
Because they are checkable, and here is where to check them. The FTC case against accessiBe is public record. The litigation share comes from UsableNet’s 2025 midyear report. The scan in the terminal above runs against a page you can open yourself, and the code producing every clause mapping is on GitHub.
Is this site itself accessible?
It had better be. Read the accessibility statement, written to the same standard we ask of you — including the parts that remain unverified, which are listed by clause.