Live Region
Live Region base prototype
base-live-region-root is a narrow async accessibility primitive that projects governed ARIA live-region semantics without interaction.
It derives role, aria-live, and aria-atomic from two props:
politeness:polite(default) projectsrole=status+aria-live=polite;assertiveprojectsrole=alert+aria-live=assertiveatomic:true(default) projectsaria-atomic=true;falseprojectsaria-atomic=false
Authored child content is the announcement payload. The prototype declares no focus, event, command, selection, or accessible-name override channel; the exposes surface is empty.
Current v0 Boundary
Section titled “Current v0 Boundary”base-live-region-root currently includes:
- polite/assertive role and aria-live projection
- atomic aria-atomic projection
- mounted prop transitions that update all three attributes synchronously
- authored child content preservation across prop transitions
It does not include:
aria-relevantgranularity control- announcement timers or replacement state machines
- accessible-name override
- focus, event, command, or selection channels
References
Section titled “References”- Contract: C-ASYNC-A11Y-0001
- Source: packages/prototypes/base/src/live-region
- Test: live-region.test.ts