From 16f4e4dc4c85f8094cba1e420f4368ce0ead67ae Mon Sep 17 00:00:00 2001 From: Luke Yelavich Date: Sun, 29 Mar 2020 12:42:44 +1100 Subject: [PATCH] checkbox: Improve accessibility of check boxes for Orca users Set the label actor, so Orca presents the label text when the check box has focus. Also change the role to ATK_ROLE_CHECKBOX. Fixes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2517 --- js/ui/checkBox.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/js/ui/checkBox.js b/js/ui/checkBox.js index 5b3c842a4..d64bd0d6c 100644 --- a/js/ui/checkBox.js +++ b/js/ui/checkBox.js @@ -1,5 +1,5 @@ /* exported CheckBox */ -const { Clutter, GObject, Pango, St } = imports.gi; +const { Atk, Clutter, GObject, Pango, St } = imports.gi; var CheckBox = GObject.registerClass( class CheckBox extends St.Button { @@ -15,6 +15,7 @@ class CheckBox extends St.Button { toggle_mode: true, can_focus: true, }); + this.set_accessible_role(Atk.Role.CHECK_BOX); this._box = new St.Bin({ y_align: Clutter.ActorAlign.START }); container.add_actor(this._box); @@ -22,6 +23,7 @@ class CheckBox extends St.Button { this._label = new St.Label({ y_align: Clutter.ActorAlign.CENTER }); this._label.clutter_text.set_line_wrap(true); this._label.clutter_text.set_ellipsize(Pango.EllipsizeMode.NONE); + this.set_label_actor(this._label); container.add_actor(this._label); if (label)