Accessibility audits that show exactly who gets blocked — and why.
Real personas run your live app end-to-end, cross-checked against axe-core's WCAG engine — every finding is either machine-verified or clearly labeled as a signal, never guessed.
Show me who's blocked
She's 68. The OTP timer runs out before she finishes reading it.
Our elderly persona reads at 120 words a minute and gives up after 30 seconds of ambiguity. Our low-vision persona can't move past a field without AA contrast and a real focus order. These aren't edge cases — they're two of the users your app already has.
elderly_low_literacy · oku_visual — real persona thresholds, not guesses
Your funnel shows a drop-off. It doesn't show why.
A blocked OKU or senior user doesn't file a ticket — they close the tab. Standard analytics can't tell you if that was a contrast failure, a missing label, or a timer that was never built for them. As accessibility expectations tighten for consumer and government-facing apps, "we didn't know" stops being a defense.
Every run ends here: a score, and a map of exactly who got stuck.
Below is a sample run, not your data — three personas through a four-step sign-up flow. Your first real run will look like this, built from your own staging URL.
1 of 3 sample personas blocked outright — a first-time digital user stuck at the OTP step before she can even reach the form.
Friction matrix
| Persona | landing | otp | submit | success |
|---|---|---|---|---|
| Siti Nurhaliza | 3.2s | blocked | blocked | blocked |
| Aunty Mei | 4.1s | 15.2s | 21.8s | 3.6s |
| David Lim | 1.8s | 2.6s | 2.2s | 1.5s |
Real personas · axe-core WCAG 2.2 · zero manual scripting
Not a checklist — live personas run your real flow end to end.
axe-core WCAG checks stay separate from AI judgment — never guessed.
Point at any staging URL — the agent adapts itself, no scripting.
Point at any staging URL.
No scripting, no test IDs to wire up first. Give it a URL and a goal — the agent figures out the rest.
Real personas run the flow, live.
Each persona moves through your app at its own pace, cross-checked against axe-core's WCAG engine as it goes.
Get the friction map.
An inclusion score, plus a step-by-step breakdown of exactly who got blocked — and why.