Appearance
Keryx accessibility (in-repo first slice)
First slice: 17 September 2026 · Decision: 20 September 2026
This packet is the in-repo slice of #116 (P4-02). It does not claim a WCAG, VoiceOver, or TalkBack pass.
#116 is closed (20 September 2026). OA-116-device-a11y was skipped: Keryx is for named hospital security personnel and SafeCall administrators, not a general-public accessibility store claim. Physical AT / contrast / tablet evidence is out of scope for launch. In-repo permission-recovery UI and widget tests stay.
Policy history: P0-04 in roadmap.md (superseded for the AT/WCAG device gate). Cadence: test-traceability.md.
Decision
| Choice | Value |
|---|---|
| Scope | Critical flows: onboarding, QR scan, permission recovery, Active/Archive, notification detail, pause/resume, rescan, reset, language |
| Automated | Camera/notification denial UI + Settings CTA; 200% textScaler widget tests; spoken names on remaining controls |
| Not claimed | VoiceOver/TalkBack, contrast screenshots, orientation/tablet matrix, WCAG 2.2 AA conformance |
| Launch gate | Closed 20 September 2026: no VoiceOver/TalkBack walk; #116 closed |
What this slice proves
- Camera denial on the scanner is not a dead end: explanation + Open Settings (
MobileScannererrorBuilder, first-partycom.sourcectl.keryx/system_settingschannel). Tests injectdebugCameraDenied. - Notification denial shows a persistent home/onboarding banner with the same Settings path and does not block QR scan. Tests inject
KeryxPermissionRecovery. - On resume, Keryx re-checks notification permission and retries the camera.
- Scanner close, Scan QR, pause/resume, Reset App, and language controls have tooltips or
Semanticsnames. Category cards already had a combined label. IconButtontargets stay at the Material default (48 dp). Onboarding and recovery copy scroll at 200% text.
EN/CS strings live in keryx/l10n/app_en.arb and app_cs.arb. Settings paths match app-onboarding-guide.md (iOS Settings → Keryx; Android Apps → Keryx).
What this slice does not do
- Claim WCAG 2.2 AA, VoiceOver, or TalkBack.
- Physical first/permanent deny + Settings recovery on device.
- Contrast measurement, reduced-motion proof, or tablet/orientation matrix (#117 still owns OEM / soak, not AT).
- A GitLab CI accessibility job.
Operator enable
OA-116-device-a11y is skipped. Do not reopen #116 as a launch blocker without a new product decision.