NEURALNG

ACCESSIBILITY

Multiple selection without ambiguity

The trigger, focused filter and popup share one deterministic multiple-listbox contract.

Combobox and listbox semantics

The trigger and focused filter expose expanded state, controls and active descendant. The popup uses role=listbox with aria-multiselectable=true; every row exposes selection, disabled state, position and total set size.

Keyboard model

Arrow Up/Down move through enabled options, Home/End jump to boundaries, Enter/Space toggle the active option and Escape closes. When filtering is disabled, buffered typeahead moves by localized labels.

Readonly and disabled

Readonly stays focusable and opens for inspection but blocks options, chips, clear and select-all. Disabled leaves the tab sequence and closes an open popup. Required, invalid, pending, touched and dirty states remain inspectable through ARIA and data hooks.

Virtualized accessibility

Only a small window exists in the DOM, but aria-posinset and aria-setsize describe each option inside the complete collection. Active navigation scrolls the target row into view.