You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Accessibility: keyboard navigation for listbox popups #29
Accessibility: keyboard navigation for listbox popups
LanguageSwitcher, PhoneInput (country menu) and NavBar (language menu) all render role="listbox" popups, but the only key handled is Escape. Users can only Tab through options, which doesn't match the WAI-ARIA listbox / combobox pattern.
Expected
ArrowDown / ArrowUp move the active option (from the search input too); wrap or clamp
Home / End jump to first/last
Enter selects the active option; Escape closes and returns focus to the trigger
Active option exposed via aria-activedescendant on the search input (with role="combobox" + aria-controls)
Active option scrolled into view
Opening with ArrowDown on the trigger
Focus returns to the trigger after selection
Acceptance
Shared hook (e.g. src/lib/use-listbox-navigation.ts) used by all three components
Tests with @testing-library/user-event covering the keys above for each component
Activity
ujwalbajaj commentedon Oct 12, 2026
Hey I'm interested to work on this, can you assign this issue to me?
sapatmohit commentedon Oct 12, 2026
Works!! Assigned
feat(a11y): keyboard navigation for listbox popups (babelize#44)