leaks of accessible role values
All the calls to gtk_accessible_update_role() that I added leak the GList, since I do:
gtk_accessible_update_relation (accessible, role, g_list_append (NULL, widget), -1);
Honestly, juggling the list manually sucks. The singleton case is overwhelmingly the common case, and should not require lists at all. Suggestion:
gtk_accessible_add_relation (accessible1, role, accessible2, -1);
gtk_accessible_set_relation (accessible1, role, accessible2, -1);
The first one prepends accessible2 to relation, the second replaces the relation with just that one accessible.
With this api, all the list wrangling can e happen internally.