Back to the Journal

Accessibility debt is still debt

Skipping access isn't a saving. It's a loan, the interest compounds quietly, and the balance never announces itself.

Engineering culture made its peace with “technical debt” years ago. Say the phrase in a meeting and heads nod. Speed was borrowed, interest is accruing, everyone understands the instrument.

Accessibility debt is the same loan with worse paperwork. Skip the alt text, ship the div that’s pretending to be a button, approve the light gray type because it looked expensive in the mockup, and you’ve borrowed. The demo went fine. Nothing visibly broke. A balance opened anyway.

The interest compounds quietly

And like all debt, it compounds while nobody’s watching. An inaccessible component gets reused, and now the fix lives everywhere the component does. A template with a broken heading structure becomes sixty pages with broken heading structures. Every feature built on top inherits the problem and adds a floor to it, so the retrofit you postponed costs a little more each sprint, not because anyone did anything wrong this quarter but because everyone kept building on the part that was wrong last year.

Construction figured this out before software existed. A ramp drawn into the blueprints costs almost nothing; a ramp jackhammered into a finished entrance costs multiples, plus scaffolding, plus the weeks the front door stays closed. Retrofitting a website prices exactly the same way. We’ve done both kinds of job, and nobody who has paid for the second kind ever schedules another one on purpose.

Other people pay first

Here’s what makes this debt quieter than the technical kind: you don’t pay the interest first. Other people do. Someone using a screen reader hits your unlabeled button and leaves. A keyboard user gets trapped in your modal and gives up. Your elegant gray-on-white sends a person with aging eyes squinting, then away. None of them files a ticket, because leaving is easier. The balance converts to your currency later: lost customers, a legal letter, a contract that required compliance you couldn’t show.

Paying it down

So the debt is real, the interest is compounding, and you’re behind. Most sites are. The question isn’t whether to feel bad about it; guilt ships nothing. What matters is where to start, and the sequence is the same as for any balance that got away from someone.

  1. Stop borrowing. Fix the shared components and templates first, so everything you ship from today forward lands accessible. New debt is the only kind you can prevent entirely.
  2. Pay down the doors before the hallways. Audit the routes people and money actually travel: navigation, search, forms, checkout.
  3. Unplug the mouse for an afternoon. If you can’t finish a purchase with a keyboard alone, you’ve just met your first invoice.
  4. Collect the cheap wins: contrast, alt text, labels on inputs, focus states a human can actually see.
  5. Move it into the definition of done. Debt lives on backlogs. Standards live in habits.

None of that clears the balance this quarter, and it doesn’t need to. Debt isn’t beaten by one heroic sprint; it’s beaten on the day the borrowing stops, and every day after that, the compounding starts working in your favor instead.

We build in black and white around here, so contrast is something we think about more than most. But this was never an aesthetic position, and it isn’t a compliance one either.

A site more people can use is simply a bigger front door.

The ramp belonged in the blueprints. Second-best place for it is today’s.