HIGH story-screen-reader-support-peer-mentor-005 8 pts
8
Story Points
High
Priority
Screen Reader Support
Feature

User Story

As a Peer Mentor (Likeperson)
I want to fill in the post-session report form — including dynamic fields, the way-forward section, and any organisation-specific fields — entirely using a screen reader
So that I can document session outcomes, follow-up actions, and referrals for my contacts independently, fulfilling my formal reporting obligations without sighted assistance

Acceptance Criteria

  • Given a peer mentor opens the post-session report with VoiceOver active, when the form loads, then all fields are announced with their label and input type (e.g., 'Health status, text field, required')
  • Given a dynamic field is injected by the org-field-config-loader, when it appears, then a live region announces 'New field added: [field name]' and focus moves to it
  • Given the way-forward section is expanded, when the peer mentor navigates into it, then task input fields and the date picker are all reachable and labelled
  • Given a field fails validation on form submission, when the error state is set, then an assertive live region announces the specific validation error for that field
  • Given the form is submitted successfully, when the confirmation screen loads, then a polite announcement reads 'Report submitted successfully' and the report summary is traversable
  • Given the peer mentor is using speech-to-text in the notes field, when dictation is active, then the recording state indicator announces 'Recording active' and 'Recording stopped' via live regions

Business Value

The post-session report is Blindeforbundet's most critical data collection mechanism. It feeds into coordinator workflows, triggers referrals, and contributes to Bufdir reporting. A peer mentor who cannot fill in this form independently is unable to fulfil their core professional responsibility. For an organisation whose peer mentors may themselves be visually impaired (the peer-to-peer model), this is not an edge case — it is the primary use case.