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

Unified Diff: content/browser/accessibility/browser_accessibility_cocoa.mm

Issue 2694903010: AX checked state changes (Closed)
Patch Set: Fix android test Created 3 years, 9 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: content/browser/accessibility/browser_accessibility_cocoa.mm
diff --git a/content/browser/accessibility/browser_accessibility_cocoa.mm b/content/browser/accessibility/browser_accessibility_cocoa.mm
index cd3859970f56aff129662d3ddfcd503ad8d60a15..702bd693ee1c028146e97021121d1985fae3a586 100644
--- a/content/browser/accessibility/browser_accessibility_cocoa.mm
+++ b/content/browser/accessibility/browser_accessibility_cocoa.mm
@@ -1874,16 +1874,19 @@ NSString* const NSAccessibilityRequiredAttribute = @"AXRequired";
[role isEqualToString:NSAccessibilityRadioButtonRole] ||
[self internalRole] == ui::AX_ROLE_MENU_ITEM_CHECK_BOX ||
[self internalRole] == ui::AX_ROLE_MENU_ITEM_RADIO) {
- int value = 0;
- value = GetState(
- browserAccessibility_, ui::AX_STATE_CHECKED) ? 1 : 0;
- value = GetState(
- browserAccessibility_, ui::AX_STATE_SELECTED) ?
- 1 :
- value;
-
- if (browserAccessibility_->GetBoolAttribute(ui::AX_ATTR_STATE_MIXED)) {
- value = 2;
+ int value;
+ const int checkedState =
+ browserAccessibility_->GetIntAttribute(ui::AX_ATTR_CHECKED_STATE);
+ switch (checkedState) {
+ case ui::AX_CHECKED_STATE_TRUE:
+ value = 1;
+ break;
+ case ui::AX_CHECKED_STATE_MIXED:
+ value = 2;
+ break;
+ default:
+ value = GetState(browserAccessibility_, ui::AX_STATE_SELECTED) ? 1 : 0;
+ break;
}
return [NSNumber numberWithInt:value];
} else if ([role isEqualToString:NSAccessibilityProgressIndicatorRole] ||

Powered by Google App Engine
This is Rietveld 408576698