Target: WCAG 2.1 AA for user-critical workflows.
Accessibility work is tracked in /docs/plan/M07-ux-accessibility-and-design-system.md.
- Manual keyboard/screen reader checks for core flows.
- Automated checks in CI where available.
- Command:
npm run test:a11y - Coverage routes:
//dockets/comments/search/contact/agency/login/about/faqs/onboarding/status/data-access/accessibility/privacy/terms
- Result: no Axe
criticalviolations detected on covered routes (13/13 checks passed).
| Route | Check | Result |
|---|---|---|
/ |
Axe critical violations | Pass |
/dockets |
Axe critical violations | Pass |
/comments/search |
Axe critical violations | Pass |
/contact |
Axe critical violations | Pass |
/agency/login |
Axe critical violations | Pass |
/about |
Axe critical violations | Pass |
/faqs |
Axe critical violations | Pass |
/onboarding |
Axe critical violations | Pass |
/status |
Axe critical violations | Pass |
/data-access |
Axe critical violations | Pass |
/accessibility |
Axe critical violations | Pass |
/privacy |
Axe critical violations | Pass |
/terms |
Axe critical violations | Pass |
- Public docket browse/search:
- Keyboard-only navigation across filters, results, pagination.
- Visible focus indicator on all interactive controls.
- Search and filter inputs have programmatic labels.
- Public comment submission:
- Step flow is operable by keyboard only.
- Error messages are announced and associated with fields.
- Required field requirements are conveyed in text (not color-only).
- Agency docket operations:
- Docket list table headers expose valid
aria-sortsemantics. - Create/edit docket forms have explicit labels and error text.
- Docket list table headers expose valid
- Moderation and admin:
- Role/actions are accessible without pointer-only interaction.
- Confirmation/destructive actions are not color-only.
- Global:
- Contrast checks for text and interactive controls.
- Heading structure is sequential.
- Landmark regions (
header,main,footer, nav) are present.