[Checkbox] a11y - Indeterminate checkbox state announces only as ticked or unticked rather than mixed
See original GitHub issue- The issue is present in the latest release.
- I have searched the issues of this repository and believe that this is not a duplicate.
Current Behavior 😯
When I use indeterminate=true on MUI Checkbox component I would expect a screenreader to announce its state as mixed
rather than ticked or unticked as per aria guidelines.
https://www.w3.org/TR/wai-aria-practices-1.1/examples/checkbox/checkbox-2/checkbox-2.html
Expected Behavior 🤔
I would expect an indeterminate checkbox to be announced as mixed
instead of ticked or unticked, as per the example on https://www.w3.org/TR/wai-aria-practices-1.1/examples/checkbox/checkbox-2/checkbox-2.html
Steps to Reproduce 🕹
Steps:
- Turn on VoiceOver on MacOS.
- Navigate to https://material-ui.com/components/checkboxes/#basic-checkboxes in Chrome.
- Tab navigate to the indeterminate checkbox and use the space key to tick/untick the box.
- Will always be announced as ticked or unticked.
Context 🔦
Your Environment 🌎
Tech | Version |
---|---|
Mac OS | Catalina 10.15.4 |
Chrome | Version 80.0.3987.163 (Official Build) (64-bit) |
Issue Analytics
- State:
- Created 3 years ago
- Reactions:3
- Comments:8 (6 by maintainers)
Top Results From Across the Web
Indeterminate checkbox state announces only as ticked or ...
When I use indeterminate=true on MUI Checkbox component I would expect a screenreader to announce its state as mixed rather than ticked or ......
Read more >Definitive guide to indeterminate state of a checkbox – SiteLint
3 checkboxes with following states: unchecked, indeterminate, checked ... it is represented by a horizontal line in the box instead of a check/tick....
Read more >ARIA: checkbox role - Accessibility - MDN Web Docs - Mozilla
The checkbox is checked. false. The checkbox is not checked. mixed. The checkbox is partially checked, or indeterminate.
Read more >Indeterminate Checkboxes - CSS-Tricks
The indeterminate state is visual only. The checkbox is still either checked or unchecked as a state. That means the visual indeterminate ......
Read more >Indeterminate checkboxes are weird | by Tony Mottaz - Medium
A checkbox usually has two states: checked and unchecked. But indeterminate checkboxes are in a third state: neither checked nor unchecked.
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
Good find, I’ve updated the ticket to reflect that lad instead 👍
I’m doing some quick testing on https://5kfn6.csb.app and you’re right about the screenreader/browser combos alright - not too many passes here as indicated by ✅:
Kind of interesting to see too that a checked indeterminate checkbox on iOS will be rendered as a fully checked checkbox for HTML and React:
They don’t use native checkboxes so it doesn’t really relate to this issue.
Features of native checkboxes have a bunch of inconsistencies in various browsers depending on the timing or how their props are changed. If you don’t leverage native forms and need the mixed state then custom ARIA implementations may be a bit more robust. Though pure ARIA implementations are usually more prone to screen reader issues.
I’d go with my usual stance: Just because they say they’re accessible doesn’t mean they are. You need tests for that.