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

Unified Diff: ui/views/controls/button/image_button.cc

Issue 2162083004: Make ToggleImageButton into an accessible toggle button. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add test. Created 4 years, 5 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: 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

Powered by Google App Engine
This is Rietveld 408576698