mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-11-10 02:40:11 +00:00
a11y: Use non-empty message dialog title as a11y name
If a `GtkMessageDialog` has a non-empty title set, use that for the accessible name instead of a generic name indicating the type of the message dialog, as the window title is generally more informative, if set. It also better matches the information presented visually on screen (in the window title, task switchers,...) and is in line with the handling for non-message-dialog windows. This can easily be tested with the "Dialogs and Message Boxes" sample from gtk3-demo when setting a title for the message dialog in there like this: diff --git a/demos/gtk-demo/dialog.c b/demos/gtk-demo/dialog.c index 0eb1c62397..53fb7f8b0e 100644 --- a/demos/gtk-demo/dialog.c +++ b/demos/gtk-demo/dialog.c @@ -25,6 +25,8 @@ message_dialog_clicked (GtkButton *button, "number of times:"); gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog), "%d", i); + gtk_window_set_title (GTK_WINDOW (dialog), "Some informative title"); + gtk_dialog_run (GTK_DIALOG (dialog)); gtk_widget_destroy (dialog); i++;
This commit is contained in:
parent
13f55cd3e6
commit
939737c3e7
@ -373,7 +373,12 @@ update_accessible_name (GtkMessageDialog *dialog)
|
||||
if (!GTK_IS_ACCESSIBLE (atk_obj))
|
||||
return;
|
||||
|
||||
const char *name = NULL;
|
||||
const char *name = gtk_window_get_title (GTK_WINDOW (dialog));
|
||||
if (name && name[0])
|
||||
{
|
||||
atk_object_set_name (atk_obj, name);
|
||||
return;
|
||||
}
|
||||
|
||||
switch (dialog->priv->message_type)
|
||||
{
|
||||
@ -438,6 +443,8 @@ update_title (GObject *dialog,
|
||||
title = gtk_window_get_title (GTK_WINDOW (dialog));
|
||||
gtk_label_set_label (GTK_LABEL (label), title);
|
||||
gtk_widget_set_visible (label, title && title[0]);
|
||||
|
||||
update_accessible_name (GTK_MESSAGE_DIALOG (dialog));
|
||||
}
|
||||
|
||||
static void
|
||||
|
Loading…
Reference in New Issue
Block a user