Namely, it adds accessible name to the property value editors and to a few labels in the a11y panel.
<property name="margin-bottom">10</property>
<property name="spacing">40</property>
<child>
- <object class="GtkLabel">
+ <object class="GtkLabel" id="role_label">
<property name="label" translatable="yes">Role</property>
<property name="halign">start</property>
<property name="valign">baseline</property>
<property name="selectable">1</property>
<property name="halign">end</property>
<property name="valign">baseline</property>
+ <accessibility>
+ <relation name="labelled-by">role_label</relation>
+ </accessibility>
</object>
</child>
</object>
<property name="margin-bottom">10</property>
<property name="spacing">40</property>
<child>
- <object class="GtkLabel">
+ <object class="GtkLabel" id="path_label">
<property name="label" translatable="yes">Object path</property>
<property name="halign">start</property>
<property name="valign">baseline</property>
<property name="selectable">1</property>
<property name="halign">end</property>
<property name="valign">baseline</property>
+ <accessibility>
+ <relation name="labelled-by">path_label</relation>
+ </accessibility>
</object>
</child>
</object>
notify_property (object, spec);
+ if (GTK_IS_LABEL (prop_edit))
+ {
+ gtk_widget_set_can_focus (prop_edit, TRUE);
+ gtk_accessible_update_property (GTK_ACCESSIBLE (prop_edit),
+ GTK_ACCESSIBLE_PROPERTY_LABEL,
+ g_strdup_printf ("%s: %s",
+ self->name,
+ gtk_label_get_text (GTK_LABEL (prop_edit))),
+ NULL);
+ }
+ else
+ {
+ gtk_accessible_update_property (GTK_ACCESSIBLE (prop_edit),
+ GTK_ACCESSIBLE_PROPERTY_LABEL, self->name,
+ NULL);
+ }
+
return prop_edit;
}
#include <glib/gi18n-lib.h>
#include "strv-editor.h"
+#include "gtkaccessible.h"
#include "gtkbutton.h"
#include "gtkentry.h"
#include "gtkbox.h"
entry = gtk_entry_new ();
gtk_editable_set_text (GTK_EDITABLE (entry), str);
+ gtk_accessible_update_property (GTK_ACCESSIBLE (entry),
+ GTK_ACCESSIBLE_PROPERTY_LABEL, _("Value"),
+ NULL);
gtk_widget_show (entry);
gtk_box_append (GTK_BOX (box), entry);
g_object_set_data (G_OBJECT (box), "entry", entry);
button = gtk_button_new_from_icon_name ("user-trash-symbolic");
gtk_widget_add_css_class (button, "image-button");
+ gtk_accessible_update_property (GTK_ACCESSIBLE (button),
+ GTK_ACCESSIBLE_PROPERTY_LABEL,
+ g_strdup_printf (_("Remove %s"), str),
+ NULL);
gtk_widget_show (button);
gtk_box_append (GTK_BOX (box), button);
g_signal_connect (button, "clicked", G_CALLBACK (remove_string), editor);
gtk_widget_add_css_class (editor->button, "image-button");
gtk_widget_set_focus_on_click (editor->button, FALSE);
gtk_widget_set_halign (editor->button, GTK_ALIGN_END);
+ gtk_accessible_update_property (GTK_ACCESSIBLE (editor->button),
+ GTK_ACCESSIBLE_PROPERTY_LABEL, _("Add"),
+ NULL);
gtk_widget_show (editor->button);
g_signal_connect (editor->button, "clicked", G_CALLBACK (add_cb), editor);