Insights.
Notes on UX engineering, design systems, and shipping the gap between Figma and production.
Notes on UX engineering, design systems, and shipping the gap between Figma and production.
Engineering · 6 min read
Close ✕Oct 2024
At the end of every sprint, someone mentions accessibility. It's in the backlog. It's flagged in the audit. It gets deprioritised because the features got shipped and accessibility is "not blocking anything."
This is the wrong model, and it costs teams more than they realise.
Retrofitting accessibility onto an existing component is significantly harder than building it in from the start. When semantic HTML is an afterthought, when ARIA roles are added on top of divs-doing-everything, when colour contrast is adjusted at the end — the result is fragile. It passes audits technically while failing users actually.
"An accessible component is a better-designed component. The constraints that WCAG imposes almost always improve the experience for everyone."
It means your component library is built with semantic HTML. It means your button is a <button>, your list is a <ul>, your form has associated labels. It means focus states are visible, not suppressed. It means colour is not the only means of conveying information.
None of this is hard. All of it is faster to do at build time than at audit time.
The fastest accessibility check I know: close your mouse, open your product, and try to use it. If you can tab through every interactive element, if you can operate every control with a keyboard, if focus is always visible — you're in reasonable shape. If you can't, you have a problem that no amount of ARIA will fully fix.
Accessibility that lives in a document nobody reads doesn't stick. What does stick:
1.3 billion people in the world live with some form of disability. In Ghana, that's millions of potential users. Accessibility isn't a niche concern for edge cases — it's a design choice that determines who can use what you build.
Build it in from the start. Not because the law says so. Because it's the right baseline for any product that wants to actually reach people.