Per master spec §I.4: Target WCAG 2.1 Level AA для MVP.
Текущий статус (Phase 16 baseline)
ARNO — internal tool в active development. Этот документ — baseline для launch readiness audit, не финальный compliance statement.
| Категория | Status | Notes |
|---|---|---|
| Color contrast (text) | 🟡 partial | Dark theme primary, contrast не tested во всех states |
| Keyboard navigation (Tab/Enter/Esc) | 🟡 partial | Native HTML elements OK, custom canvas (workflow) — no |
| ARIA labels | 🟡 partial | Buttons OK, complex widgets (composition canvas) — minimal |
| Focus indicators | 🔴 не покрыто | Browser defaults relied upon, explicit ring not yet styled |
| Screen reader | 🔴 не tested | NVDA / VoiceOver runs не запускались |
| 200% text resize | 🟡 unknown | Mobile/desktop layouts не tested at 200% |
| Color-only signals | 🟡 partial | Drift badges используют icon + color (good); some other states color-only |
CI enforcement (планируется к launch)
- axe-core в Playwright E2E — fail on violations. Configured в Phase 16 testing setup.
- Lighthouse Accessibility score >90 per page — CI gate.
Тестируемые scenarios (для launch audit)
Critical paths (must pass WCAG 2.1 AA)
-
Sign-up + sign-in flow (
/,/app)- Tab navigation: works without mouse
- GitHub OAuth redirect: screen reader announces state changes
- Error states: announced + visible
-
Projects list (
/app)- Cards focusable via Tab
- "Connect repo" / "Sync now" — clear focus + keyboard activatable
- Delete confirmation modal — focus trap, Esc closes
-
MD editor (
/app/component?...)- Textarea: full keyboard editing
- Sync badge: status announced via ARIA live region
- Divergence modal: focus trap, Tab cycles inside, Esc closes
- Save status: announced
-
Library panel (
/app/screen?...)- Component grid: Tab + arrow keys
- Drift badges: icon + color + tooltip (color-not-sole-signal compliant)
Out of scope для MVP (per master spec §I.4)
- Workflow canvas full keyboard navigation — complex graph editor. Tab between screens + Enter to drill in OK, full inside-canvas navigation post-MVP
- High-contrast theme — system theme support only
- Prototype walkthrough keyboard-only — share viewer mode interactive prototype
Known violations (need fix before public launch)
- Focus indicators on custom buttons — must add explicit ring (per WCAG 2.4.7)
- Files:
apps/web/src/components/*.css— add:focus-visiblerules
- Files:
- Color contrast в muted text —
--mutedcolor на dark bg need verification- Tool: WebAIM contrast checker
- Composition canvas TSX preview drop targets — no ARIA labels
- File:
composition-canvas.tsx
- File:
- Liveblocks cursor labels — display name only via color, не announced
Tools
| Tool | Purpose | Где использовать |
|---|---|---|
| axe-core | Automated WCAG violations | Playwright E2E (CI) |
| Lighthouse | Score + key issues | Manual + CI gate |
| WAVE browser extension | Visual audit | Manual review |
| NVDA (Windows) | Screen reader testing | Manual launch gate |
| VoiceOver (macOS) | Screen reader testing | Manual launch gate |
| WebAIM contrast checker | Color contrast | Manual review |
Launch checklist (per master spec §VII.2)
- axe-core CI passing на all pages
- Lighthouse Accessibility score >90 per page
- All "critical paths" pass manual screen reader test (NVDA + VoiceOver)
- Known violations resolved
- Accessibility statement published (covers tested scenarios + known limitations)