Skip to content

Java SwingSet2 application with NVDA #9728

@DavidApps2

Description

@DavidApps2

I have encountered some issues with the SwingSet2 application, which is a Java Swing application that Oracle suggest is suitable for testing whether the Java Access Bridge is working correctly.

I have listed several issues. Some items might be due to my ignorance. Some items might be due to my high expectations. Some items might be due to inevitable behavior when using the Java Access Bridge or Java Swing applications. Some items might be due to the way the Java Swing application is written. Some items might be NVDA bugs or feature requests. I asked for help with this on the NVDA mailing list, but I did not receive a reply. I am sorry if my report is unconventional.

Steps to reproduce:

These instructions apply to 64-bit Microsoft Windows.

  1. Install the Java Runtime Environment available from the page at the following address:
    https://www.java.com/en/download/manual.jsp
  2. Enable the Java Access Bridge, using the instructions on the page at the following address:
    https://docs.oracle.com/javase/8/docs/technotes/guides/access/enable_and_test.html
    The 32-bit Java Access Bridge DLL (WindowsAccessBridge-32.dll) should be in the sysWOW64 folder (usually C:\Windows\sysWOW64). The 64-bit Java Access Bridge DLL (WindowsAccessBridge-64.dll) should be in the system32 folder (usually C:\Windows\system32).
  3. Download jdk-8u211-windows-x64-demos.zip from the page at the following address:
    https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
  4. Extract the files from the .zip archive.
  5. Start demo\jfc\SwingSet2\SwingSet2.jar with a command of the form java -jar SwingSet2.jar.
  6. Press the Tab key to navigate to the "JButton, JRadioButton, JToggleButton, JCheckbox demos" toggle button. NVDA says "toggle button 0 not pressed JButton, JRadioButton, JToggleButton, JCheckbox demos 2 of 16". Why does NVDA say "0"? Doing so does not seem useful here.
  7. Press the Space key to activate the toggle button. NVDA says "1 checked". Why does NVDA say "1"? Doing so does not seem useful here. Saying "pressed" might be more helpful than "1 checked". (This is likely to be related to item 6.)
  8. NVDA now reads the toggle button as "toggle button 1 not pressed checked JButton, JRadioButton, JToggleButton, JCheckbox demos 2 of 16". Why does NVDA say "1 not pressed" when "pressed" would probably be more helpful? (This might be related to items 6 and 7.)
  9. Press the Tab key until you reach the "Three!" button. Press NVDA+Up Arrow quickly to get NVDA to spell the label of the button. NVDA spells three spaces before the button label. Is this what you would expect?
  10. In the "Image Buttons" group, should NVDA read the image buttons as "button"? (Perhaps the images have no alternative text labels.)
  11. In the "Display Options" group of check boxes and the "Pad Amount" group of radio buttons, should NVDA read the "Display Options" or "Pad Amount" group label? I expected to hear the group label as I use Tab or Shift+Tab to enter the group, but I do not hear it. Perhaps the group label is not correctly associated with the check boxes or the radio buttons.
  12. Press the "JColorChooser demo" toggle button. NVDA stops responding. After restarting NVDA, NVDA has no access to the Java Swing application. Is there anything that the user or the developer of the application can do to re-establish access? The only method that I have found is exiting the Java Swing application and starting it again. Is there anything that NVDA can do to establish access with a Java application that is already running?
  13. Press the "JOptionPane Demo" toggle button.
  14. Press the "Show Input Dialog" button. A dialog box appears. NVDA does not read the label of the edit field. When I press NVDA+B, NVDA does not properly read the dialog box. After pressing Alt+Tab twice to switch to another application and back again, I can use NVDA+B to learn that I am being asked "What is your favorite movie?". Should NVDA read the label or is it not correctly associated with the edit field?
  15. Enter some text in the edit field and press the "OK" button. A message box appears. When it does so, NVDA reads the message, but NVDA+B does not get NVDA to read the message to me again. Should it? If I use Alt+Tab twice to switch to another application and back again, NVDA+B reads the message box to me, as expected.
  16. Press the "JTabbedPane demo" toggle button.
  17. The tab control has four tabs with the labels "Hania", "Ewan", "Laine", and "Bouncing Babies!". Should NVDA report the number of the tab and the number of tabs (for example, "tab 1 of 4")? This would be useful, because the tab panel control wraps.
  18. Select the "Bouncing Babies!" tab and press NVDA+Up Arrow twice quickly to get NVDA to spell the label of the tab. NVDA spells four spaces at the start of the label. Is this what you would expect? (This might be related to item 9.)
  19. Press the "JTable demo" button. In the "Favorite Food" column of the table, NVDA does not read the contents of the column. (Perhaps the images have no alternative text labels.) (This might be related to item 10.)

System configuration

NVDA installed/portable/running from source:

Installed

NVDA version:

2019.1.1

Windows version:

10.0.17763 Build 17763

Other questions

Does the issue still occur after restarting your PC?

Yes

Have you tried any other versions of NVDA? If so, please report their behaviors.

Same behavior with NVDA 2018.3 (with earlier versions of the Java runtime environment).
nvda-old2.log
nvda-old.log
nvda.log

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions