11#include <QtGui/qaccessible.h>
13#include <AppKit/NSAccessibility.h>
15@implementation QNSView (Accessibility)
17- (
void)activateQtAccessibility
23 QCocoaIntegration::instance()->accessibility()->setActive(
true);
26- (
id)childAccessibleElement
28 QCocoaWindow *platformWindow = self.platformWindow;
29 if (!platformWindow || !platformWindow->window()->accessibleRoot())
32 QAccessible::Id childId = QAccessible::uniqueId(platformWindow->window()->accessibleRoot());
33 return [QMacAccessibilityElement elementWithId:childId];
38- (BOOL)accessibilityIsIgnored
43- (
id)accessibilityAttributeValue:(NSString *)attribute
45 [self activateQtAccessibility];
47 if ([attribute isEqualToString:NSAccessibilityChildrenAttribute])
48 return NSAccessibilityUnignoredChildrenForOnlyChild([self childAccessibleElement]);
50 return [super accessibilityAttributeValue:attribute];
53- (
id)accessibilityHitTest:(NSPoint)point
55 [self activateQtAccessibility];
56 return [[self childAccessibleElement] accessibilityHitTest:point];
59- (
id)accessibilityFocusedUIElement
61 [self activateQtAccessibility];
62 return [[self childAccessibleElement] accessibilityFocusedUIElement];