From d257e69a791b97a0646eb7c5a798dc3fe3db456f Mon Sep 17 00:00:00 2001 From: Frederik Gladhorn Date: Wed, 3 Apr 2013 21:33:16 +0200 Subject: Accessibility Mac: Implement accessibilityFocusedUIElement MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I17b5b1f741a8b340d8f4b16f4ec39cc9a8159bfa Reviewed-by: Morten Johan Sørvig Reviewed-by: Jan Arve Sæther --- src/plugins/platforms/cocoa/qnsviewaccessibility.mm | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'src/plugins') diff --git a/src/plugins/platforms/cocoa/qnsviewaccessibility.mm b/src/plugins/platforms/cocoa/qnsviewaccessibility.mm index c43c0b5068..6ebb1f6ba8 100644 --- a/src/plugins/platforms/cocoa/qnsviewaccessibility.mm +++ b/src/plugins/platforms/cocoa/qnsviewaccessibility.mm @@ -106,9 +106,27 @@ // Hit a child, forward to child accessible interface. QAccessible::Id childAxid = QAccessible::uniqueId(childInterface); + // FIXME: parent could be wrong QCocoaAccessibleElement *accessibleElement = [QCocoaAccessibleElement createElementWithId:childAxid parent:self ]; [accessibleElement autorelease]; return [accessibleElement accessibilityHitTest:point]; } +- (id)accessibilityFocusedUIElement { + if (!m_window->accessibleRoot()) + return [super accessibilityFocusedUIElement]; + + QAccessibleInterface *childInterface = m_window->accessibleRoot()->focusChild(); + if (childInterface) { + QAccessible::Id childAxid = QAccessible::uniqueId(childInterface); + // FIXME: parent could be wrong + QCocoaAccessibleElement *accessibleElement = [QCocoaAccessibleElement createElementWithId:childAxid parent:self]; + [accessibleElement autorelease]; + return accessibleElement; + } + + // should not happen + return nil; +} + @end -- cgit v1.2.3