Agent workflows
Native Select or Searchable Combobox? Brief Your Design Agent Before Styling
Choose a picker by its allowed values and search needs, not its screenshot. Review typed text, highlighted options and committed values separately before shipping an agent-built control.
The expensive part is not drawing the arrow
A design agent replaces a plain category selector with a polished dropdown. It looks consistent with the rest of the site. Then someone types a creator's name, tabs away and submits the wrong account: the field still holds an earlier selection.
The missing design decision was not border radius. It was what counts as a value, and when that value becomes committed.
This guide is for frontend teams reviewing agent-built filters and forms. Start with the user's selection task. A short fixed list and a searchable remote directory may share visual styling, but they do not need the same implementation.
Selection methodology
We reviewed MDN's HTML select reference and the W3C Authoring Practices Guide's combobox pattern and select-only example on October 14, 2026. These sources distinguish native controls, editable pickers and custom interaction responsibilities.
The decision table and review exercise below are editorial recommendations. We did not run a browser compatibility study or certify a component. Our earlier button-or-link guide concerns the effect of an action. Here the question is how a person chooses and commits a value.
Choose by the value contract
Before generating code, give the agent four facts: whether choices are fixed, whether typing is needed to find them, whether arbitrary text is allowed, and whether selecting an option immediately changes the page.
| Selection task | Suggested starting point | Product decision to settle |
|---|---|---|
| Choose one of three sort orders | Native select | Apply immediately or after an explicit action |
| Choose an existing creator from a large directory | Searchable, restricted combobox | Commit a record ID, not merely typed text |
| Enter a search query with optional suggestions | Editable combobox allowing free text | What happens when no suggestion is chosen |
| Choose a few visible, mutually exclusive settings | Consider radio controls | Whether seeing every choice is useful |
These are starting points, not universal option-count thresholds. Observe the real task and the available component library before choosing a custom widget.
The MDN select reference describes a native control with options, form association and support for single or multiple selection. A normal single-choice select is a sensible baseline when the task is simply choosing from a fixed set. Style its surrounding label, spacing and focus state within the site's existing design system.
Do not build a custom popup only because an agent's first version placed the arrow poorly. Fixing a visual alignment issue and taking ownership of a complete interaction model are different amounts of work.
Separate typed text, active option and committed value
The W3C combobox pattern distinguishes select-only controls from editable ones. Editable controls may allow arbitrary input or restrict values to a predefined set. The pattern also distinguishes autocomplete behaviors, including manual and automatic selection.
For a proposed creator picker, our recommended state model has three fields:
- Query text: what the person has typed to search.
- Active option: which suggestion keyboard navigation currently highlights.
- Committed ID: the creator record the form would actually submit.
Suppose the committed creator is account A and the person begins typing a different name. Decide explicitly whether this clears the commitment immediately or creates an uncommitted editing state. Either approach needs understandable feedback. The unsafe product behavior is silently displaying the new name while submitting account A.
Two people may share a display name. Show enough context to distinguish them, such as their public handle, and retain the unique identifier behind the choice. Our recommendation is to reject an unresolved query in a restricted picker rather than silently selecting the first suggestion.
Define cancellation and acceptance before implementation
Do not assume that every key commits the same way across every control. Use the chosen pattern and document the intended behavior.
The W3C select-only example illustrates exploration without immediately replacing the current value, and retaining that value when the popup is canceled with Escape. It also warns that the example is illustrative rather than production-ready, with testing needed across browser and assistive-technology combinations.
For your own picker, specify what happens on Enter, Escape, Tab, pointer selection and outside interaction. Include clearing an existing selection. Have the agent explain how keyboard focus, the visible selection and the submitted value remain consistent.
A custom implementation also needs to keep the active option visible while scrolling or zooming. Review behavior in the actual component rather than accepting ARIA attributes as proof that the interaction works.
Give remote search an explicit failure state
For a picker backed by a server, add a separate asynchronous review. Our proposed rules are straightforward: distinguish waiting, no matches and request failure; do not reinterpret an error as an empty directory.
If a request for an earlier query arrives after a later request, it must not replace the newer suggestions. Bind the displayed response to the query that produced it. This is a recommended application invariant, not a guarantee supplied by adding a combobox role.
Decide what happens if the committed record disappears or becomes unavailable before submission. Keep that case visible and ask for another choice where necessary. Do not silently swap in a similarly named record.
Avoid adding remote search when the existing local list already serves the task. A request for every keystroke introduces operational work without necessarily improving the selection experience.
A review exercise that checks the actual submitted value
Use a non-production fixture with two records sharing a display name, a long label, a slow response and a failed response. Record expected outcomes before testing.
First select one record, edit the text and leave the field without choosing another. Inspect what would be submitted. Next navigate suggestions with the keyboard, cancel, reopen and deliberately commit. Verify the ID as well as the visible label.
Then reverse the order of two search responses and confirm that suggestions still correspond to the latest query. Test an empty response separately from a failure. At narrow widths and increased zoom, check whether the options and current selection remain readable.
These are proposed acceptance checks, not results obtained for a listed Skill. Record the browsers, input methods and assistive-technology combinations actually checked.
Limitations and the handoff
This guide does not cover every multi-select, token input, date picker or large virtualized list. Native and custom controls both require application-level validation and appropriate accessibility review.
Use the skill directory to find implementation workflows. Give the chosen agent a selection contract and ask it to reuse an established component where possible. The acceptance question is not whether the popup looks premium: it is whether the user can understand, choose, cancel and submit exactly the intended value.