Skip to content

Radio

Single-select radio button, always used inside a RadioGroup which manages roving-tabindex and keyboard navigation.

  • stable
  • since v0.1.0
  • 2.92 kB
  • form
  • input

Roving tabindex managed by the group; role="radio" with aria-checked.

Preview
Open
tsx

Use RadioGroup to manage selection and keyboard navigation across items.

Preview
Open
tsx
Preview
Open
tsx
PropTypeDefaultDescription
value*
string
—
Submitted value when this radio is selected.
disabled
boolean
—
Disables only this radio. To disable the whole group, set `disabled` on `<RadioGroup>`.
required
boolean
—
Marks the field as required for form submission.
id
string
—
Element id — auto-generated when omitted.
size
"sm"|"md"|"lg"
md
Control size.
invalid
boolean
—
Renders the invalid state and sets `aria-invalid`.
children
ReactNode
—
Optional label content — when provided, the radio renders inside a `<label>`.
className
string
—
  • The enclosing RadioGroup manages roving tabindex so only the selected item is in the tab order.
  • Each item exposes role="radio" with aria-checked reflecting the current value.
  • Arrow keys move selection within the group; Space/Enter select the focused item.
  • Provide orientation="horizontal" on RadioGroup for inline layouts.
  • Always supply aria-label or aria-labelledby on RadioGroup so screen readers announce the group purpose.