Accessible Statistics Screen with Screen Reader Support
The entire statistics dashboard must be fully accessible to screen readers including VoiceOver on iOS and TalkBack on Android. This includes summary cards, charts, filter controls, and all interactive elements. Chart data must have text alternatives since graphical representations are inherently inaccessible to screen reader users. All interactive controls must have meaningful semantic labels. The implementation must meet WCAG 2.2 AA standards as required by all three organizations. Sensitive statistical fields that could reveal private information should be announced with appropriate warnings.
User Story
Acceptance Criteria
- Given I am using VoiceOver, When I navigate to the statistics screen, Then all summary card values are announced with descriptive labels (e.g., 'Total activities: 42, for this month')
- Given charts are displayed on screen, When a screen reader user navigates to a chart, Then a text-based alternative is available that communicates the same information as the visual chart
- Given I am using a screen reader, When I interact with the time window filter, Then each option is announced with its label and the currently selected state is communicated
- Given all interactive elements on the statistics screen, When focused by a screen reader, Then they have descriptive accessibility labels that convey their purpose without relying on position or visual cues
- Given the statistics screen is rendered, When audited against WCAG 2.2 AA, Then all text and interactive elements meet minimum contrast ratio requirements of 4.5:1 for normal text and 3:1 for large text
- Given statistics contain sensitive contextual data, When the screen reader announces a value, Then a configurable warning is played before fields that may reveal personal health or contact information per org configuration
Business Value
Universal design is classified as MUST HAVE by all three organizations in the requirements. Blindeforbundet's peer mentors include visually impaired individuals who rely on VoiceOver daily. NHF serves members with stroke-related disabilities and cognitive impairments. An inaccessible statistics screen would exclude the very people who are most likely to be peer mentors in these organizations, directly undermining the app's core purpose.
Components
- Semantics Wrapper Widget ui
- Live Region Announcer ui
- Screen Reader Detection Service service
- Semantics Service Facade infrastructure
- Sensitive Field Warning Dialog ui
- Peer Mentor Stats Screen ui
- Stats Summary Cards ui
- Time Window Selector ui
- fl_chart Adapter infrastructure
- Accessibility Live Region Announcer infrastructure