| 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 ed2742c09528ea6aa61c25f217432eb19c9bf96a..045aad7b42b156a85f6ca357bebe28f41ac75fda 100644
|
| --- a/content/browser/accessibility/browser_accessibility_win.cc
|
| +++ b/content/browser/accessibility/browser_accessibility_win.cc
|
| @@ -5073,8 +5073,20 @@ 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 auto checked_state = static_cast<ui::AXCheckedState>(
|
| + GetIntAttribute(ui::AX_ATTR_CHECKED_STATE));
|
| + switch (checked_state) {
|
| + 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))
|
| @@ -5131,9 +5143,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;
|
|
|
|
|