BetaPublic beta — Read the release notes
Documentation

Combobox

Keyboard, focus, semantic, and consumer responsibilities for Combobox.

Package
@solidiom/combobox
Version
0.0.1-next.0
Status
stable

Accessibility

Automated evidence

The evidence summary below is generated from the repository’s executable axe scan for @solidiom/combobox. It records automated checks only; it is not a claim of complete conformance.

Manual verification

Review keyboard navigation, active-descendant highlighting, input focus retention, zoom/reflow, touch targets, reduced motion, contrast, and screen-reader announcements in the consuming product. A consumer’s layout, labels, and filtering logic can change the accessibility result.

Accessibility contract

Keyboard

Enter
Selects the currently highlighted item and closes the listbox.
Escape
Closes the listbox without selecting. Focus remains on the input.
ArrowDown
Opens the listbox if closed, or moves highlight to the next item.
ArrowUp
Opens the listbox if closed, or moves highlight to the previous item.
Tab
Closes the listbox and moves focus to the next focusable element.

Focus

  • The input retains DOM focus at all times while the listbox is open.
  • Active-descendant pattern visually highlights the current item without moving focus.
  • Focus returns to the input after the listbox closes.

Semantics

  • Input has role combobox.
  • Input exposes aria-autocomplete=list indicating suggestions are presented.
  • Content has role listbox.
  • Each item has role option.

ARIA

  • Input exposes aria-expanded reflecting open state.
  • Input exposes aria-controls pointing to the listbox id.
  • Input exposes aria-activedescendant pointing to the highlighted item id.
  • Each item exposes aria-selected reflecting selection state.

Consumer responsibilities

  • Provide an accessible label for the input via a visible label element or aria-label.
  • Communicate an empty state when no items match the current filter.
  • Ensure item text values are unique and descriptive.

Review status: Draft — not yet reviewed

This contract describes what the primitive guarantees. Consuming products remain responsible for labels, layout, and workflow decisions that affect the final accessibility result.

Automated evidence

Axe scan summary

Passes
13
Violations
0
Incomplete
0

Latest executed scan: Aug 13, 2026, 10:47 PM

Evidence IDs: axe-combobox-scan-v1

Automated checks cover only the recorded fixture and do not establish complete accessibility conformance.