FocusManagementService
Component Detail
Service Layer
medium complexity
Shared Component
mobile
0
Dependencies
0
Dependents
0
Entities
0
Integrations
Description
Manages programmatic focus movement and keyboard/switch-access navigation order throughout the app. It ensures focus is placed on the correct element after screen transitions, modal openings, and dynamic content updates, and it provides non-gesture alternatives for all drag interactions. It also traps focus within modals and dialogs per WCAG 2.4.3.
focus-management-service
Sources & reasoning
Lines 28 and 30 declare WCAG 2.2 AA a hard MVP requirement with no exceptions and no deferrals across all organizations. Lines 31-38 enumerate specific sub-requirements (screen reader, contrast, touch targets, keyboard, drag alternatives). Blueprint marks this feature [MVP]. Source doc phase matrix (§4) lists WCAG as Fase 1, confirming MVP target_release.
-
docs/source/likeperson.md · line 28Appen SKAL oppfylle **WCAG 2.2 nivå AA** som minimumskrav for alle skjermer og interaksjoner - fra dag én, for alle organisasjoner. Ingen organisasjon er unntatt eller utsatt til senere fase.
-
docs/source/likeperson.md · line 30**WCAG 2.2 AA compliance** er et absolutt krav for MVP - ikke noe som fikses etterpå.
Responsibilities
- Move focus to the appropriate element after route or screen transitions
- Trap and release focus within modal overlays and bottom sheets
- Expose keyboard-navigable alternatives for all drag-and-drop or swipe interactions
- Maintain a visible focus indicator by coordinating with AccessibilityDesignTokens
- Announce dynamic content changes to screen readers via accessibility live regions
Interfaces
moveFocusTo(elementRef: ElementRef): void
trapFocus(containerRef: ElementRef): FocusTrap
releaseFocus(trap: FocusTrap): void
registerDragAlternative(interaction: DragInteraction, alternative: KeyboardAction): void
announceUpdate(message: string, politeness: LiveRegionPoliteness): void