How we automated our Accessibility VPATs in CI π
Accessibility audits usually go out-of-date the minute you merge a PR. To fix this, we turned our ACR/VPAT into a continuous build artifact! We built a pipeline on top of tools like axe-core to catch what basic static a
Accessibility audits usually go out-of-date the minute you merge a PR. To fix this, we turned our ACR/VPAT into a continuous build artifact!
We built a pipeline on top of tools like axe-core to catch what basic static analysis misses:
-
Static:
axe-corefor baseline checks in Storybook. - Interactive: Custom Vitest helpers testing W3C keyboard contracts.
- Manual: Subjective audits (e.g., screen readers) stored as JSON.
CI merges these. Violations fail the PR, while passes auto-generate a fresh PDF shipped with the release.
The failed AI experiment: We tried using an LLM to replace the manual step, but scrapped the whole thingβit was way too non-deterministic to be a reliable CI gate!
Read the full technical breakdown: π Keeping 170+ Components Accessible: How We Made Atomic's VPAT a Build Artifact
Originally published by Dev.to WebDev. Aggregated on AIWithGhost for educational purposes β full credit and traffic to the original publisher.