Access Login Screen with Full Screen Reader Support
The login screen must be fully navigable and operable using iOS VoiceOver and Android TalkBack. Every interactive element — email field, password field, visibility toggle, sign-in button — must have a meaningful semantic label. Focus order must follow a logical top-to-bottom sequence. Error messages must be announced automatically. This is particularly critical for Blindeforbundet's user base but the WCAG 2.2 AA mandate applies across all organisations. The login form must pass automated and manual accessibility audits before release.
User Story
Acceptance Criteria
- Given VoiceOver is enabled and the login screen is displayed, When the user swipes right to navigate, Then focus moves in order: organisation name header → email field → password field → visibility toggle → sign-in button
- Given focus is on the email field, When VoiceOver reads it, Then the announcement includes the label 'Email address', the field role 'text field', and any current value
- Given focus is on the password field, When VoiceOver reads it, Then the announcement includes the label 'Password' and the role 'secure text field'
- Given focus is on the sign-in button, When VoiceOver reads it, Then the announcement is 'Sign in, button'
- Given an error occurs after form submission, When the error message appears, Then VoiceOver announces the error text within 500ms without requiring the user to navigate to it
- Given the login screen is rendered, When an automated WCAG 2.2 AA contrast check is run, Then all text elements pass a minimum contrast ratio of 4.5:1
Business Value
Screen reader accessibility for the login screen is a hard requirement for Blindeforbundet, whose members include users with severe visual impairments. A login flow that blocks screen reader users is a legal and reputational risk under WCAG 2.2 AA compliance obligations. Passing this requirement at the login layer — the entry point to the entire app — sets the accessibility baseline for all subsequent screens.
Components
- Login Screen ui
- Login Form ui
- Password Visibility Toggle ui
- Semantics Wrapper Widget ui
- Live Region Announcer ui
- Screen Reader Detection Service service
- Semantics Service Facade infrastructure
- Contrast-Safe Color Palette Widget ui
- Contrast Ratio Validator Service service
Dependencies
- Sign In with Email and Password critical