Skip to content
All insights
Accessibility20 June 20266 min read

Accessibility is a release gate, not a finishing touch

For a system a citizen cannot opt out of, an inaccessible screen is a failure of delivery, not a missing nicety. We treat WCAG conformance the way we treat a failing test: it blocks the merge.

Delivery Practice

When a private product ships an inaccessible screen, some users go elsewhere. When a government system does it, there is nowhere else to go. The person renewing a document, declaring goods at a border, or filing a mandatory form has to use the system in front of them, with whatever device, connection, and assistive technology they have. That is why we hold accessibility to the same bar as correctness: it is a property the system must have to be considered working at all.

The common failure is to treat it as a pass at the end, a cleanup sprint before launch. By then the structure is set, the components are everywhere, and the fixes are expensive and shallow. Accessibility decided late looks like accessibility: bolted on, brittle, and the first thing to regress.

What we hold to

Our baseline is WCAG 2.2 AA across every traveler-facing and officer-facing surface, with AAA where it is reasonable to reach. That is not a slogan on a page. It is encoded as checks that run on every change, so a regression fails the build the same way a broken unit test does.

  • Automated checks in CI. Axe-core runs against rendered components and key pages on every pull request. A new contrast violation or missing label is a red build, not a backlog item.
  • Keyboard before mouse. Every interactive element is reachable and operable from the keyboard, with a visible focus ring on every surface, because a pointer is an assumption we do not get to make.
  • Semantics first. Real headings, real labels, real landmarks, and ARIA only where the platform falls short, so a screen reader hears a structure, not a wall.
  • Motion is optional. Every animation honors prefers-reduced-motion and collapses to a still, calm state, so depth never becomes a barrier.

Why it makes the whole system better

Designing for the hardest case tends to fix the ordinary one too. A form that works without a mouse is a form with a sane tab order. Copy that a screen reader can follow is copy a tired traveler can follow at a border at 2am. High-contrast, large-target interfaces are the ones that survive glare, cracked screens, and shared kiosks. Accessibility is not a tax on quality; on these systems it is one of the clearest measures of it.

If a person cannot complete a mandatory task because of how we built the screen, the system is broken. We treat it that way.

Holding the line here is cheaper than it sounds, because the cost is almost entirely in deciding early and never letting it slip. A gate that blocks the first violation keeps the hundredth from ever being written. That is the whole point of a gate.

Planning a new system, or need an independent assessment?

Whether you are modernizing a legacy platform or testing the one you already run, we will tell you plainly what it takes and where the risk is.