Primitives
Radio primitive
Lower-level radio anatomy for custom group and option layouts.
Use the Radio primitive when a layout needs custom placement for a radio group or its options. For
the standard labelled group, use RadioGroup.
Anatomy
RadioGroupRoot owns the selection, accessible group name, validation, form value, and size.
RadioRoot represents one option and takes its value. RadioLabel provides the clickable option
label. Place RadioControl inside it, with RadioIndicator inside the control.
Use FieldLabel, FieldDescription, and FieldError inside RadioGroupRoot when the group label,
description, or error needs a custom position. The group root connects those parts to the group.
Place a FieldDescription inside RadioRoot to describe one option. Each option still needs a
RadioLabel.
Accessibility
Name RadioGroupRoot with FieldLabel, aria-label, or aria-labelledby. Put textual,
non-interactive option text inside each RadioLabel, and place links and buttons outside it. The
group supports arrow-key navigation between its options.
API
RadioGroupRootProps
RadioGroupRootProps also accepts compatible DOM and ARIA attributes and event handlers for its rendered element.
RadioRootProps
RadioRootProps also accepts compatible DOM and ARIA attributes and event handlers for its rendered element.
RadioLabelProps
RadioLabelProps also accepts compatible DOM and ARIA attributes and event handlers for its rendered element.
RadioControlProps
RadioControlProps also accepts compatible DOM and ARIA attributes and event handlers for its rendered element.
RadioIndicatorProps
RadioIndicatorProps also accepts compatible DOM and ARIA attributes and event handlers for its rendered element.