IR

← Case studies

Bringing a financial product to WCAG 2.1 AA

Turning accessibility from an audit checklist into a default of the engineering process.

Context

A financial product with strong UX standards but inconsistent accessibility coverage. Some flows were keyboard-traversable; others depended entirely on hover and pointer interactions. Audits surfaced repeating issues — focus management, aria semantics, contrast — across teams.

Constraints

No dedicated accessibility team. Multiple feature teams shipping in parallel. Design system in place but underused. Couldn't slow delivery down.

Decisions

Treat accessibility as a property of the design system, not of individual screens. Bake keyboard navigation, focus rings and aria semantics into shared components. Add automated checks (axe + custom Cypress assertions) to PR pipelines so regressions never reached main.

Implementation

Audit-driven backlog converted into design-system tasks. Focus management primitives (modal, popover, menu) rewritten once, reused everywhere. CI gating on critical accessibility violations. Engineering training framed accessibility as semantic correctness, not extra work.

Outcome

Critical violations went from dozens per page to zero on monitored flows. Keyboard usability validated end-to-end on the top user journeys. Accessibility stopped being a periodic project and became a standing default.

Outcome metrics

Maintainability
A11y baked into design system
Developer experience
Automated CI gating prevents regressions
Accessibility
Critical axe violations → 0 on monitored flows