formstexulinot agent-emittableapp
RadioGroup
radio-group
A set of exclusive radio options with keyboard roving.
Live examples
Vertical group
Vertical group
Loading demo…
Props
| Name | Kind | Required | Default | Description |
|---|---|---|---|---|
value | string | no | — | — |
onValueChange | event | no | — | — |
name | string | no | — | — |
required | boolean | no | false | — |
disabled | boolean | no | false | — |
readonly | boolean | no | false | — |
orientation | enum (vertical, horizontal) | no | "vertical" | — |
variant | enum (default, card) | no | "default" | — |
size | enum (sm, md) | no | "md" | — |
items | array | no | — | Convenience option list; use children with Radio for custom layouts |
loop | boolean | no | true | — |
class | string | no | — | — |
children | slot | no | — | — |
Keyboard
| Key | Action |
|---|---|
Space | Arrow keys move focus; Space selects; loop wraps at the ends. |
Accessibility
- Arrow keys move focus; Space selects; loop wraps at the ends.
Evidence for radio-group
Latest committed gates for radio-group (as of 2026-10-23). Static snapshot — not live CI.
Behavior
checkedscenario radio-group
Rows in tests/behavior/scenarios/radio-group.spec.ts, held to the WAI-ARIA APG pattern, run on Chromium, WebKit and the Pixel 7.
Size (gzip)
@texuli/primitives/radio · budget 4.00 KiB
Budget from texuli.budgets.json; re-measure with `pnpm size --filter <entry>`.
Axe
documented
tests/e2e/site-component-pages.spec.tsdocs/quality (a11y-*)
Site component pages axe gate; package-level a11y docs under docs/quality when present.
Browsers
chromiumwebkitmobile
Playwright projects: Desktop Chrome, Desktop Safari, Pixel 7. Firefox is a known gap on this host.
When to use
Use when
- Pick exactly one option from a short closed set
Don’t use when
Prefer another component
- Many options with search (use select or combobox)
- Independent toggles