-
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(ProgressBar): improve screen reader output #11698
Conversation
✅ Deploy Preview for carbon-components-react ready!
To edit notification comments on pull requests, go to your Netlify site settings. |
✅ Deploy Preview for carbon-elements ready!
To edit notification comments on pull requests, go to your Netlify site settings. |
Thanks, @dakahn I'll have a look. It sounds like maybe you were pushing valuenow updates a lot? I haven't looked behind the scenes to see the cause, but in my experience screen readers usually announce a few percentage points when loading, which tends to be adequate for most situations. |
So, @dakahn what you are describing ("JAWS was reading every helper text update (which numbered in the hundreds) and had a super verbose output") does not match my experience (or my origainl issue) with the Progress Bar example, which in both the live react repo and your deployment have virtually identical output during the progress bar 'load' which is that they announce a couple of times (which is fine). Note that the other things I had mentioned was the 'partially checked' output. I'm not hearing it in anymore -- but on both live and your preview! I am wondering why the behaviour seems to have changed for me. You haven't pushed anything yet, right? |
@mbgower right yeah there have been no updates on my end other than what you tested. i did have a jaws update when i fired it up yesterday though? maybe thats what changed? |
@dakahn Is this what I should be seeing? I may be testing it wrong. Screen.Recording.2022-06-30.at.5.23.14.PM.mov |
@jnm2377 Pretty much! make sure you're testing VO in Safari though as it can get a little whacky in other browsers |
Closes #11420
JAWS was reading every helper text update (which numbered in the hundreds) and had a super verbose output. This PR hides the hleperText from JAWS and instead has a visually hidden live region that describes the ProgreesBar as 'loading' or 'done' depending on the state of
isFinished
.Testing / Reviewing
With a screen reader reload the page. The progress bar should describe itself and then tell the user it's loading. when it's finished it should then update the user by saying 'done'
Notes
@mbgower let me know if this is what you were shooting for in that issue ticket. I'm hiding the progress bar via
aria-busy
like you suggested, but its worth noting that in my research it seems like that attribute might be intended for a loading region of a page--which i guess this progressbar could count as.