Skip to content
Senior web & app development · 20 capabilities
oakstone.digital
Journal / platform support

Accessibility without the retrofit

Accessibility retrofits are expensive because they arrive as a list of pages. Built in, it is a list of components — and there are far fewer of those.

Published /By , Platform/3 min read

Pages are the wrong unit

An audit report lists two hundred issues across sixty pages, and the number frightens everyone. Grouped by cause it is usually eight problems: one button, one form field, one modal, one carousel, one colour pair, one heading pattern, one focus style, one table.

Fix the component and the issue disappears everywhere. That reframing is the difference between a project people abandon and one they finish.

Decisions that belong in design

Contrast ratios, target sizes, focus indicators, error message placement and the order in which content is read are design decisions. Made correctly at that stage they cost nothing; discovered in an audit they mean reopening finished work.

The cheapest accessibility intervention available is annotating designs with heading levels and focus order before handover.

Automate a third, test the rest

Automated tooling reliably catches about a third of real issues — missing labels, contrast failures, absent alt text. Put axe in CI and let it hold that line permanently.

The other two thirds need a person: keyboard-only navigation, screen-reader announcements, focus management in dialogs, and whether an error message is actually comprehensible.

Skip the overlay

Overlay widgets promise compliance in one script tag. They cannot repair a broken heading structure or an unlabelled input, they frequently interfere with the assistive technology a user already has configured, and they have not protected anyone from litigation.

The money is better spent on eight component fixes and an axe check in CI.

The eight components that usually cover it

Across most sites and applications, the same short list accounts for the overwhelming majority of findings. Fix these properly, once, in a component library, and the remediation backlog stops looking like a project and starts looking like a fortnight.

  • Buttons and links — correct element, discernible name, visible focus
  • Form fields — persistent labels, described errors, grouped inputs
  • Dialogs and drawers — focus moved in, trapped, and returned
  • Menus and disclosure — real buttons with aria-expanded
  • Tables — captions, scoped headers, no layout tables
  • Media — alt text that carries meaning, captions, no autoplay
  • Colour pairs — contrast checked as tokens, not per screen
  • Headings — one h1, no skipped levels, structure before style

Questions people ask about this

Typically several times the cost of building it in, because the work arrives as a list of pages rather than components and reopens finished design decisions. Grouping findings by component is what makes remediation finishable.

No. They cannot repair heading structure, unlabelled inputs or keyboard traps, they often interfere with a user’s own assistive technology, and they have not prevented litigation. Fix the markup instead.

WCAG 2.2 Level AA. It is the level referenced by the European Accessibility Act, UK public-sector regulations and most ADA settlements, and it is achievable without compromising design.