Combobox

4
A searchable input combining free text entry with selection from a predefined list.
Lightspark Business Recipient Details
Figma logo composed of five colorful rounded shapes forming an abstract letter F.
Figmaย fileย available
true
Lightspark Issue Virtual Card
Figma logo composed of five colorful rounded shapes forming an abstract letter F.
Figmaย fileย available
true
Lightspark Recipient Type & Currency
Figma logo composed of five colorful rounded shapes forming an abstract letter F.
Figmaย fileย available
true

Upgrade to SaaSFrame Pro now to see 1 more Combobox examples

Monthly

$18 /month

Billed $18 monthly
Browse all screens & flows
Filter and search screens & flows
Search text in screenshots
Access Figma files
Access mobile versions
Join now

Quarterly

$16 /month

Billed $48 quarterly
Browse all screens & flows
Filter and search screens & flows
Search text in screenshots
Access Figma files
Access mobile versions
Join now

Yearly

$15 /month

Billed $180 yearly
Browse all screens & flows
Filter and search screens & flows
Search text in screenshots
Access Figma files
Access mobile versions
Join now
No items found.

Upgrade to SaaSFrame Pro now to see 1 more Combobox examples

Monthly

$18 /month

Billed $18 monthly
Browse all screens & flows
Filter and search screens & flows
Search text in screenshots
Access Figma files
Access mobile versions
Join now

Quarterly

$16 /month

Billed $48 quarterly
Browse all screens & flows
Filter and search screens & flows
Search text in screenshots
Access Figma files
Access mobile versions
Join now

Yearly

$15 /month

Billed $180 yearly
Browse all screens & flows
Filter and search screens & flows
Search text in screenshots
Access Figma files
Access mobile versions
Join now

Combobox Design Guide

A combobox lets someone enter text while choosing from a set of suggested values. In SaaS products, it commonly appears in customer selectors, project assignment, country fields, and filters with too many options for a simple dropdown. Its defining design challenge is keeping the editable query, the highlighted suggestion, and the committed value understandable as separate states.

A search box beside a list is not automatically a combobox. Neither is every control with a chevron. Choose this pattern when typing helps users find a valid value and the relationship between the field and its suggestion popup can remain clear. The result should feel like selecting an object, not guessing the application's vocabulary.

Decide whether the field selects a value or accepts free text

Start with the data contract. A country selector usually accepts one value from a defined set. A customer selector might accept only records the current user can access. A tag field may allow both an existing tag and a newly created value. Those contracts lead to different empty states, validation rules, and treatments of unmatched text.

For a restricted selector, do not silently save arbitrary typing. If the person enters a query and leaves without selecting, preserve the previous selection or explain that a valid choice is required. The exact choice depends on the form, but it should be consistent across mouse, touch, and keyboard interaction. A field must not look completed while storing no value.

For an editable value, make the free-text path explicit. An option such as โ€œUse โ€˜Customer successโ€™โ€ communicates that the query can become the answer. If creating an object has broader consequences, use โ€œCreate tagโ€ and explain any relevant permissions. Selecting a suggestion and creating a record should not be indistinguishable operations.

Read closed selectors without assuming hidden behavior

Profound Select Region design reference captured in SaaSFrame
Profound Select Region. View the SaaSFrame reference.

The Profound Select Region reference shows separate Region and Language controls during setup. The closed region control uses a flag, a selected country label, and a chevron. These visible elements establish the current value and the existence of a selection interaction. The screenshot does not show a search field or an expanded suggestion list, so it does not prove that the component is an editable combobox.

That distinction is useful when studying references. A short country list may work as a conventional select. A long international list can benefit from typing, alternate country names, and accent-insensitive matching. Before borrowing the visual shell, inspect the interaction and decide whether the expected list actually needs search. Do not add an editable field simply because a component library offers one.

The separation of region and language also illustrates a modeling decision. Geography and language are related, but they are not equivalent. An efficient combobox cannot compensate for a form that collapses two independent user choices into one ambiguous value.

Make result identity clearer than the query

The query helps find an item; the result identifies what will be selected. Give each row a primary label and only the secondary details needed to distinguish similar objects. For customers, that might be company name plus domain. For people, it might be name plus email. A customer logo or avatar can help scanning, but it must not carry the only distinguishing information.

Consider duplicate names early. Two projects called โ€œWebsiteโ€ need workspace or owner context. An archived record may require a status badge. If the user cannot select an item, explain the restriction without exposing confidential data. Do not display inaccessible records merely to make the search results look complete.

Highlight matched characters sparingly. The result should remain readable as a whole, especially when matching includes synonyms or normalized spelling. Rank exact and strong matches predictably. If an item appears because of a secondary attribute, showing that attribute can explain why it belongs in the result set.

Separate focus, highlight, and committed selection

Opening the popup should not automatically overwrite the stored value. Moving a highlight through suggestions should not submit the form. A committed selection should appear in the field only after an intentional selection action appropriate to the chosen interaction model.

