ComponentsRadioGroup

formstexulinot agent-emittableapp

RadioGroup

radio-group

A set of exclusive radio options with keyboard roving.

Live examples

Vertical group

Vertical group

Loading demo…

Props

Public props for RadioGroup
NameKindRequiredDefaultDescription
valuestringno——
onValueChangeeventno——
namestringno——
requiredbooleannofalse—
disabledbooleannofalse—
readonlybooleannofalse—
orientationenum (vertical, horizontal)no"vertical"—
variantenum (default, card)no"default"—
sizeenum (sm, md)no"md"—
itemsarrayno—Convenience option list; use children with Radio for custom layouts
loopbooleannotrue—
classstringno——
childrenslotno——

Keyboard

Keyboard behavior for RadioGroup
KeyAction
SpaceArrow 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

7 checks

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.ts
  • docs/quality (a11y-*)

Site component pages axe gate; package-level a11y docs under docs/quality when present.

Browsers

  • chromium
  • webkit
  • mobile

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