Skip to content

NVDA does not announce F-keys as Keystrokes of JMenuItems (Java Access Bridge) #13643

@ghost

Description

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:

  1. Extract the Test_JMenuItem_KeyStrokes.jar file from the linked .zip file:
    Test_JMenuItem_KeyStrokes.zip
  2. Execute the Test_JMenuItem_KeyStrokes.jar file which opens a simple frame with a checkbox and a single menu in the menu bar. (If you prefer a .java file, you can find it within the .jar file.)
    -> A Java window with title "A Frame with Menu" opens.
    -> The checkbox with label "A checkbox" has the keyboard focus.
  3. Press F10 to open the single menu.
    -> 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.
  4. Navigate with arrow down/up keys within the menu.

Actual behavior:

NVDA announces the menu items with its keystrokes as follows (leaving out the announced state information in detail):

  • "First Menu Item", its state, "Ctrl a"
  • "Second Menu Item", its state, "Ctrl Shift a"
  • "Third Menu Item". its state
  • "Fourth Menu Item", its state, "Ctrl"
  • "Fifth Menu Item", its state, "Ctrl Shift"

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:

  • "Third Menu Item", its state, "F4"
  • "Fourth Menu Item", its state, "Ctrl F4"
  • "Fifth Menu Item", its state, "Ctrl Shift F4"

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    component/java-access-bridgep4https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#prioritytriagedHas been triaged, issue is waiting for implementation.

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions