Components / A11y

A11y

The accessibility-only primitives. Each one exists for assistive technology — none of them draws anything you can see, and that is the point.

Updated 3 days agoEdit on GitHubWeb & native

The pieces

ComponentUse it for
FocusScopeTrap, auto-focus, and restore focus around an overlay.
LiveRegionAnnounce dynamic updates without moving focus.
VisuallyHiddenContent for screen readers, hidden from sight.

Invisible by design

Every other component family puts something on screen. This one does not. FocusScope manages where keyboard focus can go; LiveRegion announces text that may never be visible; VisuallyHidden deliberately renders content off-screen. They are accessibility infrastructure — the parts of an interface a sighted mouse user never notices and a keyboard or screen-reader user depends on.

Where they come from

These primitives back the headless behaviours. Dialog composes Portal, Overlay, and FocusScope to deliver the full modal contract — keyboard cycling stays in, programmatic focus stays in, the background goes inert. A toast system uses LiveRegion to announce. An icon-only control uses VisuallyHidden for its label.

You can reach for them directly when building a custom surface that needs the same guarantees — but most apps meet them through the components built on top.