Icone Select
Icone Select
Icone Select

Select

A select (also known as a select box, select field, or dropdown list in forms) is a form element that allows users to choose one (or sometimes multiple) options from a predefined list. Unlike a general-purpose dropdown menu—which can offer navigational or contextual actions—a select is typically focused on data input or form selection. It often appears as a collapsed box that, when clicked or tapped, reveals a list of options.

Usage

Single vs. Multiple Choice: Some select components allow only one choice at a time, while others permit multiple selections (often using checkboxes or a multi-select UI).

Form Inputs: Select is crucial where text entry isn’t desired or possible, and the user must pick from a specific set of valid options.

Controlled Data Entry: Ensures standardization (e.g., no spelling variations) by restricting users to predefined items.

Use cases

  • Choosing a country or state in an address form

  • Selecting a product variant (e.g., color or size)

  • Picking a time zone, language, or category from a fixed list

Not to be confused with

Contextual Menu: A general dropdown might display actions or navigation. A select is specifically for choosing data input in a form context.

Radio Button Group: Radio groups also enforce a single choice, but they display all options at once. A select collapses options into a single element until expanded.

Combo Box: A combo box typically combines text input with a list of suggested options. A standard select does not allow custom text entry beyond the predefined list.

Autocomplete: An autocomplete is an advanced input that filters a large list based on typed characters. A basic select won’t dynamically filter.

Best practices

Clear Labeling

  • Always provide a label or use an external <label> so users (and screen readers) know what the select field represents.

  • Use placeholder text (e.g., “Select country…”) only as a hint, not as a replacement for a label.

Concise Option Labels

  • Keep option text short but descriptive.

  • Group related options with <optgroup> (or a custom grouping in styled selects) when the list is lengthy.

Responsive & Accessible Design

  • Ensure the select is large enough to tap on mobile.

  • Provide keyboard navigation: Tab to focus, Up/Down arrows to move through options.

  • Use semantic HTML (<select> and <option>) or appropriate ARIA roles if creating a custom select.

Handling Large or Complex Lists

  • For more than ~10–20 options, consider a searchable select or auto-complete to reduce scrolling.

  • Group or categorize options to help users scan quickly.

Multiple Selection

  • If multiple selection is allowed, clearly indicate how to select/deselect items (e.g., checkboxes or Ctrl/Cmd + click in a native HTML select).

  • Show users which items they’ve picked (e.g., selected state, a summary tag, or an in-field display).

Validation & Error Handling

  • Provide an appropriate default (e.g., “Please select…”), ensuring users must actively choose.

  • Validate mandatory selects; highlight or show error messages if no option was chosen where required.

Consistent Styling

  • Align the select’s look (borders, hover states, spacing) with other form elements in your design system.

  • If using a custom-styled select, ensure the expanded list matches your overall UI theme.

Performance Considerations

  • For extremely large datasets, dynamically load or paginate options.

  • Use lazy loading or type-ahead filtering to prevent slow rendering or overwhelming the user.

If your list of options is large, consider a searchable or auto-complete approach to speed user interaction.

Summary

A select component is essential for collecting structured, predefined user input in forms. By offering a labeled, accessible, and potentially grouped list of options, selects allow users to quickly make valid choices without typing. Careful attention to clarity (labeling, placeholders), usability (grouping, multi-select handling), and responsiveness (keyboard, touch, large lists) ensures a smooth experience. Whether using native <select> elements or custom-styled versions, consistent styling and thoughtful validation round out a well-integrated select component in your design system.

In action

Also in Forms