Track P: Accessibility & Internationalization
Priority: MEDIUM — Required for EU expansion (Y2) and enterprise deals
Agent: accessibility-testing-specialist, localization-specialist
Sprint Range: S4-S10
Reference: docs/operations/68-user-experience-journeys.md (WCAG 2.1 AA), docs/operations/66-operational-readiness.md (i18n architecture)
Status Summary
Progress: 0% (0/18 tasks)
| Section | Title | Status | Tasks |
|---|---|---|---|
| P.1 | WCAG 2.1 AA Compliance | Pending | 0/5 |
| P.2 | Internationalization (i18n) Framework | Pending | 0/4 |
| P.3 | Localization (l10n) Pipeline | Pending | 0/4 |
| P.4 | Regional Data Residency | Pending | 0/3 |
| P.5 | Accessibility Testing Automation | Pending | 0/2 |
P.1: WCAG 2.1 AA Compliance
Sprint: S4-S5 | Priority: P1 | Depends On: A.1, C.1 Goal: Full WCAG 2.1 AA audit, semantic HTML, contrast compliance, keyboard navigation
- P.1.1: Audit existing UI for WCAG compliance
- Automated: axe-core on all pages
- Manual: keyboard navigation, screen reader compatibility
- Gap report: severity and remediation priority
- P.1.2: Implement semantic HTML and ARIA patterns
- Landmarks: main, nav, aside, footer
- ARIA labels: on all interactive elements
- Live regions: for dynamic content updates
- P.1.3: Ensure color and contrast compliance
- Normal text: contrast ratio >= 4.5:1
- Large text: contrast ratio >= 3:1
- Color independence: never sole information conveyor (icons + text + color)
- Dark mode: separate contrast audit
- P.1.4: Implement keyboard navigation
- Full coverage: all functionality accessible via keyboard
- Focus indicators: visible 2px blue outline (per doc 68)
- Skip links: skip-to-content links
- Tab order: matches visual order
- P.1.5: Build accessibility statement
- Statement: public accessibility statement page
- Limitations: known limitations and remediation timeline
- Contact: information for accessibility issues
P.2: Internationalization (i18n) Framework
Sprint: S6-S7 | Priority: P1 | Depends On: C.1 Goal: String externalization, locale-aware formatting, RTL support, and developer tooling
- P.2.1: Implement string externalization
- Format: ICU MessageFormat for all UI strings
- Files: JSON translation files per locale
- Context: annotations for translators
- Exception: audit trail strings remain English (FDA requirement per doc 66)
- P.2.2: Build locale-aware formatting
- Date/time: Intl.DateTimeFormat with timezone support
- Numbers/currency: Intl.NumberFormat per locale
- Measurement: configurable per tenant
- P.2.3: Implement RTL (Right-to-Left) support
- CSS: logical properties (start/end vs. left/right)
- Bidirectional: text handling
- Mirroring: UI mirroring for RTL locales
- P.2.4: Create i18n developer tooling
- Lint: no hardcoded strings in components
- CI: missing translation detection
- Testing: pseudo-localization (accented characters, elongated strings)
P.3: Localization (l10n) Pipeline
Sprint: S8-S9 | Priority: P2 | Depends On: P.2 Goal: Translation management, initial locale support, and QA process
- P.3.1: Set up translation management system
- Integration: Crowdin, Lokalise, or Phrase
- Extraction: source string extraction from codebase
- Memory: translation memory for consistency
- P.3.2: Implement initial locale support
- Locales: en-US (default), en-GB, de-DE, fr-FR, ja-JP, pt-BR
- Priority: EU languages first (Y2 market entry per doc 66)
- Quality: professional translation for compliance-critical content
- P.3.3: Build locale switching mechanism
- User-level: locale preference
- Tenant-level: default locale
- Detection: browser locale detection with override
- P.3.4: Create localization QA process
- Screenshot review: per locale
- Layout verification: text expansion/contraction
- Context validation: by native speakers
P.4: Regional Data Residency
Sprint: S8 | Priority: P1 | Depends On: E.2, N.2 Goal: Multi-region data isolation with cross-region access controls
- P.4.1: Implement multi-region data isolation
- Configuration: tenant-level data residency
- US: us-central1 (primary, deployed)
- EU: europe-west1 (required for GDPR per doc 66)
- Encryption: region-specific keys via Cloud KMS
- P.4.2: Build cross-region access controls
- Routing: API routing based on tenant region
- Logging: cross-region access logging and alerting
- Minimization: data transfer minimization
- P.4.3: Create regional compliance validation
- Rules: per-region regulatory rule engine
- Reporting: data residency compliance reporting
- Audit: annual third-party audit support
P.5: Accessibility Testing Automation
Sprint: S10 | Priority: P2 | Depends On: P.1 Goal: Automated a11y testing in CI and ongoing accessibility program
- P.5.1: Integrate automated a11y testing in CI
- axe-core: on every PR (zero critical violations gate)
- Lighthouse: accessibility audit (score >90)
- Visual regression: for focus indicators
- P.5.2: Establish ongoing accessibility program
- Quarterly audit: by WCAG-certified reviewer
- User testing: with assistive technology users
- Champions: accessibility champion program (1 engineer per team)
Updated: 2026-02-14 Compliance: CODITECT Track Nomenclature Standard (ADR-054)