[gnome-shell] checkbox: Improve accessibility of check boxes for Orca users



commit 16f4e4dc4c85f8094cba1e420f4368ce0ead67ae
Author: Luke Yelavich <themuso themuso com>
Date:   Sun Mar 29 12:42:44 2020 +1100

    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 5b3c842a4d..d64bd0d6c2 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)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]