nvaccess / nvda

NVDA, the free and open source Screen Reader for Microsoft Windows
Other
2.08k stars 625 forks source link

NVDA does not properly indicate checkbox state during Android Studio installation #15085

Open rezabakhshilaktasaraei opened 1 year ago

rezabakhshilaktasaraei commented 1 year ago

Steps to reproduce:

1. Start the Android Studio installation process by running android-studio-2022.2.1.20-windows.exe. 2. Proceed through the installation steps until you reach the "Select components to install" screen. 3. NVDA should read out the options available, for example "Android Studio" and "Android Virtual Device", along with their checkbox states. 4. When trying to select/deselect the options using the space key, NVDA incorrectly states that "Android Studio" option remains unchecked despite attempts to check it, while "Android Virtual Device" is being correctly checked and unchecked.

Actual behavior:

android-studio-2022.2.1.20-windows.exe not selected row 1 column 1 1 of 33 space selected numpad enter verifying installer: 31% dialog verifying installer: 31% Please wait while Setup is loading... verifying installer: 31% verifying installer: 34% verifying installer: 42% verifying installer: 49% verifying installer: 56% verifying installer: 64% verifying installer: 72% verifying installer: 79% verifying installer: 87% verifying installer: 94% Android Studio Setup dialog Welcome to Android Studio Setup Setup will guide you through the installation of Android Studio.

It is recommended that you close all other applications before starting Setup. This will make it possible to update relevant system files without having to reboot your computer.

Click Next to continue. Next > button Alt+n space pressed property page Check the components you want to install and uncheck the components you don't want to install. Click Next to continue. Check the components you want to install and uncheck the components you don't want to install. Click Next to continue. Select components to install: Space required: 3.3GB tree view level 0 Android Studio not checked 1 of 2 space space ctrl+space space space NVDA+up arrow Android Studio down arrow Android Virtual Device checked 2 of 2 level 0 space not checked space checked up arrow Android Studio not checked 1 of 2 level 0 space

NVDA consistently announces that the "Android Studio" option is unchecked, even when attempts have been made to check it. This is inconsistent with the behavior observed with another screen reader, JAWS, which correctly indicates the checkbox state.

Expected behavior:

NVDA should correctly indicate the state of checkboxes during the installation process, i.e., when the space key is used to check or uncheck the options, NVDA should announce the updated state correctly.

NVDA logs, crash dumps and other attachments:

nvda.log

System configuration

NVDA installed/portable/running from source:

installed

NVDA version:

2023.1 (2023.1.0.27913)

Windows version:

10.0.19045 Build 19045

Name and version of other software in use when reproducing the issue:

Android Studio version 2022.2

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.

yes. This issue has existed for a long time.

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?

Yes

michaelDCurran commented 1 year ago

How does jaws announce the Android Studio item exactly? I'm guessing it might say something like readonly checked, and pressing space on it says nothing, I.e. it is checked and you can't change it? We detect checked / unchecked by looking at the image state index with the TVM_GETITEMSTATE message. Generally 1 is unchecked, 2 is checked, 3 is partially checked. This is certainly true for the Android Virtual Device item. But for the Android Studio item, its index is 5, which I have not seen before. I'm assuming this might be readonly checked. It would be good if a sighted person could confirm what this looks like visually. There does not seem to be a clear standard for the image indexes, though NVDA assumes 1 unchecked, 2 checked and 3 partially checked, as mentioned above. And this seems to have been okay so far. We can add 5 readonly checked if this is truly what it is. Or at very least, stop saying checked / unchecked if the index is not 1 or 2. This change would need to be made in source/NVDAObjects/IAccessible/sysTreeview32.py, class TreeviewItem's _get_states method.

hwf1324 commented 1 year ago

How does jaws announce the Android Studio item exactly? I'm guessing it might say something like readonly checked, and pressing space on it says nothing, I.e. it is checked and you can't change it? We detect checked / unchecked by looking at the image state index with the TVM_GETITEMSTATE message. Generally 1 is unchecked, 2 is checked, 3 is partially checked. This is certainly true for the Android Virtual Device item. But for the Android Studio item, its index is 5, which I have not seen before. I'm assuming this might be readonly checked. It would be good if a sighted person could confirm what this looks like visually. There does not seem to be a clear standard for the image indexes, though NVDA assumes 1 unchecked, 2 checked and 3 partially checked, as mentioned above. And this seems to have been okay so far. We can add 5 readonly checked if this is truly what it is. Or at very least, stop saying checked / unchecked if the index is not 1 or 2. This change would need to be made in source/NVDAObjects/IAccessible/sysTreeview32.py, class TreeviewItem's _get_states method.

Yes, visually it is light coloured, indicating that no action can be performed on it, i.e. readonly checked.

rezabakhshilaktasaraei commented 1 year ago

I asked my sister and she told me that this is a check box, but you can't change it. There is a mark that tells us this is a unchangable. in my idea, NVDA can say here Android Studio not checked unavailable