| Index: content/browser/accessibility/browser_accessibility_win.cc
|
| diff --git a/content/browser/accessibility/browser_accessibility_win.cc b/content/browser/accessibility/browser_accessibility_win.cc
|
| index 5ccbc393f5fde58570264115342cbb620ce3c132..2cf81199f680be0ff79a8f4fd04ac20b9df806e2 100644
|
| --- a/content/browser/accessibility/browser_accessibility_win.cc
|
| +++ b/content/browser/accessibility/browser_accessibility_win.cc
|
| @@ -5214,8 +5214,19 @@ void BrowserAccessibilityWin::InitRoleAndState() {
|
|
|
| if (HasState(ui::AX_STATE_BUSY))
|
| ia_state |= STATE_SYSTEM_BUSY;
|
| - if (HasState(ui::AX_STATE_CHECKED))
|
| - ia_state |= STATE_SYSTEM_CHECKED;
|
| +
|
| + const int checked = GetIntAttribute(ui::AX_ATTR_CHECKED_STATE);
|
| + switch (checked) {
|
| + case ui::AX_CHECKED_STATE_TRUE:
|
| + ia_state |= STATE_SYSTEM_CHECKED;
|
| + break;
|
| + case ui::AX_CHECKED_STATE_MIXED:
|
| + ia_state |= STATE_SYSTEM_MIXED;
|
| + break;
|
| + default:
|
| + break;
|
| + }
|
| +
|
| if (HasState(ui::AX_STATE_COLLAPSED))
|
| ia_state |= STATE_SYSTEM_COLLAPSED;
|
| if (HasState(ui::AX_STATE_EXPANDED))
|
| @@ -5272,9 +5283,6 @@ void BrowserAccessibilityWin::InitRoleAndState() {
|
| if (HasState(ui::AX_STATE_EDITABLE))
|
| ia2_state |= IA2_STATE_EDITABLE;
|
|
|
| - if (GetBoolAttribute(ui::AX_ATTR_STATE_MIXED))
|
| - ia_state |= STATE_SYSTEM_MIXED;
|
| -
|
| if (GetBoolAttribute(ui::AX_ATTR_CAN_SET_VALUE))
|
| ia2_state |= IA2_STATE_EDITABLE;
|
|
|
|
|