Add the application role
authorMatthias Clasen <mclasen@redhat.com>
Fri, 16 Jun 2023 19:56:39 +0000 (15:56 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Mon, 19 Jun 2023 22:38:58 +0000 (18:38 -0400)
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
gtk/gtkaccessible.c
gtk/gtkatcontext.c
gtk/gtkenums.h

index 5fe56060208bedef01136473d7b18967f2b8a0d6..2b9731607a80a4b6836d7c9428c7ac89e838342b 100644 (file)
@@ -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;
 
index 2294239d4c1f6b2ba8d6eebbc2e4a2b1d375acf6..2b3dcfe633c788732d6068984298f41167a2ca61 100644 (file)
@@ -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 >
index c862a9a81f6ec0a49e29b9cbb0e6d608a53bd596..d0a3452e85e36b12addb13692cc5042791774802 100644 (file)
@@ -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 >
index e01629ea13c16cdb03e8c5b54b40484129e66f90..9920def3319e7ae9df7b864c37550a00270460b0 100644 (file)
@@ -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;
 
 /**