Overview
Use Combobox when people need to search a governed option set faster than they can scan it, while retaining a valid selection.
Choose a project owner
Open the popup, search by name or role, and select a person.
Anatomy
Combobox connects a visible label, editable field, selected values, popup disclosure, and governed listbox.
Maya Chen✓
Noah Williams
- 1Label
Names the field and communicates required context.
- 2Search input
Filters options while keeping keyboard focus in the field.
- 3Selected value
Displays the governed value or removable multi-select chips.
- 4Disclosure
Opens or closes the available option list.
- 5Listbox
Shows matching options, descriptions, and selected state.
When to use
Use Combobox for searchable governed choices, especially when the list is long, dynamic, or unfamiliar.
Recommended
- Search large option sets
Use for people, accounts, assets, locations, or governed codes.
- Show distinguishing metadata
Add descriptions when labels alone are ambiguous.
- Support multi-selection
Use chips when several values from the same governed set may be chosen.
When not to use
Prefer simpler fields when search or governed selection is unnecessary.
Avoid
- Do not use for short lists
Use Select or Radio when all options are easy to scan.
- Do not use for unrestricted text
Use Input when any value is valid.
- Do not hide essential commands
Use CommandBar or search when results are actions rather than values.
Variants
Surface and density options align Combobox with forms, filter bars, and compact enterprise workspaces.
Outlined
Provides the clearest field boundary on open surfaces.
Filled
Uses a tonal surface in dense forms and filter areas.
Multiple
Represents selected values as individually removable chips.
Sizes
Small, medium, and large preserve readable text and usable targets.
States
Combobox coordinates field, popup, option, validation, and asynchronous states without moving focus away from the input.
| State | Trigger | Visual response | Interaction |
|---|---|---|---|
| Closed | Field is inactive | Selected value or placeholder | Focus or disclosure opens |
| Open | Field is focused or disclosed | Filtered listbox appears | Input retains focus |
| Active option | Keyboard navigation | Tonal option highlight | Enter selects |
| Selected | Value is chosen | Label or chips and option check | Clear or remove updates value |
| Loading | Options are being retrieved | Progress and loading status | Current value remains visible |
| Empty | No option matches | No-results message | Query remains editable |
| Error | Selection is invalid | Error outline and linked message | Field remains operable |
| Disabled | Field is unavailable | Reduced emphasis | Cannot open or edit |
Behavior
Combobox separates text query, popup visibility, and selection so each can be controlled independently for local or remote data.
Filtering
Default matching uses label, description, and hidden keywords; applications can override it.
Active descendant
Keyboard focus stays on the input while the active option is announced.
Multiple values
Selection stays open and the query clears after each chosen value.
Remote options
Controlled query and loading props support debounced server search.
Accessibility
Combobox follows the WAI-ARIA editable combobox pattern with named input, controlled listbox, active descendant, and announced option state.
| Key | Action |
|---|---|
| Tab | Moves focus into or out of the field. |
| ↑↓ | Opens the popup and moves the active option. |
| HomeEnd | Moves to the first or last matching option. |
| Enter | Selects the active enabled option. |
| Esc | Closes the popup without clearing selection. |
- Provide a persistent visible label.
- Connect the combobox to its listbox with aria-controls.
- Expose popup visibility and active option state.
- Announce selected and disabled options.
- Link helper or error text with aria-describedby.
- Keep keyboard focus in the input while navigating results.
Content guidelines
Labels, placeholders, option text, and feedback should make the governed choice easy to understand before searching.
Name the value
Use a concise noun phrase for the field.
Project owner
Prompt the action
Use placeholder text that describes the searchable set.
Search people…
Distinguish options
Use short metadata when names can repeat.
Platform engineer
State empty results
Name the searched object in the message.
No people found
Examples
Multiple selection uses the same option model and keyboard behavior while representing chosen values as chips.
Searchable owner field
The live preview demonstrates controlled popup, query, and selection state.
Props / API
Combobox extends div attributes; ComboboxOption defines value, label, optional description, icon, keywords, and disabled state.
Props