I keep coming back to this idea that reworking accessibility in a shipped product is expensive. I'm not just talking money, but mainly time, morale and that weird guilt that settles over you when you realise you've been building stuff wrong.
The real work, the really lasting work, isn't patching things up. I'd rather be rewiring how decisions are made in the first place.
Like, what if your design tokens enforced contrast ratios before a single UI component gets built? What if "does this work with a keyboard?" lived in the code pull-request not in an audit checklist?
That's system-level change.
System-level change is slow at first. Annoyingly slow.
But a linting rule runs forever. A documented pattern gets copied and referenced throughout. A shared component that works with a keyboard multiplies across every page that uses it.
I'm less interested in fixing the million small broken things and more inclined to make it structurally hard to break them in the first place.
None of this is easy to pull off of course. Structures resist it. Budgets don't account for it. And sometimes the system itself isn't yours to change.