moonshot-add-dialog: Add some a11y support
authorJavier Jardón <javier.jardon@codethink.co.uk>
Mon, 11 Apr 2011 17:34:15 +0000 (18:34 +0100)
committerJavier Jardón <javier.jardon@codethink.co.uk>
Mon, 11 Apr 2011 17:34:15 +0000 (18:34 +0100)
configure.ac
src/moonshot-add-dialog.vala

index fcab6bc..a3977ca 100644 (file)
@@ -19,6 +19,7 @@ AM_PROG_VALAC([0.9])
 
 # Dependencies
 PKG_CHECK_MODULES(moonshot,[
+        atk >= 1.20
         glib-2.0 >= 2.26
         gobject-2.0 >= 2.26
         gtk+-2.0 >= 2.22
index 233d1ff..f425798 100644 (file)
@@ -41,6 +41,11 @@ class AddIdentityDialog : Dialog
         password_entry.set_invisible_char ('*');
         password_entry.set_visibility (false);
         var remember_checkbutton = new CheckButton.with_label (_("Remember password"));
+
+        set_atk_relation (issuer_label, issuer_entry, Atk.RelationType.LABEL_FOR);
+        set_atk_relation (username_label, username_entry, Atk.RelationType.LABEL_FOR);
+        set_atk_relation (password_entry, password_entry, Atk.RelationType.LABEL_FOR);
+
         var table = new Table (4, 4, false);
         table.set_col_spacings (10);
         table.set_row_spacings (10);
@@ -62,4 +67,12 @@ class AddIdentityDialog : Dialog
         this.set_resizable (false);
         this.show_all ();
     }
+
+    private void set_atk_relation (Widget widget, Widget target_widget, Atk.RelationType relationship)
+    {
+        var atk_widget = widget.get_accessible ();
+        var atk_target_widget = target_widget.get_accessible ();
+
+        atk_widget.add_relationship (relationship, atk_target_widget);
+    }
 }