-
-
Notifications
You must be signed in to change notification settings - Fork 969
Closed
Labels
Description
What version of rsuite are you using?
v5.83.1
What version of React are you using?
Latest
What version of TypeScript are you using (if any)?
No response
What browser are you using?
Chrome
Describe the Bug
Current Behavior
RSuite components (e.g., CheckTree) render native checkboxes like this:
<input
type="checkbox"
aria-checked="mixed"
tabindex="0"
...
/>However, screen readers such as NVDA, JAWS, and VoiceOver do not announce the "partially checked" or "mixed" state when aria-checked="mixed" is applied directly to a native <input type="checkbox">.
Instead, the checkbox is announced as simply checked or unchecked, causing an accessibility issue.
Expected Behavior
Screen readers should announce the checkbox state as "partially checked" or "mixed" when aria-checked="mixed" is present.
To support this, either:
- Use a custom checkbox element with
role="checkbox"andaria-checked="mixed", or - If using a native checkbox (
<input type="checkbox">), set the.indeterminate = trueproperty via JavaScript.
To Reproduce
- Use keyboard or mouse to select only one of the child nodes under a parent.
- Turn on a screen reader (e.g., NVDA, JAWS, or VoiceOver).