nvda icon indicating copy to clipboard operation
nvda copied to clipboard

NVDA does not support the ToggleState_Indeterminate for a three-state checkbox that implements the UIATogglePattern

Open rperez030 opened this issue 1 year ago • 2 comments

Steps to reproduce:

  1. create a new WPF application.
  2. Add the following code to the XMAL file to create a three state checkbox: <CheckBox Content="Three state" IsChecked="False" IsThreeState="True"></CheckBox>
  3. Run the application and set focus to the checkbox.
  4. 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

rperez030 avatar Aug 02 '22 16:08 rperez030

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.

scottaohara avatar Aug 02 '22 19:08 scottaohara

Fixed in #13980

mzanm avatar Aug 03 '22 19:08 mzanm