JDK-8061379 : [OS X Accessibility] JComboBox works very strange with Voice Over
  • Type: Bug
  • Component: client-libs
  • Sub-Component: javax.accessibility
  • Affected Version: 7u4,8,9
  • Priority: P3
  • Status: Closed
  • Resolution: External
  • Submitted: 2014-10-17
  • Updated: 2021-01-20
  • Resolved: 2016-11-01
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 9
9Resolved
Related Reports
Duplicate :  
Relates :  
Description
1) There is no way to show &  spell all items of combobox (non editable & editable) if a popup has scroll and is not fully shown. Voice Over can read only items from first to last visible (first getMaximumRowCount() items of combobox)

2)Voice over black rectangle and swing component selected item are not synchronized - one item is spelled and another is  selected. Ctrl-Opt-arrow moves only Voice Over selection and does not move  component selection. 
If I use arrow keys without Ctrl-Opt component selection is changed, but Voice Over rectangle stay on old place and first item of popup list is spelled even if it is not in black rect. It looks VERY STRANGE. 

3)Ctrl-Opt-Space is recommended by Voice Over as a shortcut to show a popup list but it does not work. For editable Arrow-down works and for non-editable - space. Ctrl-Opt-Spacesometimes moves focus to next component, sometimes - do nothing. 

I tested jdk 8u40b08 on Mac OS X 10.9 iMac
Comments
might be re-open once we have response from Apple
01-11-2016

Apple closed bug 25342522 at https://bugreport.apple.com because some of that has been fixed in MacOS version Sierra. I opened the following bugs with Apple. The first two are without using VoiceOver. These bugs are with MacOS native combo boxes. 28473887: space bar does nothing when list is open 28474130: enter closes dialog box when list is open 28474292: when list is open shift control option uparrow doesn't move VO cursor to combo box.
26-09-2016

Attaching two test cases: Test3: combobox, non-edit Test4: combobox, edit
23-09-2016

This is the behavior of native combobox controls on Sierra. Go to System Preferences, Language & Region, Advanced, General. There are four combo boxes. When not using VoiceOver: - With list open (downarrow opens list) - pressing space does nothing (On El Capitan it entered a space into the text area) - pressing enter changes the combo box value but also closes the dialog (default OK activated). When using VoiceOver: - After pressing control option space to activate the list there is no black box in the list. - When pressing control option shift uparrow to stop interacting with the combo box focus moves back to the combo box but the VO cursor rectangle remains where it was in the list. This is apple bug 25342522 at https://bugreport.apple.com
23-09-2016

Current observations with El Capitan Native Mac popup button (non-edit JComboBox maps to this): "popup button, you are currently on a popup button, to display a list of options press control option space" Non-editable JComboBox behavior: "combo box, you are currently on a combo box, type text or to display a list of choices press control option space" Note this is non-editable so the prompt to display text is wrong. Control option space doesn't open the list but downarrow does. Up/down works, control up/down works only after pressing shift control option downarrow first. Native Mac (editable) combo box, second combo box on the Language & Region, Advanced dialog: "Period. Number Decimal Separator. Combo box. You are currently on a combo box. Type text or to display a list of choices press control option space." After pressing control option space: "Interact with List. One item selected. Period. Text. One of two. List. One item selected. Period. Text. One of two." Once the list is open control option up/down does not move the selection. Using just up/down you hear: "Period (or comma). Text. One (or two) of two. You are currently on a list. To begin interacting with the items in this list press control option shift downarrow." After pressing control option shift downarrow you can now use control option up/downarrow. You can see Apple has there own issues with (editable) combo boxes. Editable JComboBox behavior: "Frame, window, combobox, one, contents selected, edit text, you are currently on a text field, to enter text in this field type" Downarrow opens the list but focus stays in the text field. Pressing Esc and then downarrow a second time opens the list and focus is now on the list. up/down works OK and ctrl up/down works after pressing shift control option downarrow
23-09-2016

Tested with local clone on 8/21: Regarding the three items in the description: 1) Fixed. All items are spoken when using up/down arrow. 2) I think this is currently working correctly. First be sure that the two checkboxes in the VoiceOver Utility settings are selected: 1) Keyboard follows VO cursor and VO cursor follows keyboard focus. Due to #3 use space (not control+option+space) to open the list. Then use control+option+shift+downarrow to interact with the list. Now use control+option+up/down to select a new list item; the app will track the VO cursor. Then press enter to commit and the combo box value is updated. 3) Still a problem: control option space doesn't open combo box
22-08-2016

Retest this after JDK-8145207 is fixed.
01-06-2016

