| Index: ui/views/controls/button/image_button.cc
|
| diff --git a/ui/views/controls/button/image_button.cc b/ui/views/controls/button/image_button.cc
|
| index a9fda37f5b49ed642fbf086df347f75870b83ff8..bc5c6a38f7ec089a5ce0cc9fec7cddfcb71395ff 100644
|
| --- a/ui/views/controls/button/image_button.cc
|
| +++ b/ui/views/controls/button/image_button.cc
|
| @@ -215,7 +215,7 @@ void ToggleImageButton::SetToggled(bool toggled) {
|
| toggled_ = toggled;
|
| SchedulePaint();
|
|
|
| - NotifyAccessibilityEvent(ui::AX_EVENT_VALUE_CHANGED, true);
|
| + NotifyAccessibilityEvent(ui::AX_EVENT_ARIA_ATTRIBUTE_CHANGED, true);
|
| }
|
|
|
| void ToggleImageButton::SetToggledImage(ButtonState image_state,
|
| @@ -270,6 +270,13 @@ bool ToggleImageButton::GetTooltipText(const gfx::Point& p,
|
| void ToggleImageButton::GetAccessibleState(ui::AXViewState* state) {
|
| ImageButton::GetAccessibleState(state);
|
| GetTooltipText(gfx::Point(), &state->name);
|
| +
|
| + // Some subclasses only ever have one state. To get ChromeVox to read
|
| + // appropriately, only change the role when this control is toggled on.
|
| + if (toggled_) {
|
| + state->role = ui::AX_ROLE_TOGGLE_BUTTON;
|
| + state->AddStateFlag(ui::AX_STATE_PRESSED);
|
| + }
|
| }
|
|
|
| } // namespace views
|
|
|