label: Don't set a11y label when role is presentation

This resolves issue with labels of model buttons being set to
presentation a11y role but still have a11y label.

See: b7e5a79468/gtk/gtkmodelbutton.c (L1539)
This commit is contained in:
Khalid Abu Shawarib
2024-09-27 19:15:41 +03:00
parent ee38c96ee3
commit fb6f211869

View File

@@ -3204,6 +3204,8 @@ static void
gtk_label_set_text_internal (GtkLabel *self,
char *str)
{
GtkAccessibleRole role;
if (g_strcmp0 (self->text, str) == 0)
{
g_free (str);
@@ -3213,10 +3215,15 @@ gtk_label_set_text_internal (GtkLabel *self,
g_free (self->text);
self->text = str;
gtk_accessible_update_property (GTK_ACCESSIBLE (self),
GTK_ACCESSIBLE_PROPERTY_LABEL,
self->text,
-1);
role = gtk_accessible_get_accessible_role (GTK_ACCESSIBLE (self));
if (gtk_accessible_role_get_naming (role) != GTK_ACCESSIBLE_NAME_PROHIBITED)
{
gtk_accessible_update_property (GTK_ACCESSIBLE (self),
GTK_ACCESSIBLE_PROPERTY_LABEL,
self->text,
-1);
}
gtk_label_select_region_index (self, 0, 0);
}