| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "content/browser/accessibility/browser_accessibility_android.h" | 5 #include "content/browser/accessibility/browser_accessibility_android.h" |
| 6 | 6 |
| 7 #include "base/i18n/break_iterator.h" | 7 #include "base/i18n/break_iterator.h" |
| 8 #include "base/strings/string_util.h" | 8 #include "base/strings/string_util.h" |
| 9 #include "base/strings/stringprintf.h" | 9 #include "base/strings/stringprintf.h" |
| 10 #include "base/strings/utf_string_conversions.h" | 10 #include "base/strings/utf_string_conversions.h" |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 74 } | 74 } |
| 75 | 75 |
| 76 // If it has a focusable child, we definitely can't leave out children. | 76 // If it has a focusable child, we definitely can't leave out children. |
| 77 if (HasFocusableChild()) | 77 if (HasFocusableChild()) |
| 78 return false; | 78 return false; |
| 79 | 79 |
| 80 // Date and time controls should drop their children. | 80 // Date and time controls should drop their children. |
| 81 if (GetRole() == ui::AX_ROLE_DATE || GetRole() == ui::AX_ROLE_INPUT_TIME) | 81 if (GetRole() == ui::AX_ROLE_DATE || GetRole() == ui::AX_ROLE_INPUT_TIME) |
| 82 return true; | 82 return true; |
| 83 | 83 |
| 84 // Headings with text can drop their children. | 84 BrowserAccessibilityManagerAndroid* manager_android = |
| 85 base::string16 name = GetText(); | 85 static_cast<BrowserAccessibilityManagerAndroid*>(manager()); |
| 86 if (GetRole() == ui::AX_ROLE_HEADING && !name.empty()) | 86 if (manager_android->prune_tree_for_screen_reader()) { |
| 87 return true; | 87 // Headings with text can drop their children. |
| 88 base::string16 name = GetText(); |
| 89 if (GetRole() == ui::AX_ROLE_HEADING && !name.empty()) |
| 90 return true; |
| 88 | 91 |
| 89 // Focusable nodes with text can drop their children. | 92 // Focusable nodes with text can drop their children. |
| 90 if (HasState(ui::AX_STATE_FOCUSABLE) && !name.empty()) | 93 if (HasState(ui::AX_STATE_FOCUSABLE) && !name.empty()) |
| 91 return true; | 94 return true; |
| 92 | 95 |
| 93 // Nodes with only static text as children can drop their children. | 96 // Nodes with only static text as children can drop their children. |
| 94 if (HasOnlyStaticTextChildren()) | 97 if (HasOnlyStaticTextChildren()) |
| 95 return true; | 98 return true; |
| 99 } |
| 96 | 100 |
| 97 return BrowserAccessibility::PlatformIsLeaf(); | 101 return BrowserAccessibility::PlatformIsLeaf(); |
| 98 } | 102 } |
| 99 | 103 |
| 100 bool BrowserAccessibilityAndroid::CanScrollForward() const { | 104 bool BrowserAccessibilityAndroid::CanScrollForward() const { |
| 101 if (!IsSlider()) | 105 if (!IsSlider()) |
| 102 return false; | 106 return false; |
| 103 | 107 |
| 104 float value = GetFloatAttribute(ui::AX_ATTR_VALUE_FOR_RANGE); | 108 float value = GetFloatAttribute(ui::AX_ATTR_VALUE_FOR_RANGE); |
| 105 float max = GetFloatAttribute(ui::AX_ATTR_MAX_VALUE_FOR_RANGE); | 109 float max = GetFloatAttribute(ui::AX_ATTR_MAX_VALUE_FOR_RANGE); |
| (...skipping 770 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 876 int BrowserAccessibilityAndroid::CountChildrenWithRole(ui::AXRole role) const { | 880 int BrowserAccessibilityAndroid::CountChildrenWithRole(ui::AXRole role) const { |
| 877 int count = 0; | 881 int count = 0; |
| 878 for (uint32 i = 0; i < PlatformChildCount(); i++) { | 882 for (uint32 i = 0; i < PlatformChildCount(); i++) { |
| 879 if (PlatformGetChild(i)->GetRole() == role) | 883 if (PlatformGetChild(i)->GetRole() == role) |
| 880 count++; | 884 count++; |
| 881 } | 885 } |
| 882 return count; | 886 return count; |
| 883 } | 887 } |
| 884 | 888 |
| 885 } // namespace content | 889 } // namespace content |
| OLD | NEW |