Browse Components

Components

Select

Select is used to make one selection from a list through keyboard or mouse actions.

DesignUsageAccessibilityUpdates

Purpose

Choose from a list

Use select when users need to pick one option from a known set.

Save space in forms

A select keeps many options inside one field when radio buttons would be too long.

Follow expected behaviour

The select supports standard field, option, and keyboard interaction patterns.

Anatomy

PassportLicenceBenefits
1

Trigger field

2

Listbox

3

Option

Configuration

Hint text

Use hint text to clarify the choice.

Singapore Malaysia Indonesia

Default. Use when the label alone is enough.

Placeholder

Provide a placeholder to indicate that no value has been selected yet.

Singapore Malaysia

Field is empty with no inline helper.

Pre-selected value

Use the value attribute to mark a default selection.

Singapore Malaysia

No option is preselected.

Disabled options

Disable individual options to prevent users from selecting them.

Singapore Malaysia Indonesia

Every option is selectable.

Disabled

Disable the entire select to prevent any interaction.

Singapore Malaysia

Default interactive state.

Validation feedback

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

Singapore Malaysia

No feedback shown.

Loading

Use loading while select options are being retrieved or refreshed.

GovTech MCI

Use default when options are ready.

Required

Mark select as required when the form cannot be submitted without a selected option.

GovTech

Use optional selects for non-essential choices.

Structure

Passport Licence Benefits

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 inside the form controlsgds-gap-xs8pxSpacing between items inside the componentBordersgds-form-border-radius-mdValue used by the componentsgds-form-border-width-defaultWidth variesValue used by the componentSizesgds-dimension-4848pxHeight of the select triggersgds-icon-size-mdSize of the iconOutlinesgds-form-outline-focusFocus outline of the form controlsgds-form-outline-offset-focusFocus outline offset of the form control

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

Singapore Malaysia Indonesia Thailand
Use select for one choice from a known list

Use select when users must pick one value from a defined set, especially when radios would crowd the page.

Email SMS
Do not use select for very short option sets

If there are only two or three options, show them as radio buttons so users can compare and pick without opening a menu.

Singapore Malaysia
Use a placeholder to indicate no value is selected

Set a placeholder so users can tell the field is empty and that they still need to make a choice.

Singapore Malaysia Indonesia Thailand Vietnam Philippines Cambodia Laos
Do not use select when users need to type to find an option

If the list is long and users know the value, use a combo box so they can filter by typing.

Indonesia Malaysia Singapore Thailand
Order options in a way users can predict

Sort options alphabetically, by frequency, or by recommended order so users can find their choice quickly.

English Mandarin Malay Tamil
Do not use select when multi-selection is required

Select only supports a single value. For more than one, use a combo box with multiSelect or checkboxes.

Accessibility considerations

Built-in accessibility

  • Select combines an input-like trigger with a selectable option menu.
  • The menu supports keyboard opening, movement, and selection.

Labels and content

  • Use a visible label that describes the choice.
  • Keep option labels short and unique.

Focus and interaction

  • Users should be able to open the option list and select an item without a pointer.
  • Keep validation feedback close to the select.

Keyboard interaction

KeyInteractionTabMoves focus from the select to the next focusable element.Shift+TabMoves focus to the previous interactive element.↓ Downor↑ UpOpens the select menu or moves focus between available options.EnterActivates the focused focused option.EscCloses the open select when supported by the component.

Updates

DateVersionDescription29 Apr 2026v3.18.0Hide input caret and update cursor in #614.17 Oct 2025v3.5.4Slotted items not accessible at firstUpdated in #430.06 Oct 2025v3.5.0New options sub component and new default slot for select and combobox in #406.

Roadmap

Planned itemStatusTargetFuture enhancements for selectPlannedTBD

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/select

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