Sensitive Field Warning Widget
Component Detail
Description
A Flutter SensitiveFieldWrapper widget that intercepts screen reader focus on sensitive content and presents an accessible modal warning before revealing the value. When SemanticsBinding.instance.accessibilityFeatures.accessibleNavigation is true and focus moves to a wrapped field, the widget pauses readout and offers the peer mentor options to dismiss, delay, or proceed. The warning modal is itself fully accessible with a dismiss Semantics action and never echoes the protected content in its own semantic tree.
sensitive-field-warning-widget
Sources & reasoning
NHF explicitly raised screen reader readout warnings as a WCAG requirement in workshops (line 37). Blindeforbundet's encrypted assignment feature handles names, addresses, and epikrise content readable by VoiceOver - a confidentiality breach in shared spaces. This Flutter widget is the single UI mechanism that intercepts screen reader focus and gates readout behind a user-confirmed warning, satisfying GDPR duty-of-care without affecting non-screen-reader users.
No source references — this artifact was included based on reasoning alone (see above).
Responsibilities
- Detect active screen reader via Flutter SemanticsBinding.instance.accessibilityFeatures.accessibleNavigation
- Intercept semantic focus on fields annotated with the sensitive metadata marker
- Present accessible modal warning with dismiss/proceed actions before revealing field value
- Ensure the warning widget itself is WCAG 2.2 AA compliant and never leaks protected content in its semantic tree
- Apply consistently across contact ID fields, encrypted assignment body, relative personal details, and any schema-tagged sensitive field
Interfaces
SensitiveFieldWrapper(child: Widget, label: String)
dismiss()
proceedToReadout()
SensitiveFieldAnnotation metadata marker
Relationships
Related Data Entities (2)
Data entities managed by this component