VisuallyHidden@astryxdesign/core v0.5.2 · VisuallyHidden

Usage

Renders content in the accessibility tree while hiding it visually. Use for accessible names on icon-only controls, aria-live announcement regions, and supplementary screen-reader context. Deliberately has no styling props; the whole point is to stay invisible.

ts
import {VisuallyHidden} from '@astryxdesign/core/VisuallyHidden'

Best practices

GuidancePractices
Do

Use to give icon-only buttons and controls an accessible name that screen readers announce.

Do

Render as a block element (as="div") with aria-live to announce dynamic updates like drag-and-drop or result counts.

Don't

Use it to hide content from everyone; it stays in the accessibility tree; use conditional rendering or hidden to remove content entirely.

Don't

Put interactive controls inside it; the content is not visible and cannot receive pointer input.

Props

PropTypeDescription
children
ReactNode

Content exposed to assistive technology while hidden from sight.

as
ElementType (default: 'span')

HTML tag to render as. Use a block element for live regions.

Examples

Common configurations, variations, and states.
VisuallyHidden — Live Region
Open in Playground

A polite aria-live region announces visual-only state changes to assistive technology.

VisuallyHidden — Structural Heading
Open in Playground

Give a visually implicit section an accessible name so screen-reader users can navigate to it.

VisuallyHidden — Supplementary Context
Open in Playground

Add screen-reader-only context to terse visual data, like spelling out what a trend arrow means.

Use with shadcn

Already using the shadcn registry workflow? Install the real Astryx package and a local public re-export. Component implementation source stays in Astryx. How compatibility works.

This install URL expires with the draft preview.
bash
npx shadcn@latest add https://astryx-pxujcw3w9-fbopensource.vercel.app/r/components/visually-hidden.json
Install the editable showcase composition
bash
npx shadcn@latest add https://astryx-pxujcw3w9-fbopensource.vercel.app/r/showcases/visually-hidden/default.json