summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Cameron <brian.cameron@sun.com>2007-03-27 05:55:14 +0000
committerBrian Cameron <bcameron@src.gnome.org>2007-03-27 05:55:14 +0000
commita2a41282af915235a62b9f1b73bb03de2cd5b3c2 (patch)
tree6e3812c688fc8e16730e6a1c388d475bd554e939
parent5774342f5668471b909ea6b92ee401cee3cfe865 (diff)
downloadgdm-a2a41282af915235a62b9f1b73bb03de2cd5b3c2.tar.gz
Partially fix #412576 by adding ATK label for the entry field. Patch
2006-03-27 Brian Cameron <brian.cameron@sun.com> * gui/greeter/greeter_item_pam.c: Partially fix #412576 by adding ATK label for the entry field. Patch provided by David Zeuthen <david@fubar.dk>. svn path=/trunk/; revision=4721
-rw-r--r--ChangeLog6
-rw-r--r--gui/greeter/greeter_item_pam.c25
2 files changed, 31 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 4618e732..0519d7c0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
2006-03-27 Brian Cameron <brian.cameron@sun.com>
+ * gui/greeter/greeter_item_pam.c: Partially fix #412576 by adding
+ ATK label for the entry field. Patch provided by David Zeuthen
+ <david@fubar.dk>.
+
+2006-03-27 Brian Cameron <brian.cameron@sun.com>
+
* gui/gdmsetup.glade, daemon/gdm.c: Fix some messages. Partially
fixes bug #423158.
diff --git a/gui/greeter/greeter_item_pam.c b/gui/greeter/greeter_item_pam.c
index f0e7d80d..12ae10e1 100644
--- a/gui/greeter/greeter_item_pam.c
+++ b/gui/greeter/greeter_item_pam.c
@@ -260,6 +260,31 @@ greeter_item_pam_prompt (const char *message,
if (conversation_info)
{
set_text (conversation_info, message);
+
+ /*
+ * Add Accessibility text for entry field.
+ * Might be nice to set ATK_RELATION_LABEL_FOR, LABELLED_BY between
+ * the label (pam-prompt) and the entry, but gdmgreeter doesn't use real
+ * GTK widgets for text fields. For now, just set the entry field's
+ * name.
+ */
+ if (entry_info != NULL)
+ {
+ GnomeCanvasWidget *item = GNOME_CANVAS_WIDGET (entry_info->item);
+ if (item != NULL)
+ {
+ GtkWidget *widget = item->widget;
+ if (widget != NULL)
+ {
+ AtkObject *atk_widget;
+ atk_widget = gtk_widget_get_accessible (widget);
+ if (atk_widget != NULL)
+ {
+ atk_object_set_name (atk_widget, message);
+ }
+ }
+ }
+ }
}
if (entry_info && entry_info->item &&