JDK-8079834 : [macosx] Mac OS X Voice Over cursor doesn't track Swing keyboard focus
  • Type: Bug
  • Component: client-libs
  • Sub-Component: javax.accessibility
  • Affected Version: 7u4,8,9,11,12,13,14,15
  • Priority: P3
  • Status: Closed
  • Resolution: Cannot Reproduce
  • OS: os_x
  • Submitted: 2015-05-08
  • Updated: 2021-06-04
  • Resolved: 2021-06-04
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 17
17Resolved
Related Reports
Blocks :  
Duplicate :  
Description
- When running SwingSet2.jar from the command line the VO cursor follows keyboard focus until the focus moves out of the toolbar and into the client area.
- When using the SwingSet2 menu system the VO cursor starts off on the first menu item but doesn't track focus when the arrow keys are used to move within a menu.
- When running the browser plugin app, http://java.com/en/download/installed8.jsp, the VO cursor starts correctly at the Run button of the "Do you want to run this application?" dialog, but doesn't follow the keyboard focus when tab is pressed.
- This seems to indicate there is something about the Swing focus system that is not being exposed to the OS X focus system.

Note this is with VO set up in what I think is its default settings: initial position at focused item, VO tracks keyboard focus, mouse pointer ignores VO cursor, automatically interact when using tab key 
Comments
First issue were fixed with various implementing fixed under JDK-8152350 umbrella. Second issue were fixed with JDK-8208747 There is no browser plugin in 17 so can not verify it but most likely it is also will be fixed with JDK-8208747 once it is backported to the release with the plugin. So none of the problems can be reproduced with the current build - closing issue as not reproducible.
04-06-2021

Approved by component triage team to defer
16-08-2016

SQE: OK to defer
16-08-2016

No time resource to do by 9 ZBB.
15-08-2016

Reproducing in OS X 10.9.5, jdk9-dev: > - When running SwingSet2.jar from the command line the VO cursor follows keyboard focus until the focus moves out of the toolbar and into the client area. I don't reproduce it. When focus moves to a client area UI controls, VO cursor follows it and makes proper sound. - When using the SwingSet2 menu system the VO cursor starts off on the first menu item but doesn't track focus when the arrow keys are used to move within a menu. Reproduced. - When running the browser plugin app, http://java.com/en/download/installed8.jsp, the VO cursor starts correctly at the Run button of the "Do you want to run this application?" dialog, but doesn't follow the keyboard focus when tab is pressed. Reproduced.
14-05-2015

Swing UI elements implements javax.accessibility.Accessible interface in order to return javax.accessibility.AccessibleContext associated with an element. When accessibility like VoiceOver is enabled, the platform communicates with the application via NSAccessibility protocol, which is implemented in src/macosx/native/sun/awt/JavaComponentAccessibility.m. The latter, in its turn, performs up calls to sun.lwawt.macosx.CAccessibility. For instance, the implementation of -(id)accessibilityFocusedUIElement calls for CAccessibility.getFocusOwner() which calls for KeyboardFocusManager.getCurrentFocusOwner() then wraps the focus owner with CAccessible and returns the result. Useful links: https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Protocols/NSAccessibility_Protocol/index.html https://developer.apple.com/library/mac/documentation/CrossPlatform/Reference/JavaNativeFoundation_Functions/index.html
14-05-2015

Anton, please evaluate this issue.
12-05-2015