| Index: chrome/browser/chromeos/arc/accessibility/ax_tree_source_arc.cc
|
| diff --git a/chrome/browser/chromeos/arc/accessibility/ax_tree_source_arc.cc b/chrome/browser/chromeos/arc/accessibility/ax_tree_source_arc.cc
|
| index a4a92086903d75b413ad9a51b4221e2e0f2ca356..9a995a29f39349c0da3910c4b2e8b8e0bd08a362 100644
|
| --- a/chrome/browser/chromeos/arc/accessibility/ax_tree_source_arc.cc
|
| +++ b/chrome/browser/chromeos/arc/accessibility/ax_tree_source_arc.cc
|
| @@ -166,7 +166,6 @@ void PopulateAXState(arc::mojom::AccessibilityNodeInfoData* node,
|
| // sources.
|
| // The FOCUSABLE state is not mapped because Android places focusability on
|
| // many ancestor nodes.
|
| - MAP_STATE(AXBooleanProperty::CHECKED, ui::AX_STATE_CHECKED);
|
| MAP_STATE(AXBooleanProperty::EDITABLE, ui::AX_STATE_EDITABLE);
|
| MAP_STATE(AXBooleanProperty::MULTI_LINE, ui::AX_STATE_MULTILINE);
|
| MAP_STATE(AXBooleanProperty::PASSWORD, ui::AX_STATE_PROTECTED);
|
| @@ -174,6 +173,13 @@ void PopulateAXState(arc::mojom::AccessibilityNodeInfoData* node,
|
|
|
| #undef MAP_STATE
|
|
|
| + if (GetBooleanProperty(node, AXBooleanProperty::CHECKABLE)) {
|
| + const bool isChecked = GetBooleanProperty(node, AXBooleanProperty::CHECKED);
|
| + const int checkedState =
|
| + isChecked ? ui::AX_CHECKED_STATE_TRUE : ui::AX_CHECKED_STATE_FALSE;
|
| + out_data->AddIntAttribute(ui::AX_ATTR_CHECKED_STATE, checkedState);
|
| + }
|
| +
|
| if (!GetBooleanProperty(node, AXBooleanProperty::ENABLED))
|
| out_data->AddStateFlag(ui::AX_STATE_DISABLED);
|
| }
|
|
|