-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix Combobox aria roles to match aria 1.2 spec. #6938
Comments
Note that the old ARIA 1.1 pattern does not work well with screen readers. Having some of the ARIA markup on the wrapper element and some on the input is problematic (because usually, ARIA markup goes on the focusable element). The ARIA 1.2 pattern has the combobox semantics on the focusable element (i.e. the input, in this case). So fixing this issue is important because it will make the Carbon combobox work in all screen readers. The way it is now, the Windows screen readers don't know they're in a combobox - they actually think they're in a menu, which is weird (and misleading, because menus don't have a value). Haven't tried VoiceOver yet. I'm happy to work with you on this. Here is what needs to be done (maybe more - not sure yet. We can test/review after these).
|
@wkeese @carmacleod So could you please fix this bug by the end of Feb the latest? This is affecting our product Code Engine, which will be eGA on 3/21. |
@joshblack Please see @mashenka123's comment, above. |
Hey all! 👋 Sorry for the delay in response, totally agreed with the issues raised. The Combobox (and related listbox components like multiselect) have markup issues due to some mistakes in v9 along with how we are using a related library (downshift). We'll definitely look into how we can get these addressed in an upcoming sprint. We're also happy to work with anyone who wants to submit a fix if they have a tight timeline 👍 |
Just wanted to post a quick update here for anyone interested 👀 We started taking this on during our sprint (started yesterday) and tackled some of the big items mentioned above. Most of the issues we saw noted about came from either downstream behavior from the library we were using or from us incorrectly passing through what was needed. Just to check-off some of the observations above and leave some notes for what's remaining for @andreancardona and I: TODOs
Enhancements (?) We noticed these when looking at the WAI ARIA examples:
I opened up a draft PR with some of our changes: #7659 they are currently NOT complete and we will be updating it (and completing it) by the end of the sprint 😄 |
As an update here, there is a PR raised for this issue here: #7777 Curious if you have any feedback for it if you get a sec @carmacleod 👀 |
@joshblack This is blocking Satellite eGA on 3/1, could you please fix this asap? Thank you very much! https://github.ibm.com/alchemy-containers/satellite-ui/issues/469 |
The Combobox currently has strange aria roles, especially where the
<input>
is inside arole=button
.The template is also outdated in the sense that it has the
role=combobox
on a wrapper node rather than the<input>
. As of the Aria 1.2 spec (https://w3c.github.io/aria-practices/#examples-2), therole=combobox
is back on the<input>
.So, it should follow the patterns in https://w3c.github.io/aria-practices/#examples-2. Note that the pattern is a bit different depending on whether or not the combobox is filterable.
The text was updated successfully, but these errors were encountered: