nvda
nvda copied to clipboard
NVDA does not support the ToggleState_Indeterminate for a three-state checkbox that implements the UIATogglePattern
Steps to reproduce:
- create a new WPF application.
- Add the following code to the XMAL file to create a three state checkbox:
<CheckBox Content="Three state" IsChecked="False" IsThreeState="True"></CheckBox>
- Run the application and set focus to the checkbox.
- Use the space bar to toggle the state of the checkbox. It is possible to confirm the state at any time by opening the NVDA console with NVDA +CTRL +Z and entering the following python code:
focus.UIATogglePattern.CurrentToggleState
. The partially checked state corresponds to state 2 in the output.
Actual behavior:
The states are reported as follows:
- Three state check box not checked
- checked
- not checked
Expected behavior:
The states must be reported as follows:
- Three state check box not checked
- checked
- partially checked
the third state which is now reported as not checked must map to an NVDA halfchecked state instead.
NVDA logs, crash dumps and other attachments:
Not applicable.
System configuration
NVDA installed/portable/running from source:
Installed.
NVDA version:
2022.2
Windows version:
Edition Windows 11 Enterprise Insider Preview
Version 22H2
OS build 25163.1000
Name and version of other software in use when reproducing the issue:
Not applicable.
Other information about your system:
Other questions
Does the issue still occur after restarting your computer?
Yes
Have you tried any other versions of NVDA? If so, please report their behaviors.
No
If NVDA add-ons are disabled, is your problem still occurring?
Yes
Does the issue still occur after you run the COM Registration Fixing Tool in NVDA's tools menu?
Not applicable
Just commenting to verify I'm finding the same when testing NVDA with the advanced setting to use UIA turned on with Edge.
If testing a native HTML checkbox input with the indeterminate IDL attribute specified, it announces as "not checked" rather than the "half checked" it announces when using IA2/MSAA. The UIA checked=mixed also appears to be exposed.
Fixed in #13980