Use when
- The user chooses one option from a moderate known list.
- The selected value matters more than seeing every option constantly.
Use a native select with a persistent label, optional hint, visible closed value, an empty option only for no selection, and validation that does not auto-submit on change.
Users need to choose one value from a known list that is too long or secondary to keep fully expanded on the page.
The option set is known, finite, and moderately sized.
Use a native select with a persistent label, optional hint, visible closed value, an empty option only for no selection, and validation that does not auto-submit on change.
Closed state with empty option or current selected value.
Inaccessible custom dropdowns.
Prefer native semantics or implement equivalent name, role, state, and keyboard behavior.
Open the select, choose one value, and check whether the selected value remains visible.
Launch the live UI/UX lab when you want to inspect states, keyboard behavior, and common failure modes.
Closed state with empty option or current selected value.
Native select follows platform-specific keyboard behavior.
Custom select with no keyboard support or hidden selected state.
Government Digital Service - checked
GOV.UK select guidance supports native labels, hints, errors, selected values, long-list caution, and no preselected answers for questions.
U.S. Web Design System - checked
USWDS select guidance supports sparing use for about seven to 15 options, persistent labels, no auto-submit, and radio/combo-box alternatives.
W3C Web Accessibility Initiative - checked
APG listbox guidance documents keyboard, labeling, and selected-state requirements for custom listbox-style select alternatives.
Last verified: