From 85c2d5f14e33120f037bb1a51bc85c0b1df5d828 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 16 Jun 2023 15:56:39 -0400 Subject: [PATCH] Add the application role ARIA has this role. We left it out initially, but it is an ok fit for toplevel windows, and better than window, since that is meant to be abstract. --- gtk/a11y/gtkatspiutils.c | 3 +++ gtk/gtkaccessible.c | 1 + gtk/gtkatcontext.c | 1 + gtk/gtkenums.h | 6 +++++- 4 files changed, 10 insertions(+), 1 deletion(-) diff --git a/gtk/a11y/gtkatspiutils.c b/gtk/a11y/gtkatspiutils.c index 5fe5606020..2b9731607a 100644 --- a/gtk/a11y/gtkatspiutils.c +++ b/gtk/a11y/gtkatspiutils.c @@ -45,6 +45,9 @@ gtk_accessible_role_to_atspi_role (GtkAccessibleRole role) case GTK_ACCESSIBLE_ROLE_ALERT_DIALOG: return ATSPI_ROLE_ALERT; + case GTK_ACCESSIBLE_ROLE_APPLICATION: + return ATSPI_ROLE_FRAME; + case GTK_ACCESSIBLE_ROLE_BANNER: break; diff --git a/gtk/gtkaccessible.c b/gtk/gtkaccessible.c index 2294239d4c..2b3dcfe633 100644 --- a/gtk/gtkaccessible.c +++ b/gtk/gtkaccessible.c @@ -831,6 +831,7 @@ static const char *role_names[] = { [GTK_ACCESSIBLE_ROLE_WIDGET] = NC_("accessibility", "widget"), [GTK_ACCESSIBLE_ROLE_WINDOW] = NC_("accessibility", "window"), [GTK_ACCESSIBLE_ROLE_TOGGLE_BUTTON] = NC_("accessibility", "toggle button"), + [GTK_ACCESSIBLE_ROLE_APPLICATION] = NC_("accessibility", "application"), }; /*< private > diff --git a/gtk/gtkatcontext.c b/gtk/gtkatcontext.c index c862a9a81f..d0a3452e85 100644 --- a/gtk/gtkatcontext.c +++ b/gtk/gtkatcontext.c @@ -1096,6 +1096,7 @@ static guint8 naming[] = { [GTK_ACCESSIBLE_ROLE_WIDGET] = NAME_FROM_AUTHOR|NAME_FROM_CONTENT, [GTK_ACCESSIBLE_ROLE_WINDOW] = NAME_FROM_AUTHOR, [GTK_ACCESSIBLE_ROLE_TOGGLE_BUTTON] = NAME_FROM_AUTHOR|GTK_ACCESSIBLE_NAME_REQUIRED, + [GTK_ACCESSIBLE_ROLE_APPLICATION] = NAME_FROM_AUTHOR|GTK_ACCESSIBLE_NAME_REQUIRED, }; /* < private > diff --git a/gtk/gtkenums.h b/gtk/gtkenums.h index e01629ea13..9920def331 100644 --- a/gtk/gtkenums.h +++ b/gtk/gtkenums.h @@ -1340,6 +1340,9 @@ typedef enum { * @GTK_ACCESSIBLE_ROLE_TOGGLE_BUTTON: A type of push button * which stays pressed until depressed by a second activation. * Since: 4.10 + * @GTK_ACCESSIBLE_ROLE_APPLICATION: A toplevel element of a graphical user interface. + * This is the role that GTK uses by default for windows. + * Since: 4.12 * * The accessible role for a [iface@Accessible] implementation. * @@ -1425,7 +1428,8 @@ typedef enum { GTK_ACCESSIBLE_ROLE_TREE_ITEM, GTK_ACCESSIBLE_ROLE_WIDGET, GTK_ACCESSIBLE_ROLE_WINDOW, - GTK_ACCESSIBLE_ROLE_TOGGLE_BUTTON GDK_AVAILABLE_ENUMERATOR_IN_4_10 + GTK_ACCESSIBLE_ROLE_TOGGLE_BUTTON GDK_AVAILABLE_ENUMERATOR_IN_4_10, + GTK_ACCESSIBLE_ROLE_APPLICATION GDK_AVAILABLE_ENUMERATOR_IN_4_12 } GtkAccessibleRole; /** -- 2.30.2