Accessible Widget Library
Component Detail
User Interface
high complexity
Shared Component
mobilefrontend
1
Dependencies
3
Dependents
0
Entities
0
Integrations
Description
A library of reusable Flutter widgets that wrap primitives with mandatory semantic labels, ARIA-equivalent Semantics properties, visible focus indicators, and non-drag interaction alternatives. Every widget in the library conforms to WCAG 2.2 AA by construction, preventing regressions when product screens compose from these primitives.
accessible-widget-library
Responsibilities
- Wrap all interactive Flutter primitives with Semantics nodes carrying labels, hints, and role annotations for VoiceOver and TalkBack
- Ensure all tappable widgets meet the 24x24 CSS pixel minimum touch target requirement via enforced HitTestBehavior and padding
- Expose keyboard-navigable variants with visible FocusNode highlight for admin web portal and external keyboard users
- Provide non-drag alternatives for every drag-capable widget per WCAG 2.2 Success Criterion 2.5.7
- Apply Design Token System tokens consistently so contrast and sizing compliance is automatic
Interfaces
AppButton({required String semanticLabel, ...})
AppTextField({required String label, String? hint, ...})
AppCheckbox({required String semanticLabel, ...})
AppToggle({required String semanticLabel, ...})
AppDraggableList({required Widget Function() alternativeInteraction, ...})
AppFocusIndicator(child: Widget)
AppBottomNavBar({required List<NavItem> items})
AppPageHeader({required String title, String? semanticHeadingLevel})
Relationships
Dependents (3)
Components that depend on this component