accessible-combobox-implementation

Build and debug ARIA-compliant combobox widgets with keyboard navigation.

2|Updated Mar 21, 2026
One-click install
npx skills add https://github.com/coastdigitalgroup/coastai-skills --skill accessible-combobox-implementation
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: accessible-combobox-implementation
Source: https://github.com/coastdigitalgroup/coastai-skills/tree/main/website-development/accessible-combobox-implementation
Command: npx skills add https://github.com/coastdigitalgroup/coastai-skills --skill accessible-combobox-implementation

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Custom select menus and autocompletes are often implemented in ways that are inaccessible to keyboard users and screen readers. This skill provides a robust framework for building ARIA-compliant combobox widgets that maintain correct focus, state, and announced feedback.

Core Features & Use Cases

  • ARIA-compliant structure: implements role="combobox"/"listbox"/"option" with proper aria-* attributes and labeling.
  • Keyboard navigation: supports Arrow keys, Enter, Escape, Home/End for predictable interaction.
  • Focus and feedback: manages aria-activedescendant, aria-expanded, and an aria-live status region for real-time updates.
  • Use Case: audit or implement custom autocomplete inputs, tagging, or filtered dropdowns across web apps and design systems.

Quick Start

Initialize the accessible combobox by wiring an input to a listbox via aria-controls, enable keyboard navigation to update aria-activedescendant, and toggle aria-expanded when the list opens or closes.

Frequently Asked Questions about accessible-combobox-implementation

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I build an accessible combobox with ARIA roles and keyboard navigation?

To build an accessible combobox, wire an input to a listbox via aria-controls, manage aria-expanded for open/close states, and update aria-activedescendant for keyboard focus. This ensures screen readers announce options correctly during navigation.

What ARIA attributes are required for an accessible autocomplete input?

An accessible autocomplete requires role="combobox" on the input, role="listbox" for the dropdown, and role="option" for items. You must also manage aria-activedescendant, aria-expanded, and an aria-live region for status updates.

How does keyboard navigation work in an ARIA-compliant combobox widget?

Keyboard navigation in an ARIA combobox uses Arrow keys to traverse options, Enter to select, Escape to close the list, and Home/End for quick jumps. Focus is managed dynamically via aria-activedescendant to reflect the active option.

Why does my screen reader not announce custom select dropdown options?

Screen readers fail to announce custom select options when ARIA roles are missing or aria-activedescendant is not updated during keyboard navigation. Implementing proper combobox, listbox, and option roles with an aria-live region resolves this.

Can I use this combobox pattern for tagging and filtered dropdowns in a design system?

Yes, this ARIA-compliant combobox pattern is applicable to custom autocomplete inputs, tagging widgets, and filtered dropdowns across web apps and design systems requiring reliable keyboard navigation and screen-reader feedback.

Do I need a live region for accessible combobox status updates?

Yes, an aria-live status region is required for accessible combobox widgets to provide real-time feedback. It announces dynamic changes, such as available option counts or filtering results, ensuring screen reader users stay informed.