Accessibility Statement
1. Our standard and our honesty
WARFORM targets WCAG 2.1 Level AA and European Standard EN 301 549. We will not claim conformance we have not verified: this statement reports our real, tested status — what we enforce with automated gates in our build pipeline, what we have verified manually, and what still falls short.
2. What we enforce continuously (automated gates)
- Dynamic type to 2.0×: every text style resolves through a single role table and scales with the user's system font size. A three-stop matrix (1.0× / 1.5× / 2.0×) runs against all gated surfaces in the test suite; a legibility floor keeps the display face readable at extreme scales.
- Touch-target minimums (48dp): asserted by a suite lock across interactive elements.
- Semantics: interactive elements expose labels; the mascot is marked decorative; decorative imagery is excluded from the accessibility tree.
- Theme parity: Midnight (dark), White (light) and System themes are first-class; contrast passes are verified per theme with pixel-level luminance certification of on-device frames.
- Zero loading theater: honest loading, empty and failure states — screens never pretend work happened.
3. What we have verified manually (on-device)
| Surface | Verified | Evidence |
|---|---|---|
| Dynamic type 1.0× and 2.0× | Core surfaces walked in both themes | device frames, both themes |
| Screen-reader walk (TalkBack) | Auth, command center, settings, weight dialog | UI dumps + frames |
| Wheel picker semantics | Live label fix landed (v1.3 G9) | device frames |
| Deletion / step-up flows | Honest copy, visible cancel, no urgency patterns | probe + frames |
4. Known limitations
- The display face is a condensed stencil style; at very large text scales it falls back to a bold system face for legibility — headings may look less "tactical" at 2.0×. That is the intended trade.
- Some charts and the volume ladder convey data visually; text equivalents exist for the values (your numbers are always written out) but chart-shape information is not separately described.
- Live region announcements for background sync events are inconsistent on some Android versions.
- An iOS version does not yet exist; platform-specific behaviors (VoiceOver, Dynamic Type nomenclature) are unverified and out of scope until the port.
5. Report a barrier
Something blocking you is a bug we want. Email support@warform.app with subject "ACCESSIBILITY" — describe the screen and what failed. We acknowledge within 5 business days and will work the fix into a release plan. There is no "wontfix for a11y" pile.
6. Enforcement & review
This statement is reviewed at every minor version. The UK's equality framework and, where applicable, the European Accessibility Act inform our obligations; we treat the stricter as the floor.