An online bookstore (anonymised) — 12,000 unique monthly visitors, 6 people in-house including 1 senior developer part-time on accessibility. Here are the 18 months that took the site from 41% to 96% compliance, measured against the same ComplAudit audit from start to finish. A realistic SME case, with no unlimited budget or dedicated team.

Month 1 — initial audit

Starting score: 41%. 184 blocking issues: 88% of images without alt, a search form with no label, off-spec contrast on every "buy" button. The key point: this dated initial score becomes the baseline against which all progress is measured — and the proof, in case of a complaint, that the approach has a starting point.

Months 2-6 — catalogue sprint

A migration script to fill in 4,500 missing alts from the Onix metadata (the book industry's data standard), rather than by hand. Rewrite of the design system's `<Button>` component with a minimum 4.6:1 contrast, which fixes the problem everywhere at once. Score: 67%.

Months 7-12 — checkout and modals

A complete rebuild of the checkout funnel: split into 3 steps to reduce complexity, visible labels, focus management. Modals rebuilt with Reka UI Dialog instead of an in-house implementation. Score: 84%. It's the most expensive phase, but also the one that addresses the highest legal-risk scope — the act of purchasing.

Months 13-18 — the long tail

Minor criteria: heading hierarchy, foreign-language quotes, `aria-current` on pagination. Setting up continuous monitoring with regression alerts, so the score doesn't drop back at the next deployment. Final score: 96%.

Total cost

About 30 person-days spread over 18 months (~€24,000 in internal cost) + €449 of audits (3 Multi audits). Compare that to the EAA's €250,000 maximum fine — not counting the reputational harm of a public sanction.

The 3 decisions that made the difference

  1. 01Fix at the design-system source (a single `<Button>` component) rather than page by page
  2. 02Script the catalogue (4,500 alts) instead of entering them by hand
  3. 03Set up continuous monitoring before the end, to lock in the gains made

Frequently asked questions

Why 18 months and not 3?

Because accessibility was run part-time, alongside the business, without blocking the product roadmap. Going faster is possible with more resources, but the sequencing (blockers first) protects from the very first weeks, well before the final 96%.

Should you aim for 100%?

No. 96% with an honest statement and active monitoring is an excellent level. The last points cost a lot for a low residual risk; better to maintain the score over time than to chase one-off perfection.

Is this case transferable to my store?

The orders of magnitude (person-days, gains per phase) are representative of an e-commerce SME. Your starting point and your stack will change the details, but the logic — blockers first, fix at the source, lock in with monitoring — stays the same.

Get your dated starting score, like month 1 of this case:

→ Run an audit