mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-12-26 21:51:08 +00:00
2040b7ecdf
Use the label accessible role for GtkLabel. ARIA has some ominous wording about it going way, but while we have it, GtkLabel is the obvious candidate for carrying it. Update the documentation and add a test.
57 lines
1.4 KiB
C
57 lines
1.4 KiB
C
#include <gtk/gtk.h>
|
|
|
|
static void
|
|
label_role (void)
|
|
{
|
|
GtkWidget *label = gtk_label_new ("a");
|
|
|
|
g_object_ref_sink (label);
|
|
|
|
gtk_test_accessible_assert_role (GTK_ACCESSIBLE (label), GTK_ACCESSIBLE_ROLE_LABEL);
|
|
|
|
g_object_unref (label);
|
|
}
|
|
|
|
static void
|
|
label_relations (void)
|
|
{
|
|
GtkWidget *label = gtk_label_new ("a");
|
|
GtkWidget *label2 = gtk_label_new ("b");
|
|
GtkWidget *entry = gtk_entry_new ();
|
|
GList *list;
|
|
|
|
g_object_ref_sink (label);
|
|
g_object_ref_sink (label2);
|
|
g_object_ref_sink (entry);
|
|
|
|
gtk_test_accessible_assert_relation (GTK_ACCESSIBLE (entry), GTK_ACCESSIBLE_RELATION_LABELLED_BY, NULL);
|
|
|
|
gtk_widget_add_mnemonic_label (entry, label);
|
|
|
|
list = g_list_append (NULL, label);
|
|
gtk_test_accessible_assert_relation (GTK_ACCESSIBLE (entry), GTK_ACCESSIBLE_RELATION_LABELLED_BY, list);
|
|
g_list_free (list);
|
|
|
|
gtk_widget_add_mnemonic_label (entry, label2);
|
|
|
|
list = g_list_append (NULL, label);
|
|
list = g_list_append (list, label2);
|
|
gtk_test_accessible_assert_relation (GTK_ACCESSIBLE (entry), GTK_ACCESSIBLE_RELATION_LABELLED_BY, list);
|
|
g_list_free (list);
|
|
|
|
g_object_unref (entry);
|
|
g_object_unref (label);
|
|
g_object_unref (label2);
|
|
}
|
|
|
|
int
|
|
main (int argc, char *argv[])
|
|
{
|
|
gtk_test_init (&argc, &argv, NULL);
|
|
|
|
g_test_add_func ("/a11y/label/role", label_role);
|
|
g_test_add_func ("/a11y/label/relations", label_relations);
|
|
|
|
return g_test_run ();
|
|
}
|