Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "base/memory/ptr_util.h" | 5 #include "base/memory/ptr_util.h" |
| 6 #include "base/strings/utf_string_conversions.h" | 6 #include "base/strings/utf_string_conversions.h" |
| 7 #include "ui/accessibility/ax_node_data.h" | 7 #include "ui/accessibility/ax_node_data.h" |
| 8 #include "ui/gfx/geometry/rect_conversions.h" | 8 #include "ui/gfx/geometry/rect_conversions.h" |
| 9 #include "ui/views/accessibility/native_view_accessibility.h" | 9 #include "ui/views/accessibility/native_view_accessibility.h" |
| 10 #include "ui/views/controls/button/button.h" | 10 #include "ui/views/controls/button/button.h" |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 63 protected: | 63 protected: |
| 64 views::Widget* widget_; | 64 views::Widget* widget_; |
| 65 TestButton* button_; | 65 TestButton* button_; |
| 66 NativeViewAccessibility* button_accessibility_; | 66 NativeViewAccessibility* button_accessibility_; |
| 67 Label* label_; | 67 Label* label_; |
| 68 NativeViewAccessibility* label_accessibility_; | 68 NativeViewAccessibility* label_accessibility_; |
| 69 }; | 69 }; |
| 70 | 70 |
| 71 TEST_F(NativeViewAccessibilityTest, RoleShouldMatch) { | 71 TEST_F(NativeViewAccessibilityTest, RoleShouldMatch) { |
| 72 EXPECT_EQ(ui::AX_ROLE_BUTTON, button_accessibility_->GetData().role); | 72 EXPECT_EQ(ui::AX_ROLE_BUTTON, button_accessibility_->GetData().role); |
| 73 #if defined(OS_MACOSX) | |
| 74 // Accessibility focusable controls on Mac are always leaf nodes, so to check | |
| 75 // the role matches here, make button unfocusable. | |
| 76 button_->SetFocusBehavior(View::FocusBehavior::NEVER); | |
|
tapted
2016/11/29 03:12:49
We can add
// On Mac, the label isn't given a rol
Patti Lor
2016/11/29 23:26:18
Done.
| |
| 77 #endif | |
| 73 EXPECT_EQ(ui::AX_ROLE_STATIC_TEXT, label_accessibility_->GetData().role); | 78 EXPECT_EQ(ui::AX_ROLE_STATIC_TEXT, label_accessibility_->GetData().role); |
| 74 } | 79 } |
| 75 | 80 |
| 76 TEST_F(NativeViewAccessibilityTest, BoundsShouldMatch) { | 81 TEST_F(NativeViewAccessibilityTest, BoundsShouldMatch) { |
| 77 gfx::Rect bounds = gfx::ToEnclosingRect( | 82 gfx::Rect bounds = gfx::ToEnclosingRect( |
| 78 button_accessibility_->GetData().location); | 83 button_accessibility_->GetData().location); |
| 79 bounds.Offset(button_accessibility_->GetGlobalCoordinateOffset()); | 84 bounds.Offset(button_accessibility_->GetGlobalCoordinateOffset()); |
| 80 EXPECT_EQ(button_->GetBoundsInScreen(), bounds); | 85 EXPECT_EQ(button_->GetBoundsInScreen(), bounds); |
| 81 } | 86 } |
| 82 | 87 |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 138 // WidgetObserver. Note that TestNativeViewAccessibility is a subclass | 143 // WidgetObserver. Note that TestNativeViewAccessibility is a subclass |
| 139 // defined above that destroys itself when its parent widget is destroyed. | 144 // defined above that destroys itself when its parent widget is destroyed. |
| 140 TestNativeViewAccessibility* child_accessible = | 145 TestNativeViewAccessibility* child_accessible = |
| 141 new TestNativeViewAccessibility(child_widget->GetRootView()); | 146 new TestNativeViewAccessibility(child_widget->GetRootView()); |
| 142 child_accessible->SetParentWidget(parent_widget.get()); | 147 child_accessible->SetParentWidget(parent_widget.get()); |
| 143 parent_widget.reset(); | 148 parent_widget.reset(); |
| 144 } | 149 } |
| 145 | 150 |
| 146 } // namespace test | 151 } // namespace test |
| 147 } // namespace views | 152 } // namespace views |
| OLD | NEW |