Index: ui/views/cocoa/bridged_content_view.mm |
diff --git a/ui/views/cocoa/bridged_content_view.mm b/ui/views/cocoa/bridged_content_view.mm |
index 1623e32b8ede82ff2b578ad5500010dca09f991c..b21c51210b907b59eef30675067f0ac4b4505461 100644 |
--- a/ui/views/cocoa/bridged_content_view.mm |
+++ b/ui/views/cocoa/bridged_content_view.mm |
@@ -9,6 +9,7 @@ |
#import "base/mac/scoped_nsobject.h" |
#include "base/strings/sys_string_conversions.h" |
#include "skia/ext/skia_utils_mac.h" |
+#import "ui/accessibility/platform/ax_platform_node_mac.h" |
#include "ui/base/cocoa/cocoa_base_utils.h" |
#include "ui/base/dragdrop/drag_drop_types.h" |
#include "ui/base/dragdrop/os_exchange_data_provider_mac.h" |
@@ -1351,9 +1352,14 @@ ui::KeyEvent GetCharacterEventFromNSEvent(NSEvent* event) { |
// NSAccessibility informal protocol implementation. |
- (id)accessibilityAttributeValue:(NSString*)attribute { |
- if ([attribute isEqualToString:NSAccessibilityChildrenAttribute]) { |
- return @[ hostedView_->GetNativeViewAccessible() ]; |
- } |
+ if ([attribute isEqualToString:NSAccessibilityChildrenAttribute]) |
+ return [((AXPlatformNodeCocoa*)hostedView_->GetNativeViewAccessible()) |
+ accessibilityAttributeValue:attribute]; |
+ else if ([attribute isEqualToString:NSAccessibilityParentAttribute]) |
+ // BridgedContentView is the top level for Views in a Widget. |
+ return self; |
+ else if ([attribute isEqualToString:NSAccessibilityRoleAttribute]) |
+ return NSAccessibilityWindowRole; |
return [super accessibilityAttributeValue:attribute]; |
} |