nvaccess / nvda

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

NVDA does not announce the radio button count of JRadioButton(s) in a ButtonGroup (Java AccessBridge API) #13848

Closed anOolamr closed 2 years ago

anOolamr commented 2 years ago

When a JRadioButton in a ButtonGroup gets the keyboard focus, NVDA does not announce the radio button count and the total number of radio buttons in the group. As the label of a radio button does not require a count information and the selection mark can be initially set on any JRadioButton in the ButtonGroup, it is necessary to announce the count and total number information to get the keyboard focus position within the radio button group. Both information is transferred via the Java AccessBridge API.

I wrote a simple application Test_RadioButton_Count.jar and attached it to this bug report. (If you prefer a .java file, you can find it within the .jar file.) Test_RadioButton_Count.zip

The jar-file opens a simple frame containing a group of seven radio buttons. All radio buttons have the same label "A radio button item". Hence it is necessary that the radio button count is announced to get the keyboard focus position within the radio button group.

Steps to reproduce:

Extract the Test_RadioButton_Count.jar file from the linked .zip file.

Execute the attached .jar file with an up-to-date JRE version. -> A Java window with title "Test Radio Buttons" opens. -> The third radio button has the keyboard focus. -> NVDA announces: "Test of Radio Buttons, Radio button group, panel, A radio button item, radio button, checked". -> NVDA does not announce the count of the radio button and total number, in this case "3 of 7".

Press the down arrow key once. -> The next radio button has the keyboard focus. -> NVDA announces: "A radio button item, radio button, checked". -> NVDA does not announce the count of the radio button and total number, in this case "4 of 7".

Press the arrow down key several times. -> NVDA announces each time: "A radio button item, radio button, checked". -> Without the count and total number information, the user will be confused about the position of the keyboard focus.

Actual behavior:

For each focused radio button in the ButtonGroup, NVDA announces: "A radio button item, radio button, checked".

Expected behavior:

For each focused radio button in this ButtonGroup, NVDA should announces: "A radio button item, radio button, checked, of ", where is the total number of the radio buttons in the ButtonGroup and is the count of the focused radio button.

System configuration

NVDA installed/portable/running from source:

installed

NVDA version:

Version: 2022.1

Windows version:

Version: 10.0.19043 Build 19043

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

java version "18.0.1" 2022-04-19 Java(TM) SE Runtime Environment (build 18.0.1+10-24) Java HotSpot(TM) 64-Bit Server VM (build 18.0.1+10-24, mixed mode, sharing)

Other information about your system:

Java Access Bridge is enabled.

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. Same behavior.

If NVDA add-ons are disabled, is your problem still occurring?

Not applicable.

Does the issue still occur after you run the COM Registration Fixing Tool in NVDA's tools menu?

Not applicable.

mwhapples commented 2 years ago

I cannot reproduce this issue. With NVDA 2022.1 I get the correct position information spoken in the example application provided. I have tested with Java 17 (current LTS release) and Java 18. The only difference I see between my test system and the reported system configuration is that I am using Windows 11. I though doubt Windows10 vs Windows11 would cause such a difference as the Java Access Bridge is separate from the Windows APIs.What else may cause differences like this, could there be a NVDA setting which might lead to this information not being announced?

anOolamr commented 2 years ago

Based on your comment I went through all of my NVDA settings again and found that the "Object Presentation" > "Report object position information" was deactivated. When I mark this checkbox, NVDA properly announces the count and the total number of each focused radio button. Therefore I close this bug report. Sorry for any inconveniences.