## Что это
Axe-core встраивается в каждый component-test через `@axe-core/playwright`. Каждый rendered компонент прогоняется через axe rules ≥ WCAG 2.2 AA level. Violations блокируют CI (severity ≥ moderate). Coverage tracking: какие компоненты прогоняются через axe, какие нет — generates report.
Goal: 100% public-facing components covered by axe в CI. Allow-list для known false-positives с TTL 90 дней (review quarterly). E2E tests дополнительно прогоняют axe на full pages через keyboard-only navigation.
Компоненты: `tests/setup/axe-helpers.ts`, `vitest.shared.ts` global setup. GitHub Actions step: axe-report comment на PR с diff vs main.
## Зачем
Accessibility — non-negotiable для public-facing software. Manual audits scale poorly; axe в CI catches 60%+ violations автоматически. WCAG 2.2 AA — minimum для legal compliance в EU/US/Canada (ADA, EAA).
## Источники вдохновения
- [intentui/intentui](https://github.com/intentui/intentui) — React Aria + Tailwind с встроенной accessibility
- [shadcnblocks/kibo](https://github.com/shadcnblocks/kibo) — composable accessible UI registry
- [elevenlabs/ui](https://github.com/elevenlabs/ui) — accessible shadcn/ui для мультимодальных агентов
## 🔗 Linear
- [PZD-420](https://linear.app/kuhjie/issue/PZD-420) — backing ticket