Editable combobox (text input + role="listbox" popup) implementing the APG pattern: aria-expanded, aria-activedescendant, Up/Down/PageUp/PageDown navigation that skips disabled options (Home and End stay with the text caret, as the pattern requires), Alt+Down to expand without moving, type- to-filter, Enter to commit, Escape/outside-click to dismiss. Options are read live and given ids as they appear, so lists fetched after enhancement work. Selection emits a cancelable hl:select followed by hl:change, expanding or collapsing the listbox emits hl:open-change, and both the committed value and the open state are controllable through the returned API. Before this runs, the stylesheet reveals the listbox on :focus-within so the options are at least reachable; the root is marked data-hl-ready once JS owns visibility. Markup can set data-hl-filter, data-hl-auto-highlight, and data-hl-default-value on the root.

Properties

Properties