[WIP] A11y#45
Conversation
- Removed popup role="dialog" wrappers around country dropdown - Kept semantic ownership on real role="listbox" element - Added explicit aria-controls from selector trigger to listbox - Updated search input to combobox-style ownership (role="combobox", aria-controls, aria-expanded) - Moved aria-activedescendant from listbox to the focused search input (combobox) - Added stable per-instance listbox/option ids and wired active option id correctly - In all three useCountrySelector implementations, pressing Escape now closes dropdown and explicitly returns focus to selector trigger button
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (11)
📝 WalkthroughWalkthroughThis PR comprehensively enhances accessibility across React, Svelte, and Vue implementations of the PhoneInput component by introducing ARIA attributes (combobox, listbox, aria-controls, aria-expanded, aria-activedescendant, aria-selected), dynamic ID generation for options via useId, focus restoration on Escape key handling, and new axe-core-based accessibility test coverage. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Poem
✨ Finishing Touches
🧪 Generate unit tests (beta)
📝 Coding Plan
Comment Tip You can get early access to new features in CodeRabbit.Enable the |
|
@coderabbitai summary |
✅ Actions performedSummary regeneration triggered. |



Description
What does this PR do?
Why is this change needed?
Type of Change
Testing
TBD
Screenshots (if applicable)
TBD
Checklist
Summary by CodeRabbit
Release Notes
New Features
Tests