Unexpected behavior with the SwingSet2 Java Swing application using the Java Access Bridge
I hope that you are having a great day.
I am using NVDA 2018.3.2 with Microsoft Windows 10 (64-bit). 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. Please help me to know which items are due to my ignorance, which items are due to my high expectations, which items are due to inevitable behavior when using the Java Access Bridge or Java Swing applications in general, which items are due to the way the Java Swing application is written, and which items are possibly NVDA bugs or feature requests. If you do not already need to use a Java Swing application, it is probably not worth you trying these steps, unless you think that you will enjoy doing so. If you already use the Java Access Bridge, you will not need to perform the first two steps.
1. Install the 32-bit and 64-bit Java Runtime Environment packages from the page at the following address:
2. Enable the Java Access Bridge, using the instructions on the page at the following address:
3. Download jdk-8u181-windows-x64-demos.zip from the page at the following address:
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"?
7. Press the Space key to activate the toggle button. NVDA says "1 checked". Why does NVDA say "1"? (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 it as I use Tab or Shift+Tab to enter the group, but I do not hear it. Perhaps the group label has not been correctly associated with the check boxes or the radio buttons.
12. In the "Pad Amount" group of radio buttons, should the keyboard focus always be on the first radio button when I reach the group of radio buttons by pressing the Tab key and should the keyboard focus always be on the last radio button when I reach the group of radio buttons by pressing the Shift+Tab key? I expected the currently selected radio button to receive the keyboard focus, but perhaps this is what happens in Java Swing applications by default.
13. 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 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?
14. Press the "JComboBox demo" toggle button. When the focus is on a combo box, should the user be able to press Up Arrow to open or change the value of the combo box when it is closed? (Down Arrow, Alt+Down Arrow, and Alt+Up Arrow open the combo box when it is closed.) I expected to be able to alter the value of a closed combo box with the Down Arrow and Up Arrow keys, but perhaps this is not available in Java Swing applications by default.
15. Press the "JOptionPane Demo" toggle button.
16. Press the "Show Input Dialog" button. A dialog box appears. NVDA does not read the label of the edit field. After pressing Alt+Tab twice to switch to another application and back again, I can use NVDA+B to discover 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?
17. 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.
18. Press the "JTabbedPane demo" toggle button.
19. 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.
20. 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.)
21. 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.)
Notice of Confidentiality
This email is intended solely for the use of the individual or entity to whom it is addressed and may be confidential. If you are not the intended recipient, you must not disclose, reproduce, distribute or use this information. Delivery of this message to any person other than the individual or entity to whom it is addressed is not intended in any way to waive confidentiality. If you have received this email in error please notify the sender and delete the message immediately.
RNA Analytics is a limited liability company registered in England and Wales, under registered number 10521383.
The registered address is: Ground Floor, Bancroft Place, 10 Bancroft Road, Reigate, Surrey, RH2 7RP, United Kingdom