With El Capitan and b110: Regarding the three items in the description: 1) Still a problem: after using downarrow to open the list, can move item by item to last visible list item but can't go further; should be able to go further; pressing control option downarrow at end should cause list to scroll to the next (previously not visible) item 2) Still a problem: using arrow keys (without control option) current list item should be spoken; using control option arrow keys the item at the VO cursor should be spoken. This is with keyboard focus and VO focus on the same combo box. What actually happens is: using down arrow (without control option) nothing is spoken; using up arrow (without control option) top item is spoken; using control option arrow keys the item at the VO cursor is correctly spoken. Note: When VO is configured so keyboard focus doesn't follow VO focus, moving VO cursor would not cause the combo selection to stay in sync. 3) Still a problem: control option space doesn't open combo box
24-03-2016

Reported to <http://bugreport.apple.com>: bug # 25342522 Summary: Go to System Preferences, Language & Region, Advanced, General. There are four combo boxes. When not using VoiceOver: - downarrow opens list, selection using space or enter doesn���t change value in combo - With list open - pressing space enters a space into the text area. - pressing enter changes the combo box value but also closes the dialog (default OK activated). When using VoiceOver: - After pressing control option space to activate the list there is no black box in the list. - if after changing selection with control option arrow and using control option space to select an item the combo box value is not updated - and the VO cursor doesn't return to the combo box, instead it moves to the control with focus. - Sometimes after pressing control option space to select an item from the list the black box is gone and not on the combo box. - Sometimes when pressing control option shift uparrow to stop interacting with the combo box nothing happens. The last two might have something to do with the object being controlled by VO being different than the object with keyboard focus but I couldn't consistently cause the problem taking that into consideration. Version: 10.11.4 Configuration: VO navigation set up as follows - VO cursor follows keyboard focus - but not the other way around - and the mouse pointer ignores VO cursor
24-03-2016

A kind of similar behaviour noticed on macosx 10.9.5, jdk7u80b08: VoiceOver's black rectangle doesn't follow focused jcombobox focused element.
04-03-2015

Attached jar is OK. But it requires K: network disk mapped to stt-13.ru.oracle.com/export/home0
10-11-2014

The behavior is the same with 8 GA.
04-11-2014

Test using SwingSet2 with 9 EA b37: As a list is being navigated with up / down arrow VO should be reading the list items as each new one gets focus, but nothing is heard. They are heard OK with native combo boxes such as those found in System Preferences. If I set up VO (via System Preferences | Accessibility | VoiceOver | Open VoiceOver Utility | Navigation) as follows I can get Accessibility Inspector to report the current item in a native control: - focus follows VO cursor - VO cursor follows focus - mouse pointer follows VO cursor Note that other combinations of those three options don���t do anything useful (but they work OK when using control + option + up/down arrow). With a native combo list arrowing through the list with VO on and configured as above the mouse tracks as up/down is pressed and Accessibility Inspector shows what���s under the mouse. The same thing happens when using control + option + up/down arrow. However, this doesn���t happen for SwingSet2 combo boxes. In this case the highlight moves and moves to all the list items, even those not visible initially, but the VO box and mouse pointer do not move. This might mean that focus change events are missing. Comparing behaviors using control + option + arrow: Of the three tracking options only the mouse following VO cursor matters. When moving up or down the highlight moves, the mouse tracks, and the Accessibility Inspector values change. Also it���s possible to move to all the items in the list even the ones that are not visible at first. Doing the same with a Swing combo box the behavior is mostly the same but you can���t navigate to list items that are not visible when the list first opens. A good starting piont would be to see if focus change events should be fired and if so are they being fired. The following may (or may not) be useful: Attributes of a native combo as seen via Accessibility Inspector System Preferences | General | Appearance Attributes AXRole AXPopupButton AXChildren 0 Actions AXShowMenu AXPress After opening, focus on first item Hierarchy AXPopupButton AXMenu AXMenuItem Attributes AXRole AXMenuItem Actions AXCancel AXPress Note: If there is a sub menu the hierarchy is: AXPopupButton AXMenu AXMenuItem AXMenu AXMenuItem Behavior of a Swing combo Attributes AXRole AXButton // should be AXPopupButton AXChildren // not implemented; don���t know if it���s needed Actions AXPress // missing AXShowMenu After opening, focus on first item Hierarchy AXPopupButton AXScrollArea // Is this and below OK; native combo is AXMenu, AXMenuItem AXList AXStaticText Attributes AXRole AXStaticText Actions // none
04-11-2014

ptb-mbp-2:~ petebrunet$ java -jar ~/Downloads/TestCmdBuilder.jar Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at testcmdbuilder.WorkspaceManager.<init>(WorkspaceManager.java:72) ptb-mbp-2:~ petebrunet$ java -version java version "1.8.0_40-ea" Java(TM) SE Runtime Environment (build 1.8.0_40-ea-b09) Java HotSpot(TM) 64-Bit Server VM (build 25.40-b13, mixed mode) Is the attached jar OK?
28-10-2014

does it reproducible on 8 GA ? 9?
18-10-2014

You can use attached jar. it is a GUI app with comboboxes.
17-10-2014