This separation matters when someone reviews alternatives and then presses Escape. They usually expect to dismiss the popup without accidentally changing their account, assignee, or filter. If the product uses automatic selection, its behavior needs particular care because the first matching suggestion can become the value when focus moves away.

Keep a clear visual treatment for the active suggestion and the selected value. Checkmarks can indicate an existing selection, while a background treatment indicates the current keyboard target. When both appear on different rows, users should be able to understand why. A selected item is a fact about the form; a highlighted item is a possible next action.

Search locally or remotely according to the list

A small stable list can filter immediately on the client. A customer database may require server search, authorization checks, and pagination. Avoid presenting the two as identical experiences: remote suggestions need a loading state, handling for failures, and protection against stale responses arriving after a newer query.

Debounce requests when appropriate, but do not turn every keystroke into a long unexplained pause. Keep the query visible during loading. If earlier results remain visible, clarify that they are updating rather than making them look like final matches for the latest text. Cancel or ignore obsolete responses so an older search cannot replace a newer one.

For large catalogs, โ€œType at least two charactersโ€ can be clearer than an empty popup. If recent or frequently used objects are shown before typing, label that group. A list of recent customers is helpful context, but it is not a complete list of matching customers and should not suggest otherwise.

Give empty and failure states different meanings

โ€œNo customers foundโ€ means the search succeeded without a match. โ€œCould not load customersโ€ means it did not. These states need different recovery paths. An empty result might suggest changing the query, checking spelling, or creating an object if permitted. A failure should preserve input and offer retry without implying that the record does not exist.

If the form depends on another field, explain that dependency before opening a useless popup. โ€œChoose a workspace to search projectsโ€ is more actionable than a blank list. When changing the parent invalidates a child selection, clear or flag the child value visibly instead of quietly submitting a record from the previous context.

Account for unavailable selected values too. A deleted customer, removed teammate, or expired permission may still exist in previously saved data. Showing an explanatory unavailable state helps users resolve the issue without confusing it with a loading delay.

Build the keyboard and screen reader model deliberately

The WAI-ARIA combobox pattern describes relationships between an editable control, its popup, and the active option. Use it as an implementation reference rather than treating a chevron and a list as sufficient accessibility.

Provide an accessible name, communicate whether the popup is expanded, and associate the input with the suggestions. Support the relevant arrow, Enter, and Escape interactions for the selected combobox model. Preserve normal text editing keys instead of intercepting them to navigate the list unexpectedly. Test the actual browser and assistive technology combinations your product supports.

Visible focus must survive opening, closing, and selection. Announcements should help someone understand result availability without reading the entire list after every character. Validation messages need to be associated with the field and should identify how to fix the problem.

Adapt the popup to mobile and complex forms

On mobile, the keyboard can leave very little space for suggestions. Keep the active result visible, avoid tiny rows, and ensure tapping an option does not dismiss the keyboard before the selection registers. Long result labels need a useful truncation strategy or a second line rather than overlapping trailing icons.

A full-screen selector may be better than a floating popup when choosing complex objects on a small screen. Keep the query, current selection, and confirmation action coherent in that transition. If desktop selection commits immediately while mobile requires Done, make the distinction visually clear.

In forms, avoid nesting a combobox inside another dismissible surface without testing Escape and outside-click behavior. Dismissing suggestions should not unexpectedly close the dialog containing the form. Likewise, the Enter key used to select a result must not also submit incomplete parent fields.

Test the value contract before polishing animation

Test duplicate labels, missing values, accents, long names, no results, slow responses, permission changes, and dependencies between fields. Include the sequence of selecting an item, editing its label in the input, then leaving the field. The saved value should match what the interface communicates.

Observe whether people can find known items and whether they understand what was committed. A high number of reopened popups, repeated query edits, or invalid submissions can reveal unclear selection rules. For remote search, inspect stale-response errors and time to useful results alongside ordinary performance measurements.

Frequently asked questions about comboboxes

How is a combobox different from autocomplete?

A combobox is an interaction structure connecting a control to a selection popup. Autocomplete describes suggestions that help complete input. A combobox can implement autocomplete, but an autocomplete experience can also lead to search results or text completion without selecting a stored object. Define the outcome first.

Should every long dropdown become searchable?

Search helps when users know what to type and the list is sufficiently large or difficult to scan. It can hurt when the choices are unfamiliar and need explanation. Grouping, a dedicated picker, or a short conventional select may be more understandable.

Can a combobox select multiple values?

Yes, but selected values need separate representation, removal controls, and a clear distinction between the current query and existing selections. Study autocomplete for suggestion design and bulk actions when selection is intended to operate on many existing records.

Minimalist black and white abstract logo featuring intertwined curved lines forming a diamond shape.
Get SaaSFrame Pro
Monthly
$18
Quarterly
$48
Yearly
$180
Upgrade to access this feature
Browse all screens & flows
Filter and search screens & flows
Access Figma files
Access mobile versions
Bookmark screens & flows
Join now