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.