Accessibility audit
What it would do
Section titled “What it would do”axe already catches the mechanical violations, and it should keep doing so — it is faster, deterministic and free. This server would target the band above it: the findings that require reading the interface as a person would.
- Alternative text that is present and wrong. A rules engine can only check that the attribute exists.
- A keyboard path that works and is punishing. Forty tabs to reach the primary action is not a violation of any rule.
- Focus order that is sequential and illogical relative to the visual layout.
- Error messages that name a problem and no action — the difference between “invalid input” and “the date must be after today”.
- Announcements that are correct and badly timed, or so frequent they are noise.
- Reading order that diverges from visual order in a complex layout.
Why a model can attempt this band
Section titled “Why a model can attempt this band”Every item above requires comparing what is said with what is shown — a judgement about meaning, which is the one thing a rules engine has no access to and a model plausibly does.
The output is not a pass or a fail. It is a finding with an argument: what a person would experience, why it is a barrier, and what class of fix applies.
What it must not decide
Section titled “What it must not decide”Whether a finding is acceptable. That is a product decision with legal and ethical weight, and it must be taken by a person who can be accountable for it.
Whether the product is accessible. No tool can say that, and a generated report that implies it is actively harmful — it produces confident coverage claims that no user of assistive technology would recognise.
And it does not replace testing with people who use assistive technology daily. Nothing does. A team without that access should say so plainly rather than let a report imply otherwise.
What would make it useful rather than noisy
Section titled “What would make it useful rather than noisy”- Findings ranked by the cost to the person, not by rule severity.
- A concrete reproduction for each — the path, the state, what happens.
- No duplicate of what axe already reports. If the rules engine catches it, this should stay silent; overlap is how a report becomes unread.
- A calibrated false-positive rate, stated. A report that is right four times in five is useful if everyone knows it is four in five, and corrosive if it is presented as certainty.