Index: content/browser/accessibility/browser_accessibility_android.cc |
diff --git a/content/browser/accessibility/browser_accessibility_android.cc b/content/browser/accessibility/browser_accessibility_android.cc |
index 32b9e4255fc81c92707cff9ac21af97218e21f74..85acf003c459ae8b5cf30ff25179562b24366cff 100644 |
--- a/content/browser/accessibility/browser_accessibility_android.cc |
+++ b/content/browser/accessibility/browser_accessibility_android.cc |
@@ -145,13 +145,17 @@ bool BrowserAccessibilityAndroid::IsCheckable() const { |
is_aria_pressed_defined) { |
checkable = true; |
} |
- if (HasState(ui::AX_STATE_CHECKED)) |
+ // TODO(aleventhal) does this ever happen when checkable is not true yet? |
+ if (HasIntAttribute(ui::AX_ATTR_CHECKED_STATE)) |
checkable = true; |
return checkable; |
} |
bool BrowserAccessibilityAndroid::IsChecked() const { |
- return (HasState(ui::AX_STATE_CHECKED) || HasState(ui::AX_STATE_PRESSED)); |
+ const auto checked_state = static_cast<ui::AXCheckedState>( |
+ GetIntAttribute(ui::AX_ATTR_CHECKED_STATE)); |
+ return (checked_state == ui::AX_CHECKED_STATE_TRUE || |
+ HasState(ui::AX_STATE_PRESSED)); |
} |
bool BrowserAccessibilityAndroid::IsClickable() const { |