RRigdesign system
Inputs

Radio button

Single choice from a short list. Concentric ring and dot, with a 44px halo for touch.

Examples

Platform · Large 24
Platform · Medium 20
Platform · Small 16

States

Rendered states (visual reference; the live example above is the accessible one)
DefaultHoverFocus visiblePressedDisabled
Unselected
Selected

Anatomy

Radio button anatomy
#PartDescriptionPresence
1Ring24 / 20 / 16pxRequired
2Dot10 / 8 / 6pxRequired
3Halo44px touch boundaryRequired
4LabelClickable textRequired

Specifications

Large24px ring · 10px dot
Medium20px ring · 8px dot
Small16px ring · 6px dot
Touch target44px accessible boundary
ThemesPrimary indigo · Secondary purple · Success emerald · Warning amber · Error red · Info blue

Interaction

Keyboard
KeyResult
TabMoves into the group, landing on the selected radio (or the first)
↑ ↓ ← →Moves selection to the next or previous radio
SpaceSelects the focused radio if none is selected
Pointer and touch
TriggerResponse
Click on labelSelects
HoverRing strengthens
PressDot grows from 0 in 150ms

Accessibility

role · radiogroup

1.3.1Info and Relationships1.4.11Non-text Contrast2.1.1Keyboard4.1.2Name, Role, Value
Requirements
RequirementHow Rig meets it
Native inputs<input type="radio"> sharing one name gives arrow-key behaviour for free
Group name<fieldset> and <legend> announce the question
DefaultPreselect the safest or most common option
Disabled optionExplain why in the label

Read the matching WAI pattern ↗

Usage

Do and don’t
DoDon’t
Use for 2 to 7 mutually exclusive optionsDo not use for more than 7 options (use Select)
Show all options at onceDo not allow zero selection after the first choice