DSME Global Links
DSME Global Links
Engineering

Accessibility in B2B SaaS: the procurement blocker nobody plans for

Enterprise and public-sector buyers ask for a VPAT. Building accessibly from the start costs far less than retrofitting under deadline.

Ayesha Khan·Design Lead·December 3, 2025·6 min read

Accessibility in B2B rarely arrives as a values conversation. It arrives as a procurement questionnaire, three weeks before a contract, asking for a conformance report you do not have.

The commercial reality

Public sector and large enterprises increasingly require documented accessibility conformance. Not having it removes you from consideration regardless of how good the product is — and remediation under deadline is the most expensive way to acquire it.

What actually blocks people

The recurring issues in our reviews. Automated scanners catch roughly the first two; the rest need keyboard testing.

  • Custom controls with no keyboard behaviour5

    Divs acting as buttons, selects, tabs

  • Focus lost or trapped5

    Modals with no escape, invisible focus ring

  • Colour as the only meaning4

    Status shown purely as red or green

  • Errors announced nowhere4

    Screen reader never reaches the message

  • Tables without headers3

    Unnavigable non-visually

The things that block people most

In our experience the same handful of issues account for most real-world failures:

  • Custom controls built from divs with no keyboard behaviour or role
  • Focus that disappears, or is trapped inside a modal with no escape
  • Colour as the only carrier of meaning — status shown purely as red or green
  • Forms where the error is announced nowhere a screen reader will reach
  • Data tables without headers, which are unnavigable non-visually

Automated checks find about a third

Linters and scanners catch contrast and missing labels. They cannot tell you whether the focus order makes sense or whether your custom combobox is usable. Keyboard-only testing, done for twenty minutes per release, finds more than any tool.

Where to apply the fix

  • Fixed per featureDecays with the next feature
  • Fixed in the component libraryBecomes a property of the product
  • Automated scanners onlyCatches roughly a third
  • Twenty minutes of keyboard testing per releaseCatches most of the rest

Build it into the component library

Accessibility applied per-feature decays. Applied once, in the shared components everything is built from, it holds. That is the difference between a one-off remediation project and a property of the product.

A
Written by
Ayesha Khan
Design Lead, DSME Global Links