Service Layer medium complexity mobile
0
Dependencies
0
Dependents
2
Entities
0
Integrations

Description

Centralizes the generation and management of ARIA-equivalent semantic labels, hints, and announcements for all UI components in the application. Resolves organization-specific dynamic labels (from the Labels Config system) into screen-reader-appropriate text, ensures that dynamic content changes trigger appropriate live region announcements, and provides a consistent API for all widgets to retrieve their accessibility strings.

Feature: Screen Reader Support

semantic-label-service

Responsibilities

  • Resolve semantic labels for all widget types using organization-specific terminology
  • Generate contextual hints for interactive elements based on current application state
  • Coordinate live region announcements for loading states, error messages, and dynamic updates
  • Validate that all registered widgets have non-empty semantic labels at runtime
  • Translate sensitive field classifications into pre-read warning messages

Interfaces

getLabelForWidget(WidgetType type, String entityId)
getHintForAction(ActionType action, String context)
announceStateChange(String message, AriaLiveMode mode)
registerWidget(String widgetId, SemanticDescriptor descriptor)
validateSemanticCoverage(BuildContext context)
getSensitiveFieldWarning(SensitivityLevel level)
getErrorAnnouncement(String errorCode)
getLoadingAnnouncement(String operationName)
resolveOrgLabel(String labelKey)
buildSemanticDescriptor(WidgetType type, Map<String, dynamic> props)

Related Data Entities (2)

Data entities managed by this component