Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1112)

Unified Diff: ui/views/cocoa/bridged_content_view.mm

Issue 2119413004: a11y: Exclude children of nested keyboard accessible controls from a11y tree. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix compile error and final test in NativeWidgetMacTest. Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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];
}

Powered by Google App Engine
This is Rietveld 408576698