ual: Design System
Select
A dropdown control that lets users choose one option from a predefined list. Use when there are too many options to display as radio buttons.
When to use
- Use select when users need to choose one option from a predefined list that is too long for radio buttons to be practical
When not to use
- If users are choosing from fewer than five options and all options can be shown at once, use radio buttons instead. Radio buttons make all choices visible without an extra interaction
Content guidance
- Keep labels short and descriptive. The label should make it clear what the user is choosing e,g. Country, instead of Please select your country of residence
- Use hint text to clarify what kind of option the user should expect, or to give additional context the label alone does not cover. If the label is self-explanatory, leave hint text out
How it works
The options list uses the browser's native dropdown, not a custom designed menu. The visual appearance of the open dropdown will vary across browsers and devices.
Accessibility
This component is designed with accessibility built in:
- Colour contrast meets 4.5:1 across all states including error
- The select trigger is keyboard operable and the native dropdown inherits browser keyboard support
When implementing, verify:
- Each select has a visible, associated label
- Error messages clearly describe what went wrong and how to fix it
- If hint text is present, it is programmatically associated with the select using aria-describedby