Accessibility Regression Workflow
Add automated accessibility checks per pull request with a curated rule set and manual checks for the rest.
Objective
Prevent accessibility regressions through repeatable automated and manual checks.
Environment
- An accessibility scanner in CI
- A curated rule set
- Manual test guidance
Steps
1. Run automated checks on changed pages
Scan pages affected by the change for high-signal accessibility violations.
Expected state: Automated violations are caught before merge.
2. Focus on high-signal rules
Gate on rules that reliably indicate real problems, warn on the rest.
Expected state: The gate is trusted, not ignored.
3. Keep a manual checklist
Cover keyboard and screen-reader checks that automation cannot verify.
Expected state: Semantic and interaction issues are still tested.
4. Triage findings by severity
Fix blockers immediately and schedule lower-severity items.
Expected state: Accessibility debt is managed.
Decision points
Gate on all rules or a curated set?
- Curated high-signal rules
- All rules
Gate on high-signal rules; noisy gates get disabled.
Rely on automation alone?
- Automate what is verifiable plus manual checks
- Automation only
Automation misses semantics; keep manual checks for journeys.
Expected outcome
Accessibility regressions are caught automatically where possible and covered manually where needed.
Verification
Confirm a change introducing a high-signal violation fails CI and the manual checklist is completed for critical journeys.
Cleanup
Update the rule set and checklist as the framework evolves.
Overview
Prevent accessibility regressions through repeatable automated and manual checks.
This workflow is reusable across teams and environments; adapt the commands to your tooling while keeping the sequence and checkpoints intact.
Environment and prerequisites
- An accessibility scanner in CI
- A curated rule set
- Manual test guidance
Procedure
1. Run automated checks on changed pages
Scan pages affected by the change for high-signal accessibility violations.
Expected state: Automated violations are caught before merge.
2. Focus on high-signal rules
Gate on rules that reliably indicate real problems, warn on the rest.
Expected state: The gate is trusted, not ignored.
3. Keep a manual checklist
Cover keyboard and screen-reader checks that automation cannot verify.
Expected state: Semantic and interaction issues are still tested.
4. Triage findings by severity
Fix blockers immediately and schedule lower-severity items.
Expected state: Accessibility debt is managed.
# scan changed pages for accessibility issues
npx axe http://localhost:4321/checkout --exit
Verification
Confirm a change introducing a high-signal violation fails CI and the manual checklist is completed for critical journeys.
Decision points
Gate on all rules or a curated set?
- Curated high-signal rules
- All rules
Recommendation: Gate on high-signal rules; noisy gates get disabled.
Rely on automation alone?
- Automate what is verifiable plus manual checks
- Automation only
Recommendation: Automation misses semantics; keep manual checks for journeys.
Common failures
- Noisy gates get disabled and ignored.
- Automation-only misses semantic issues.
- No severity triage leaves debt unmanaged.