Browse Components

Components

Radio

Radio allows the user to select one option from a set while seeing all available options.

DesignUsageAccessibilityUpdates

Purpose

Choose one option

Use radio buttons when users can select only one item from a set.

Show options upfront

Radio groups work well for short lists where users need to compare choices.

Keep selection clear

The selected state remains visible until users change it.

Anatomy

Option label
1

Radio input

2

Label

Configuration

Hint text

Add hint text to a radio group to explain the choice.

Daily Weekly Monthly

Default. Use when the label alone is enough.

Selected value

Set the radio group's value to mark a default selection.

Basic Standard Premium

No radio is preselected.

Disabled

Disable individual radios or the whole group to prevent selection.

Basic Standard Premium

All options are interactive.

Validation feedback

Show error styling and a feedback message when no option is selected.

Basic Standard

No feedback shown.

Structure

Yes No

Design tokens used

Each row is a colour, spacing, or size value the component uses, and the right-most column tells you where in the component you'll see it.

CategoryTokenValueWhere it's usedGapsgds-form-gap-mdSpacing between items of the fieldset; spacing between items of the radio containersgds-form-gap-smSpacing between items of the label hint container

Usage

When to use

  • Use this component to collect or change a specific piece of information in a predictable way.
  • Use it when the SGDS control matches the type of response users need to provide.

When not to use

  • Do not use this component when another SGDS control would reduce effort or make the choice clearer.
  • Do not ask for more information, options, or steps than users need at that point in the task.

Best practices

Email SMS Phone call
Use radios for one choice from a visible set

Use a radio group when users must choose exactly one option and seeing all options helps them compare.

Email SMS Phone call
Do not use radios when users can select several options

Radio groups are mutually exclusive. Use checkboxes when more than one option can apply.

Monthly Quarterly Yearly
Use a clear group label

The radio group label should state the decision users are making before they compare the options.

Passport renewal Driving licence Housing grant Healthcare subsidy Work permit Business registration
Do not use radios for very long option lists

Long radio groups are hard to scan. Use select or combo box when the list is too long to compare at once.

Accessibility considerations

Built-in accessibility

  • Radio buttons render native radio inputs and reflect checked and disabled states.
  • Radio groups manage selection across related radio options.

Labels and content

  • Use radio buttons when users can choose one option from a set.
  • Write labels that make each option distinct.

Focus and interaction

  • Keep related radio options inside the same group.
  • Place hint and validation text close to the group.

Keyboard interaction

KeyInteractionTabMoves focus from the radio group to the next focusable element.Shift+TabMoves focus to the previous interactive element.↓ Downor→ Rightor↑ Upor← LeftMoves between radio options and updates the selected option.SpaceActivates the focused focused radio option.

Updates

DateVersionDescription17 Apr 2026v3.17.0New autofocus prop on Radio in #602.

Roadmap

Planned itemStatusTargetFuture enhancements for radioPlannedTBD

Feedback

Have suggestions or feedback?

Share them with us on Slack → #ask-sgds-v3

Bug Reports

Found a bug or issue?

Report it on GitHub Issues → sgds/components/radio

Singapore Government Design System

The Singapore Government Design System was developed to empower teams in creating fast, accessible and mobile-friendly digital services.

Past VersionsSGDS v1SGDS v2