Community
Participate
Working Groups
Leopard: When a shell with an embedded browser lose focus and regain focus, VoiceOver reader stops working. STEPS: - Run the ControlExample - give focus to the button in the Button tab - click any where in the desktop to lose focus - click on the ControlExample, VoiceOver reader will stop working - to restore the VoiceOver, minimize the example and restore it. The problem is in the shell listener that's added in the Safari class. case SWT.Activate: { Cocoa.objc_msgSend(Cocoa.objc_msgSend(Cocoa.HIWebViewGetWebView(webViewHandle), Cocoa.S_window), Cocoa.S_makeKeyWindow); break; }
Not sure if it's useful, but to restore VoiceOver "focus" to something, you can try the following code: String string = OS.kAXFocusedUIElementChangedNotification; char [] buffer = new char [string.length ()]; string.getChars (0, buffer.length, buffer, 0); int stringRef = OS.CFStringCreateWithCharacters (OS.kCFAllocatorDefault, buffer, buffer.length); OS.AXNotificationHIObjectNotify(stringRef, something.handle, 0); OS.CFRelease(stringRef);
This is fixed as a side effect of the fix for bug 230940. *** This bug has been marked as a duplicate of bug 230940 ***