Back, or all the way home

Accessibility is easiest when it starts early

Designing and building with accessibility in mind keeps small decisions from turning into expensive problems.

Accessibility has a reputation for being hard, and it can be. But a surprising amount of the difficulty is scheduling. A heading structure decided at the design stage costs nothing. The same structure retrofitted across forty templates in release week costs a great deal, and by then it comes with an audit report attached. The work didn’t get harder. It just got postponed until it was expensive.

Starting early mostly means small, unglamorous decisions. Sensible page structure. The correct element for the job, a real <button>, a real <a>, headings in order. Browser-native behavior wherever it exists, because the browser has already solved focus, keyboard handling, and announcements for its own elements, and it doesn’t charge for it.

The temptation, ironically, is to do too much: hand-rolling custom widgets and then studying WCAG 2.2 like scripture to sprinkle aria- attributes over them until they behave. I wish I knew more of the spec by heart than I do. But the honest version of my practice is that I trust the people who do know it better.

That trust extends to third-party code. For genuinely complex patterns, dialogs, comboboxes, anything involving focus management, a well-tested library of primitives beats my homebrew version on every axis that matters. I’d much rather guide users through modal wonderland with a library I trust than scatter my own breadcrumbs and pray nobody gets lost. Reinventing the wheel is occasionally necessary. It’s rarely necessary for a dropdown, no matter how advanced.

And when a project can’t take on third-party code? Then I simplify. Fewer states, a more rigid structure, flows that don’t need clever focus choreography because there’s nowhere confusing to go. It sounds boring, and it is, . If I can’t afford the complexity done properly, the answer isn’t to do it improperly. It’s to need less of it.

None of this requires nobility. It’s mostly the humility to use what exists: the browser’s elements, other people’s tested work, a simpler flow. Started early, accessibility is less a discipline than a habit of not making problems for yourself. Started late, it’s a project. Early is cheaper.

Another thing