-
-
Notifications
You must be signed in to change notification settings - Fork 631
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
NVDA does not announce F-keys as Keystrokes of JMenuItems (Java Access Bridge) #13643
Comments
… java swing applications.
I have made a pull request to fix this, see #13676 does that fix the issue for you? There are a few small things I would really like to check:
|
Thanks, I would like to test the bug fix. How can I get a test version? Regarding your questions:
|
The build for my original pull request fixing this is at https://ci.appveyor.com/api/buildjobs/fdq2g6d8ya6uw0b8/artifacts/output/nvda_snapshot_pr13676-25373,308a963e.exe but nvaccess made some additional changes to improve the code style but I cannot find a link for a build including their changes. |
You can find a link to the latest build by clicking "Show all Checks" on the bottom of the pull request: https://ci.appveyor.com/project/NVAccess/nvda/builds/43504071/artifacts |
Closes #13643 Summary of the issue: In a Java swing application NVDA was not announcing function keys in the shortcut keys. I also suspect it was not announcing other special keys like backspace, delete, cursor keys, etc. Description of how this pull request fixes the issue: java access bridge defines modifier bits for function keys and control code keys and then uses specific values in the character field. This pull request checks for these bits and handles the shortcut key accordingly.
Retested with version 2022.2rc1 by running nvda_2022.2rc1.exe: |
When selecting a JMenuItem which has an F-Key in its keystroke (accelerator key), NVDA does not announce the F-key although the information is transmitted via the Java Access Bridge. Other screen readers announce the F-key in a JMenuItem's keystroke. This issue affects also JCheckBoxMenuItem and JRadioButtonMenuItem as sub classes of JMenuItem.
If a keystroke is assigned to a JMenuItem, the user can fire the assigned action directly by hitting the keystroke. To use this quick access, the user needs to know the keystroke.
I wrote a simple application Test_JMenuItem_KeyStrokes.jar with a menu containing five JCheckBoxMenuItems with different keystrokes and attached it to this bug report.
Steps to reproduce:
Test_JMenuItem_KeyStrokes.zip
-> A Java window with title "A Frame with Menu" opens.
-> The checkbox with label "A checkbox" has the keyboard focus.
-> The menu "Menu with Keystrokes" opens and NVDA announces it and its keystroke Alt+M.
Note: You can also open this menu with its keystroke Alt+M.
-> The first menu item is selected and NVDA anounces it.
Actual behavior:
NVDA announces the menu items with its keystrokes as follows (leaving out the announced state information in detail):
Note, that the F-key (F4) is missing in the third, fourth and fifth menu item.
Expected behavior:
For the third, fourth and fifth menu item, NVDA should announce the following:
System configuration
NVDA installed/portable/running from source:
installed
NVDA version:
Version: 2021.3.5
Windows version:
Version: 10.0.19042 Build 19042
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.
The text was updated successfully, but these errors were encountered: