496303471d
---ci--- project: atelier phase: 7 milestone: v0.1 status: complete phase_role: final milestone_complete: true requirements: covered: [ATELIER-01, ATELIER-02, ATELIER-03, ATELIER-04, ATELIER-05, ATELIER-06, ATELIER-07, ATELIER-08, ATELIER-09, ATELIER-10, ATELIER-11, ATELIER-12, ATELIER-13, ATELIER-14, ATELIER-15, ATELIER-16, ATELIER-17, ATELIER-18, ATELIER-19, ATELIER-20, ATELIER-21, ATELIER-22, ATELIER-23, ATELIER-24, ATELIER-25, ATELIER-26, ATELIER-27, ATELIER-28, ATELIER-29, ATELIER-30, ATELIER-31, ATELIER-32, ATELIER-33, ATELIER-34, ATELIER-35] partial: [] ship: milestone: v0.1 type: NFR tag: v0.0.7 merge: milestone/v0.1-atelier -> main release: https://git.cloudinit.dev/cloudinit-bot/atelier/releases/tag/v0.0.7 ---/ci--- Milestone v0.1 — Initial Framework (NFR, complete). 8 core principles (C1-C8), 11 domains, 110 domain principles, 27 derived docs, 4 good + 3 bad examples, 4 language docs, full matrix, 3 review docs. All 35 requirements covered. 7 patches (v0.0.0 pre-execution through v0.0.7 final). v0.0.7 IS the v0.1.0 milestone release.
1.6 KiB
1.6 KiB
Accessibility Requirements
Detailed, enforceable accessibility rules. Every component, page, and flow must pass these. Failure is disqualifying — see
first-principles.mdP2.
Perceivable
- Every image has
alttext or is markedalt=""if decorative. - Every video has captions. Every audio has transcripts.
- Color contrast meets WCAG 2.1 AA (4.5:1 text, 3:1 UI).
- Information is not conveyed by color alone.
- Text resizes to 200% without loss of content or function.
Operable
- Every interactive element is keyboard-reachable.
- Focus order is logical and matches visual order.
- Focus is always visible (≥ 3:1 contrast).
- No keyboard traps.
- Touch targets are ≥ 44×44 CSS pixels.
- Motion can be disabled via
prefers-reduced-motion. - No flashing content > 3 flashes per second.
Understandable
- Page language is declared.
- Form fields have associated labels.
- Error messages identify the field and the problem.
- Navigation is consistent across pages.
- Abbreviations and jargon are explained on first use.
Robust
- HTML validates.
- ARIA is used correctly (roles, states, properties).
- Components work across assistive technologies.
- No ARIA is used where native HTML would suffice.
Testing
Every accessibility requirement is verified by:
- Automated tool (axe-core, Lighthouse, etc.)
- Keyboard-only navigation
- Screen reader (NVDA, VoiceOver) walkthrough
- Zoom to 200%
- Reduced motion enabled
All five must pass. Automated-only is not acceptance.