Ask most teams when accessibility gets addressed and the honest answer is: near the end, as a pass over what has already been designed and built. Add alt text, check contrast ratios, wire up ARIA labels, run an automated scanner. That catches a real category of issues. It also misses most of what actually makes an interface usable by someone who navigates it differently than the person who designed it.
Why the checklist approach falls short
An automated accessibility scanner can tell you a button has no accessible name. It cannot tell you that your checkout flow is impossible to complete with a screen reader because the step order only makes sense visually, or that your modal traps keyboard focus in a way that quietly locks a user out. Those are design decisions, made early, that no amount of end-of-project patching fixes cleanly.
Where it actually needs to start
- Colour and contrast decided at the palette stage, not checked after the UI is built and the brand colours are already locked in
- Focus order and keyboard navigation planned alongside the layout, not bolted on once the component structure exists
- Form errors and validation messaging designed to be announced clearly, not just visually flagged in red
- Real assistive-technology testing - a screen reader, not just an automated score - on the flows that actually matter to revenue
What we actually do differently
We treat accessibility as a design input, not a QA gate. That means keyboard and screen-reader paths get sketched out during the same UX pass as the visual design, not left for a developer to reverse-engineer from a Figma file during build. It costs less to decide this once than to retrofit it after launch, and it usually produces a cleaner interface for everyone, not just users of assistive technology.
“Accessible design is not a smaller version of good design. Most of the time, it's just good design, checked more carefully.”
Not sure where your product actually stands? Send us a link and we'll walk you through what a real accessibility pass would look like, not just what a scanner would flag.