Index: ui/views/widget/native_widget_mac_accessibility_unittest.mm |
diff --git a/ui/views/widget/native_widget_mac_accessibility_unittest.mm b/ui/views/widget/native_widget_mac_accessibility_unittest.mm |
index 3d641d190f9eab41fa0d4a97d726766736902263..0b1cd3985695bfe35bc1dc243a46a1936ea830c4 100644 |
--- a/ui/views/widget/native_widget_mac_accessibility_unittest.mm |
+++ b/ui/views/widget/native_widget_mac_accessibility_unittest.mm |
@@ -14,6 +14,7 @@ |
#import "ui/accessibility/platform/ax_platform_node_mac.h" |
#include "ui/base/ime/text_input_type.h" |
#import "ui/gfx/mac/coordinate_conversion.h" |
+#include "ui/views/controls/button/label_button.h" |
#include "ui/views/controls/label.h" |
#include "ui/views/controls/textfield/textfield.h" |
#include "ui/views/test/widget_test.h" |
@@ -102,6 +103,22 @@ class NativeWidgetMacAccessibilityTest : public test::WidgetTest { |
} // namespace |
+// Check that potentially keyboard-focusable elements are always leaf nodes. |
+TEST_F(NativeWidgetMacAccessibilityTest, FocusableElementsAreLeafNodes) { |
+ // LabelButtons will have a label inside the button. The label should be |
+ // ignored because the button is potentially keyboard focusable. |
+ LabelButton* button = |
+ new LabelButton(nullptr, base::SysNSStringToUTF16(kTestStringValue)); |
+ button->SetSize(widget()->GetContentsView()->size()); |
+ widget()->GetContentsView()->AddChildView(button); |
+ EXPECT_NSEQ(NSAccessibilityButtonRole, |
+ AttributeValueAtMidpoint(NSAccessibilityRoleAttribute)); |
+ EXPECT_EQ( |
+ 0u, |
+ [[button->GetNativeViewAccessible() |
+ accessibilityAttributeValue:NSAccessibilityChildrenAttribute] count]); |
+} |
+ |
// Test for NSAccessibilityChildrenAttribute, and ensure it excludes ignored |
// children from the accessibility tree. |
TEST_F(NativeWidgetMacAccessibilityTest, ChildrenAttribute) { |