Equally AI · 2023 – 2024
Teaching an AI to fix the web without losing the human in the loop
An AI assistant that turns a wall of WCAG violations into decisions a non-expert can make with confidence — and cuts the time it takes a new team to get their first fix live.

Role
Product Designer — research, interaction design, UI, design system, prototyping
Team
1 designer (me), 2 PMs, 6 engineers, accessibility specialist
Timeline
About 5 months, shipped in three releases
Tools
Figma, FigJam, Maze, Google Analytics, Notion
Headline result
18% reduction in onboarding time
What I did
- Ran the discovery interviews and synthesised them into three working personas
- Designed the ARIA conversation model and the confidence/consent pattern
- Rebuilt the widget configuration flow around progressive disclosure
- Owned the component library: variants, auto layout, and prototype flows used in testing
Context
Equally AI sells web accessibility to teams who mostly do not employ an accessibility expert. The product could already scan a site and list what was wrong. That was the problem. A scan on a mid-sized marketing site returned hundreds of violations written in the language of the specification — “element has insufficient colour contrast”, “ARIA attribute is not allowed” — and the person receiving that list was usually a marketer or a generalist developer with a compliance deadline.
Support tickets and the onboarding funnel told the same story from two directions: people signed up, ran a scan, and stalled. The business framing was activation. The design framing was different — the product was answering a question nobody had asked. Users did not want a list of everything wrong. They wanted to know what to do next, and whether it was safe to let the product do it for them.
Constraints I designed inside
- The AI would sometimes be wrong, and we could not hide that
- Fixes touch live production sites — trust was the whole product
- The audience ranged from WCAG-literate specialists to people who had never heard of a screen reader
- The interface itself had to be exemplary; an inaccessible accessibility tool is indefensible
Research
I ran eleven interviews across three groups: accessibility specialists at agencies, in-house developers who had inherited compliance work, and marketing owners who bought the tool because of a legal notice. I paired that with the quantitative picture — where people dropped out of onboarding, which report screens got opened and abandoned, which issue types were most frequently marked resolved and then re-flagged on the next scan.
What came back, repeatedly
- Non-experts could not triage. Everything on the report looked equally urgent, so nothing got fixed.
- Specialists distrusted automated fixes on principle and wanted to see the reasoning and the diff before anything shipped.
- Both groups wanted the same thing in different words: an explanation, not just a verdict.
- The widget's configuration screen asked twenty questions upfront when four would have been enough to get started.
“I don't need it to be right every time. I need to be able to tell when it's wrong.”
That quote reframed the project for me. The design problem was not accuracy — that was an engineering and model problem. The design problem was legibility of confidence.
The reframe
We had been designing a report. We needed to design a working relationship. I wrote the reframe as a single line and used it to argue for scope in every review that followed:
“ARIA should behave like a senior colleague reviewing your site with you — showing its reasoning, admitting uncertainty, and never shipping anything you didn't approve.”
That did real work. It killed the “auto-fix everything” button that had been on the roadmap. It justified spending interaction design effort on an explanation panel that a pure-efficiency view would have cut. And it gave the engineering team a rule for what the model had to expose: for every suggestion, a reason and a confidence level.
Explorations
- 01
Direction A — Inbox
Violations as a triage inbox with bulk actions. Fast for specialists, overwhelming for everyone else. Tested poorly with non-experts: they treated every item as equally severe and worked top to bottom until they gave up.
- 02
Direction B — Guided audit
A linear wizard walking through issue categories. Legible, but far too slow for the specialists who represented our expansion revenue, and it made the product feel like a course rather than a tool.
- 03
Direction C — Conversation plus workspace
ARIA as a persistent assistant beside a live issue workspace. Ask a question, get a grouped answer with a proposed fix; the workspace stays authoritative. This is what shipped, because it let the same screen serve both audiences at different speeds.
I prototyped all three in Figma at low fidelity and put them in front of six people from the original interview pool. Direction C won on a specific behaviour: participants started asking ARIA follow-up questions unprompted, which none of them did with the other two.
Design decisions, and why
Every AI suggestion carries a plain-language reason and a confidence state.
WhySpecialists told us trust comes from visible reasoning. Confidence also gives non-experts a triage signal they can act on without understanding WCAG.
Nothing ships without an explicit apply step, and every apply is reversible.
WhyThese fixes touch production. A single bad automated change would cost more trust than a hundred good ones earn.
Issues are grouped by cause, not by instance.
WhyOne missing pattern in a template produced ninety violations. Grouping turned a 400-row list into roughly twelve real decisions.
Widget setup asks four questions, then reveals the rest.
WhyAnalytics showed the drop-off cliff was on the configuration screen. Progressive disclosure moved people to first value before asking them to think about edge cases.
Severity is encoded in shape and label as well as colour.
WhyColour-only status in an accessibility product is a credibility failure, and it fails our own users.
The Figma layer
The file had to survive three parallel releases and hand-off to six engineers, so the structure was part of the design work, not admin.
- A single IssueCard component with variants for severity, confidence and applied state — 24 combinations from one component, so a change to the reasoning row propagated everywhere instantly.
- Auto layout throughout, with the explanation panel built to grow so long model responses were designed for rather than discovered in QA.
- Base and semantic colour variables with light and dark modes, mapped one-to-one to the tokens engineering shipped.
- Two prototype flows for testing: a specialist path (scan, group, review diff, apply) and a first-timer path (install, four questions, first fix). Both were interactive enough to run unmoderated tests.
Testing and iteration
Two rounds of usability testing, eight participants each, split between the personas. The first round broke in a way I did not expect: people trusted the AI too much. Confidence was rendered as a percentage, and participants read “87%” as a grade rather than a warning, applying low-confidence fixes without reading the diff.
I replaced the percentage with three named states — Confident, Worth a look, Needs your judgement — and made the lowest state require the diff to be expanded before the apply button became active. In round two, nobody applied an unreviewed low-confidence fix.
Outcome
18%
reduction in onboarding time
400 → ~12
violations to real decisions per scan
2 personas
served by one interface
Beyond the number, the qualitative shift mattered more to the team: support conversations moved from “what does this list mean” to “can ARIA also handle this pattern”, which is the conversation you want to be having.
Reflection
I would test the confidence language earlier. It looked like a copy detail in the design file and turned out to be the single highest-risk element in the product — the thing standing between a user and a broken production site.
I would also push harder for a lightweight way to capture what happened after a fix shipped. We measured onboarding well and outcomes poorly, and the outcome is the part that would have made the strongest case for further investment.