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.
- Install the Java Runtime Environment available from the page at the following address:
https://www.java.com/en/download/manual.jsp
- 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).
- 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
- Extract the files from the .zip archive.
- Start demo\jfc\SwingSet2\SwingSet2.jar with a command of the form
java -jar SwingSet2.jar.
- 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.
- 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.)
- 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.)
- 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?
- In the "Image Buttons" group, should NVDA read the image buttons as "button"? (Perhaps the images have no alternative text labels.)
- 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.
- 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?
- Press the "JOptionPane Demo" toggle button.
- 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?
- 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.
- Press the "JTabbedPane demo" toggle button.
- 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.
- 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.)
- 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
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.
https://www.java.com/en/download/manual.jsp
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).
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
java -jar SwingSet2.jar.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