HIGH story-dynamic-terminology-labels-system-coordinator-004 8 pts

User Story

As a Coordinator
I want all accessibility labels (semantics) used by screen readers to be resolved from the organization's dynamic terminology configuration, not hardcoded English strings
So that peer mentors and contacts who use assistive technology such as VoiceOver hear the same organization-specific language that sighted users read on screen, providing a consistent and dignified experience

Acceptance Criteria

  • Given a peer mentor uses VoiceOver on iOS, When they navigate the activity registration wizard, Then the screen reader announces organization-specific terminology (e.g., 'Register peer mentor session' instead of 'Register activity') as configured for their organization
  • Given a label key is updated in the organization's terminology configuration, When the sync completes and the user navigates the app with a screen reader, Then the updated semantic label is announced without requiring an app restart
  • Given a terminology-aware widget is rendered, When Flutter's accessibility inspector examines it, Then the semantics node carries the resolved organization label, not the raw label key string
  • Given a label key has no organization-specific override, When a screen reader announces it, Then a sensible default value is used rather than exposing the raw key identifier
  • Given the WCAG 2.2 AA standard, When all terminology-aware widgets are audited by the accessibility audit runner, Then no contrast, labeling, or focus management violations are reported

Business Value

Universal accessibility is a MUST HAVE requirement identified across all partner organizations, with particular criticality for Blindeforbundet (screen reader dependency) and NHF (users with cognitive and motor impairments). Ensuring that dynamic terminology is properly surfaced through the accessibility layer means the organization's inclusive language commitment extends to assistive technology users, avoiding a two-tier experience.