Bug 230470 - [Accessibility] Reader stops working after regaining focus
Summary: [Accessibility] Reader stops working after regaining focus
Status: RESOLVED DUPLICATE of bug 230940
Alias: None
Product: Platform
Classification: Eclipse Project
Component: SWT (show other bugs)
Version: 3.4   Edit
Hardware: PC Mac OS X - Carbon (unsup.)
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Carolyn MacLeod CLA
QA Contact:
URL:
Whiteboard:
Keywords: accessibility
Depends on:
Blocks:
 
Reported: 2008-05-06 15:33 EDT by Duong Nguyen CLA
Modified: 2008-05-08 12:28 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Duong Nguyen CLA 2008-05-06 15:33:40 EDT
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;
				}
Comment 1 Carolyn MacLeod CLA 2008-05-07 15:52:55 EDT
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);
Comment 2 Grant Gayed CLA 2008-05-08 12:28:51 EDT
This is fixed as a side effect of the fix for bug 230940.


*** This bug has been marked as a duplicate of bug 230940 ***