User Interface high complexity mobile
0
Dependencies
0
Dependents
1
Entities
0
Integrations

Description

A comprehensive Flutter widget library where every component — AppButton, AppTextField, navigation items, cards, and dynamic content — is wrapped with properly configured Semantics nodes. Exposes meaningful labels, hints, and values via Flutter's Semantics API to ensure VoiceOver (iOS), TalkBack (Android), and JAWS (web fallback) can fully operate the application without visual cues.

Feature: Screen Reader Support

accessible-widget-library

Responsibilities

  • Wrap all interactive widgets with Flutter Semantics nodes providing label, hint, and value
  • Expose semantic roles (button, textField, header, link) to platform accessibility APIs
  • Implement SensitiveSemantics wrapper that triggers a TTS audio warning before reading private fields
  • Ensure focus traversal order is logical and matches visual reading order
  • Support live region announcements for dynamic content updates

Interfaces

AccessibleAppButton({required String semanticLabel, String? semanticHint})
AccessibleAppTextField({required String label, bool isSensitive})
SensitiveSemantics({required Widget child, required String warningMessage})
AccessibleNavigationItem({required String label, required bool isSelected})
AccessibleCardWidget({required String label, String? hint})
announceForAccessibility(String message)
setSemanticsEnabled(bool enabled)
excludeFromSemantics({required Widget child})
AccessiblePageHeader({required String title, String? subtitle})
AccessibleDialogWrapper({required String dialogLabel})

Sub-Components (1)

Sensitive Semantics Wrapper
component high

A specialized Semantics wrapper that intercepts screen reader focus events on sensitive fields (personal identification numbers, epikrise content, encrypted assignment details) and fires a platform TTS warning before allowing the system reader to announce the field value. Configurable per field type via accessibility preferences.

  • Detect when screen reader focus enters a sensitive field
  • Trigger configurable audio warning via platform TTS before value is read
  • Delegate to system screen reader after warning completes
  • +1 more

Related Data Entities (1)

Data entities managed by this component