[gtk/ebassi/new-a11y: 55/71] a11y: Resync with the ARIA spec



commit 7cf0f002a46249c4daf231a618b22a99c3399c14
Author: Emmanuele Bassi <ebassi gnome org>
Date:   Wed Jul 15 19:08:37 2020 +0100

    a11y: Resync with the ARIA spec
    
    Drop roles and properties that were deprecated in WAI-ARIA 1.1, and add
    new roles and properties defined in WAI-ARIA 1.2 and later.
    
    We also split the relationship properties into their own enumeration, so
    we can keep the GtkAccessibleProperty type more compact.

 gtk/gtkaccessiblepropertyset.c  |  49 ++++++++--------
 gtk/gtkaccessiblestateset.c     |   1 -
 gtk/gtkaccessiblevalue.c        |  40 +++++---------
 gtk/gtkaccessiblevalueprivate.h |  40 +-------------
 gtk/gtkaccessiblevaluestatic.c  |  62 +++++++++++++++------
 gtk/gtkatcontextprivate.h       |  43 +++++++-------
 gtk/gtkenums.h                  | 120 +++++++++++++++++++++++++++++++---------
 7 files changed, 195 insertions(+), 160 deletions(-)
---
diff --git a/gtk/gtkaccessiblepropertyset.c b/gtk/gtkaccessiblepropertyset.c
index 9a703fe6a9..a50ff8ae47 100644
--- a/gtk/gtkaccessiblepropertyset.c
+++ b/gtk/gtkaccessiblepropertyset.c
@@ -91,7 +91,7 @@ gtk_accessible_property_set_add (GtkAccessiblePropertySet *self,
                                  GtkAccessibleProperty     property,
                                  GtkAccessibleValue       *value)
 {
-  g_return_if_fail (property >= GTK_ACCESSIBLE_PROPERTY_ACTIVE_DESCENDANT &&
+  g_return_if_fail (property >= GTK_ACCESSIBLE_PROPERTY_AUTOCOMPLETE &&
                     property <= GTK_ACCESSIBLE_PROPERTY_VALUE_TEXT);
 
   if (gtk_accessible_property_set_contains (self, property))
@@ -106,7 +106,7 @@ void
 gtk_accessible_property_set_remove (GtkAccessiblePropertySet *self,
                                     GtkAccessibleProperty     property)
 {
-  g_return_if_fail (property >= GTK_ACCESSIBLE_PROPERTY_ACTIVE_DESCENDANT &&
+  g_return_if_fail (property >= GTK_ACCESSIBLE_PROPERTY_AUTOCOMPLETE &&
                     property <= GTK_ACCESSIBLE_PROPERTY_VALUE_TEXT);
 
   if (gtk_accessible_property_set_contains (self, property))
@@ -120,7 +120,7 @@ gboolean
 gtk_accessible_property_set_contains (GtkAccessiblePropertySet *self,
                                       GtkAccessibleProperty     property)
 {
-  g_return_val_if_fail (property >= GTK_ACCESSIBLE_PROPERTY_ACTIVE_DESCENDANT &&
+  g_return_val_if_fail (property >= GTK_ACCESSIBLE_PROPERTY_AUTOCOMPLETE &&
                         property <= GTK_ACCESSIBLE_PROPERTY_VALUE_TEXT,
                         FALSE);
 
@@ -131,7 +131,7 @@ GtkAccessibleValue *
 gtk_accessible_property_set_get_value (GtkAccessiblePropertySet *self,
                                        GtkAccessibleProperty     property)
 {
-  g_return_val_if_fail (property >= GTK_ACCESSIBLE_PROPERTY_ACTIVE_DESCENDANT &&
+  g_return_val_if_fail (property >= GTK_ACCESSIBLE_PROPERTY_AUTOCOMPLETE &&
                         property <= GTK_ACCESSIBLE_PROPERTY_VALUE_TEXT,
                         NULL);
 
@@ -139,28 +139,25 @@ gtk_accessible_property_set_get_value (GtkAccessiblePropertySet *self,
 }
 
 static const char *property_names[] = {
-  [GTK_ACCESSIBLE_PROPERTY_ACTIVE_DESCENDANT] = "active-descendant",
-  [GTK_ACCESSIBLE_PROPERTY_CONTROLS]          = "controls",
-  [GTK_ACCESSIBLE_PROPERTY_DESCRIBED_BY]      = "described-by",
-  [GTK_ACCESSIBLE_PROPERTY_FLOW_TO]           = "flow-to",
-  [GTK_ACCESSIBLE_PROPERTY_HAS_POPUP]         = "has-popup",
-  [GTK_ACCESSIBLE_PROPERTY_LABEL]             = "label",
-  [GTK_ACCESSIBLE_PROPERTY_LABELLED_BY]       = "labelled-by",
-  [GTK_ACCESSIBLE_PROPERTY_LEVEL]             = "level",
-  [GTK_ACCESSIBLE_PROPERTY_MULTI_LINE]        = "multiline",
-  [GTK_ACCESSIBLE_PROPERTY_MULTI_SELECTABLE]  = "multi-selectable",
-  [GTK_ACCESSIBLE_PROPERTY_ORIENTATION]       = "orientation",
-  [GTK_ACCESSIBLE_PROPERTY_OWNS]              = "owns",
-  [GTK_ACCESSIBLE_PROPERTY_POS_IN_SET]        = "pos-in-set",
-  [GTK_ACCESSIBLE_PROPERTY_READ_ONLY]         = "read-only",
-  [GTK_ACCESSIBLE_PROPERTY_RELEVANT]          = "relevant",
-  [GTK_ACCESSIBLE_PROPERTY_REQUIRED]          = "required",
-  [GTK_ACCESSIBLE_PROPERTY_SET_SIZE]          = "set-size",
-  [GTK_ACCESSIBLE_PROPERTY_SORT]              = "sort",
-  [GTK_ACCESSIBLE_PROPERTY_VALUE_MAX]         = "value-max",
-  [GTK_ACCESSIBLE_PROPERTY_VALUE_MIN]         = "value-min",
-  [GTK_ACCESSIBLE_PROPERTY_VALUE_NOW]         = "value-now",
-  [GTK_ACCESSIBLE_PROPERTY_VALUE_TEXT]        = "value-text",
+  [GTK_ACCESSIBLE_PROPERTY_AUTOCOMPLETE]     = "autocomplete",
+  [GTK_ACCESSIBLE_PROPERTY_DESCRIPTION]      = "description",
+  [GTK_ACCESSIBLE_PROPERTY_HAS_POPUP]        = "haspopup",
+  [GTK_ACCESSIBLE_PROPERTY_KEY_SHORTCUTS]    = "keyshortcuts",
+  [GTK_ACCESSIBLE_PROPERTY_LABEL]            = "label",
+  [GTK_ACCESSIBLE_PROPERTY_LEVEL]            = "level",
+  [GTK_ACCESSIBLE_PROPERTY_MODAL]            = "modal",
+  [GTK_ACCESSIBLE_PROPERTY_MULTI_LINE]       = "multiline",
+  [GTK_ACCESSIBLE_PROPERTY_MULTI_SELECTABLE] = "multiselectable",
+  [GTK_ACCESSIBLE_PROPERTY_ORIENTATION]      = "orientation",
+  [GTK_ACCESSIBLE_PROPERTY_PLACEHOLDER]      = "placeholder",
+  [GTK_ACCESSIBLE_PROPERTY_READ_ONLY]        = "readonly",
+  [GTK_ACCESSIBLE_PROPERTY_REQUIRED]         = "required",
+  [GTK_ACCESSIBLE_PROPERTY_ROLE_DESCRIPTION] = "roledescription",
+  [GTK_ACCESSIBLE_PROPERTY_SORT]             = "sort",
+  [GTK_ACCESSIBLE_PROPERTY_VALUE_MAX]        = "valuemax",
+  [GTK_ACCESSIBLE_PROPERTY_VALUE_MIN]        = "valuemin",
+  [GTK_ACCESSIBLE_PROPERTY_VALUE_NOW]        = "valuenow",
+  [GTK_ACCESSIBLE_PROPERTY_VALUE_TEXT]       = "valuetext",
 };
 
 /*< private >
diff --git a/gtk/gtkaccessiblestateset.c b/gtk/gtkaccessiblestateset.c
index b494adf5cf..799625864a 100644
--- a/gtk/gtkaccessiblestateset.c
+++ b/gtk/gtkaccessiblestateset.c
@@ -143,7 +143,6 @@ static const char *state_names[] = {
   [GTK_ACCESSIBLE_STATE_CHECKED]  = "checked",
   [GTK_ACCESSIBLE_STATE_DISABLED] = "disabled",
   [GTK_ACCESSIBLE_STATE_EXPANDED] = "expanded",
-  [GTK_ACCESSIBLE_STATE_GRABBED]  = "grabbed",
   [GTK_ACCESSIBLE_STATE_HIDDEN]   = "hidden",
   [GTK_ACCESSIBLE_STATE_INVALID]  = "invalid",
   [GTK_ACCESSIBLE_STATE_PRESSED]  = "pressed",
diff --git a/gtk/gtkaccessiblevalue.c b/gtk/gtkaccessiblevalue.c
index db2509ebd6..56f9b88642 100644
--- a/gtk/gtkaccessiblevalue.c
+++ b/gtk/gtkaccessiblevalue.c
@@ -485,32 +485,28 @@ static const GtkAccessibleCollect collect_states[] = {
   { GTK_ACCESSIBLE_STATE_CHECKED,  GTK_ACCESSIBLE_COLLECT_ENUM,     "checked",  (GCallback) 
gtk_checked_accessible_value_new },
   { GTK_ACCESSIBLE_STATE_DISABLED, GTK_ACCESSIBLE_COLLECT_BOOLEAN,  "disabled", (GCallback) 
gtk_boolean_accessible_value_new },
   { GTK_ACCESSIBLE_STATE_EXPANDED, GTK_ACCESSIBLE_COLLECT_TRISTATE, "expanded", (GCallback) 
gtk_expanded_accessible_value_new },
-  { GTK_ACCESSIBLE_STATE_GRABBED,  GTK_ACCESSIBLE_COLLECT_TRISTATE, "grabbed",  (GCallback) 
gtk_grabbed_accessible_value_new },
   { GTK_ACCESSIBLE_STATE_HIDDEN,   GTK_ACCESSIBLE_COLLECT_BOOLEAN,  "hidden",   (GCallback) 
gtk_boolean_accessible_value_new },
   { GTK_ACCESSIBLE_STATE_INVALID,  GTK_ACCESSIBLE_COLLECT_ENUM,     "invalid",  (GCallback) 
gtk_invalid_accessible_value_new },
   { GTK_ACCESSIBLE_STATE_PRESSED,  GTK_ACCESSIBLE_COLLECT_ENUM,     "pressed",  (GCallback) 
gtk_pressed_accessible_value_new },
   { GTK_ACCESSIBLE_STATE_SELECTED, GTK_ACCESSIBLE_COLLECT_TRISTATE, "selected", (GCallback) 
gtk_selected_accessible_value_new },
 };
 
+/* § 6.6.1 Widget attributes */
 static const GtkAccessibleCollect collect_props[] = {
-  { GTK_ACCESSIBLE_PROPERTY_ACTIVE_DESCENDANT, GTK_ACCESSIBLE_COLLECT_REF,     "activedescendant", 
(GCallback) gtk_reference_accessible_value_new },
   { GTK_ACCESSIBLE_PROPERTY_AUTOCOMPLETE,      GTK_ACCESSIBLE_COLLECT_ENUM,    "autocomplete",     
(GCallback) gtk_autocomplete_accessible_value_new },
-  { GTK_ACCESSIBLE_PROPERTY_CONTROLS,          GTK_ACCESSIBLE_COLLECT_REF,     "controls",         
(GCallback) gtk_reference_accessible_value_new },
-  { GTK_ACCESSIBLE_PROPERTY_DESCRIBED_BY,      GTK_ACCESSIBLE_COLLECT_REF,     "describedby",      
(GCallback) gtk_reference_accessible_value_new },
-  { GTK_ACCESSIBLE_PROPERTY_FLOW_TO,           GTK_ACCESSIBLE_COLLECT_REF,     "flowto",           
(GCallback) gtk_reference_accessible_value_new },
+  { GTK_ACCESSIBLE_PROPERTY_DESCRIPTION,       GTK_ACCESSIBLE_COLLECT_STRING,  "description",      
(GCallback) gtk_string_accessible_value_new },
   { GTK_ACCESSIBLE_PROPERTY_HAS_POPUP,         GTK_ACCESSIBLE_COLLECT_BOOLEAN, "haspopup",         
(GCallback) gtk_boolean_accessible_value_new },
+  { GTK_ACCESSIBLE_PROPERTY_KEY_SHORTCUTS,     GTK_ACCESSIBLE_COLLECT_STRING,  "keyshortcuts",     
(GCallback) gtk_string_accessible_value_new },
   { GTK_ACCESSIBLE_PROPERTY_LABEL,             GTK_ACCESSIBLE_COLLECT_STRING,  "label",            
(GCallback) gtk_string_accessible_value_new },
-  { GTK_ACCESSIBLE_PROPERTY_LABELLED_BY,       GTK_ACCESSIBLE_COLLECT_REF   ,  "labelledby",       
(GCallback) gtk_reference_accessible_value_new },
   { GTK_ACCESSIBLE_PROPERTY_LEVEL,             GTK_ACCESSIBLE_COLLECT_INT,     "level",            
(GCallback) gtk_int_accessible_value_new },
+  { GTK_ACCESSIBLE_PROPERTY_MODAL,             GTK_ACCESSIBLE_COLLECT_BOOLEAN, "modal",            
(GCallback) gtk_boolean_accessible_value_new },
   { GTK_ACCESSIBLE_PROPERTY_MULTI_LINE,        GTK_ACCESSIBLE_COLLECT_BOOLEAN, "multiline",        
(GCallback) gtk_boolean_accessible_value_new },
   { GTK_ACCESSIBLE_PROPERTY_MULTI_SELECTABLE,  GTK_ACCESSIBLE_COLLECT_BOOLEAN, "multiselectable",  
(GCallback) gtk_boolean_accessible_value_new },
   { GTK_ACCESSIBLE_PROPERTY_ORIENTATION,       GTK_ACCESSIBLE_COLLECT_ENUM,    "orientation",      
(GCallback) gtk_orientation_accessible_value_new },
-  { GTK_ACCESSIBLE_PROPERTY_OWNS,              GTK_ACCESSIBLE_COLLECT_REF,     "owns",             
(GCallback) gtk_reference_accessible_value_new },
-  { GTK_ACCESSIBLE_PROPERTY_POS_IN_SET,        GTK_ACCESSIBLE_COLLECT_INT,     "posinset",         
(GCallback) gtk_int_accessible_value_new },
+  { GTK_ACCESSIBLE_PROPERTY_PLACEHOLDER,       GTK_ACCESSIBLE_COLLECT_STRING,  "placeholder",      
(GCallback) gtk_string_accessible_value_new },
   { GTK_ACCESSIBLE_PROPERTY_READ_ONLY,         GTK_ACCESSIBLE_COLLECT_BOOLEAN, "readonly",         
(GCallback) gtk_boolean_accessible_value_new },
-  { GTK_ACCESSIBLE_PROPERTY_RELEVANT,          GTK_ACCESSIBLE_COLLECT_STRING,  "relevant",         
(GCallback) gtk_string_accessible_value_new },
   { GTK_ACCESSIBLE_PROPERTY_REQUIRED,          GTK_ACCESSIBLE_COLLECT_BOOLEAN, "required",         
(GCallback) gtk_boolean_accessible_value_new },
-  { GTK_ACCESSIBLE_PROPERTY_SET_SIZE,          GTK_ACCESSIBLE_COLLECT_INT,     "setsize",          
(GCallback) gtk_int_accessible_value_new },
+  { GTK_ACCESSIBLE_PROPERTY_ROLE_DESCRIPTION,  GTK_ACCESSIBLE_COLLECT_STRING,  "roledescription",  
(GCallback) gtk_string_accessible_value_new },
   { GTK_ACCESSIBLE_PROPERTY_SORT,              GTK_ACCESSIBLE_COLLECT_ENUM,    "sort",             
(GCallback) gtk_sort_accessible_value_new },
   { GTK_ACCESSIBLE_PROPERTY_VALUE_MAX,         GTK_ACCESSIBLE_COLLECT_NUMBER,  "valuemax",         
(GCallback) gtk_number_accessible_value_new },
   { GTK_ACCESSIBLE_PROPERTY_VALUE_MIN,         GTK_ACCESSIBLE_COLLECT_NUMBER,  "valuemin",         
(GCallback) gtk_number_accessible_value_new },
@@ -551,10 +547,7 @@ gtk_accessible_value_get_default_for_state (GtkAccessibleState state)
       return gtk_checked_accessible_value_new (GTK_ACCESSIBLE_CHECKED_UNDEFINED);
 
     case GTK_ACCESSIBLE_STATE_EXPANDED:
-      return gtk_expanded_accessible_value_new (GTK_ACCESSIBLE_STATE_UNDEFINED);
-
-    case GTK_ACCESSIBLE_STATE_GRABBED:
-      return gtk_grabbed_accessible_value_new (GTK_ACCESSIBLE_STATE_UNDEFINED);
+      return gtk_expanded_accessible_value_new (GTK_ACCESSIBLE_VALUE_UNDEFINED);
 
     case GTK_ACCESSIBLE_STATE_INVALID:
       return gtk_invalid_accessible_value_new (GTK_ACCESSIBLE_INVALID_FALSE);
@@ -563,7 +556,7 @@ gtk_accessible_value_get_default_for_state (GtkAccessibleState state)
       return gtk_pressed_accessible_value_new (GTK_ACCESSIBLE_PRESSED_UNDEFINED);
 
     case GTK_ACCESSIBLE_STATE_SELECTED:
-      return gtk_selected_accessible_value_new (GTK_ACCESSIBLE_STATE_UNDEFINED);
+      return gtk_selected_accessible_value_new (GTK_ACCESSIBLE_VALUE_UNDEFINED);
 
     default:
       g_critical ("Unknown value for accessible state “%s”", cstate->name);
@@ -801,18 +794,9 @@ gtk_accessible_value_get_default_for_property (GtkAccessibleProperty property)
 
   switch (cstate->value)
     {
-    /* Reference properties */
-    case GTK_ACCESSIBLE_PROPERTY_ACTIVE_DESCENDANT:
-    case GTK_ACCESSIBLE_PROPERTY_CONTROLS:
-    case GTK_ACCESSIBLE_PROPERTY_DESCRIBED_BY:
-    case GTK_ACCESSIBLE_PROPERTY_FLOW_TO:
-    case GTK_ACCESSIBLE_PROPERTY_LABELLED_BY:
-    case GTK_ACCESSIBLE_PROPERTY_OWNS:
-    case GTK_ACCESSIBLE_PROPERTY_RELEVANT:
-      return NULL;
-
     /* Boolean properties */
     case GTK_ACCESSIBLE_PROPERTY_HAS_POPUP:
+    case GTK_ACCESSIBLE_PROPERTY_MODAL:
     case GTK_ACCESSIBLE_PROPERTY_MULTI_LINE:
     case GTK_ACCESSIBLE_PROPERTY_MULTI_SELECTABLE:
     case GTK_ACCESSIBLE_PROPERTY_READ_ONLY:
@@ -821,8 +805,6 @@ gtk_accessible_value_get_default_for_property (GtkAccessibleProperty property)
 
     /* Integer properties */
     case GTK_ACCESSIBLE_PROPERTY_LEVEL:
-    case GTK_ACCESSIBLE_PROPERTY_POS_IN_SET:
-    case GTK_ACCESSIBLE_PROPERTY_SET_SIZE:
       return gtk_int_accessible_value_new (0);
 
     /* Number properties */
@@ -832,7 +814,11 @@ gtk_accessible_value_get_default_for_property (GtkAccessibleProperty property)
       return gtk_number_accessible_value_new (0);
 
     /* String properties */
+    case GTK_ACCESSIBLE_PROPERTY_DESCRIPTION:
+    case GTK_ACCESSIBLE_PROPERTY_KEY_SHORTCUTS:
     case GTK_ACCESSIBLE_PROPERTY_LABEL:
+    case GTK_ACCESSIBLE_PROPERTY_PLACEHOLDER:
+    case GTK_ACCESSIBLE_PROPERTY_ROLE_DESCRIPTION:
     case GTK_ACCESSIBLE_PROPERTY_VALUE_TEXT:
       return gtk_string_accessible_value_new ("");
 
diff --git a/gtk/gtkaccessiblevalueprivate.h b/gtk/gtkaccessiblevalueprivate.h
index 3c007aedbe..48744954fc 100644
--- a/gtk/gtkaccessiblevalueprivate.h
+++ b/gtk/gtkaccessiblevalueprivate.h
@@ -85,45 +85,9 @@ GtkAccessibleValue *    gtk_accessible_value_collect_for_property       (GtkAcce
 GtkAccessibleValue *    gtk_accessible_value_collect_for_property_value (GtkAccessibleProperty          
property,
                                                                          const GValue                  
*value);
 
-
-#define GTK_ACCESSIBLE_STATE_UNDEFINED  (-1)
-
-typedef enum { /*< prefix=GTK_ACCESSIBLE_CHECKED >*/
-  GTK_ACCESSIBLE_CHECKED_FALSE     = 0,
-  GTK_ACCESSIBLE_CHECKED_TRUE      = 1,
-  GTK_ACCESSIBLE_CHECKED_UNDEFINED = -1,
-  GTK_ACCESSIBLE_CHECKED_MIXED     = -2
-} GtkAccessibleCheckedState;
-
-typedef enum { /*< prefix=GTK_ACCESSIBLE_PRESSED >*/
-  GTK_ACCESSIBLE_PRESSED_FALSE     = 0,
-  GTK_ACCESSIBLE_PRESSED_TRUE      = 1,
-  GTK_ACCESSIBLE_PRESSED_UNDEFINED = -1,
-  GTK_ACCESSIBLE_PRESSED_MIXED     = -2
-} GtkAccessiblePressedState;
-
-typedef enum { /*< prefix=GTK_ACCESSIBLE_INVALID >*/
-  GTK_ACCESSIBLE_INVALID_FALSE,
-  GTK_ACCESSIBLE_INVALID_TRUE,
-  GTK_ACCESSIBLE_INVALID_GRAMMAR,
-  GTK_ACCESSIBLE_INVALID_SPELLING,
-} GtkAccessibleInvalidState;
-
-typedef enum { /*< prefix=GTK_ACCESSIBLE_AUTOCOMPLETE >*/
-  GTK_ACCESSIBLE_AUTOCOMPLETE_NONE,
-  GTK_ACCESSIBLE_AUTOCOMPLETE_INLINE,
-  GTK_ACCESSIBLE_AUTOCOMPLETE_LIST,
-  GTK_ACCESSIBLE_AUTOCOMPLETE_BOTH
-} GtkAccessibleAutocomplete;
-
-typedef enum { /*< prefix=GTK_ACCESSIBLE_SORT >*/
-  GTK_ACCESSIBLE_SORT_NONE,
-  GTK_ACCESSIBLE_SORT_ASCENDING,
-  GTK_ACCESSIBLE_SORT_DESCENDING,
-  GTK_ACCESSIBLE_SORT_OTHER
-} GtkAccessibleSort;
-
 /* Basic values */
+GtkAccessibleValue *            gtk_undefined_accessible_value_new      (void);
+
 GtkAccessibleValue *            gtk_boolean_accessible_value_new        (gboolean                  value);
 gboolean                        gtk_boolean_accessible_value_get        (const GtkAccessibleValue *value);
 
diff --git a/gtk/gtkaccessiblevaluestatic.c b/gtk/gtkaccessiblevaluestatic.c
index 9fa9982248..5704212448 100644
--- a/gtk/gtkaccessiblevaluestatic.c
+++ b/gtk/gtkaccessiblevaluestatic.c
@@ -22,6 +22,33 @@
 
 #include "gtkaccessiblevalueprivate.h"
 
+/* {{{ Undefined value */
+
+static void
+gtk_undefined_accessible_value_print (const GtkAccessibleValue *value,
+                                      GString                  *buffer)
+{
+  g_string_append (buffer, "undefined");
+}
+
+static const GtkAccessibleValueClass GTK_UNDEFINED_ACCESSIBLE_VALUE = {
+  .type_name = "GtkUndefinedAccessibleValue",
+  .instance_size = sizeof (GtkAccessibleValue),
+  .print = gtk_undefined_accessible_value_print,
+};
+
+static GtkAccessibleValue undefined_value = {
+  &GTK_UNDEFINED_ACCESSIBLE_VALUE, 1
+};
+
+GtkAccessibleValue *
+gtk_undefined_accessible_value_new (void)
+{
+  return gtk_accessible_value_ref (&undefined_value);
+}
+
+/* }}} */
+
 /* {{{ Boolean values */ 
 
 typedef struct
@@ -136,9 +163,9 @@ static const GtkAccessibleValueClass GTK_EXPANDED_ACCESSIBLE_VALUE = {
 };
 
 static GtkTristateAccessibleValue expanded_values[] = {
-  { { &GTK_EXPANDED_ACCESSIBLE_VALUE, 1 }, -1 },
-  { { &GTK_EXPANDED_ACCESSIBLE_VALUE, 1 },  0 },
-  { { &GTK_EXPANDED_ACCESSIBLE_VALUE, 1 },  1 },
+  { { &GTK_EXPANDED_ACCESSIBLE_VALUE, 1 }, GTK_ACCESSIBLE_VALUE_UNDEFINED },
+  { { &GTK_EXPANDED_ACCESSIBLE_VALUE, 1 }, 0 },
+  { { &GTK_EXPANDED_ACCESSIBLE_VALUE, 1 }, 1 },
 };
 
 GtkAccessibleValue *
@@ -161,9 +188,9 @@ gtk_expanded_accessible_value_get (const GtkAccessibleValue *value)
 {
   GtkTristateAccessibleValue *self = (GtkTristateAccessibleValue *) value;
 
-  g_return_val_if_fail (value != NULL, GTK_ACCESSIBLE_STATE_UNDEFINED);
+  g_return_val_if_fail (value != NULL, GTK_ACCESSIBLE_VALUE_UNDEFINED);
   g_return_val_if_fail (value->value_class == &GTK_EXPANDED_ACCESSIBLE_VALUE,
-                        GTK_ACCESSIBLE_STATE_UNDEFINED);
+                        GTK_ACCESSIBLE_VALUE_UNDEFINED);
 
   return self->value;
 }
@@ -176,9 +203,9 @@ static const GtkAccessibleValueClass GTK_GRABBED_ACCESSIBLE_VALUE = {
 };
 
 static GtkTristateAccessibleValue grabbed_values[] = {
-  { { &GTK_GRABBED_ACCESSIBLE_VALUE, 1 }, -1 },
-  { { &GTK_GRABBED_ACCESSIBLE_VALUE, 1 },  0 },
-  { { &GTK_GRABBED_ACCESSIBLE_VALUE, 1 },  1 },
+  { { &GTK_GRABBED_ACCESSIBLE_VALUE, 1 }, GTK_ACCESSIBLE_VALUE_UNDEFINED },
+  { { &GTK_GRABBED_ACCESSIBLE_VALUE, 1 }, 0 },
+  { { &GTK_GRABBED_ACCESSIBLE_VALUE, 1 }, 1 },
 };
 
 GtkAccessibleValue *
@@ -201,9 +228,9 @@ gtk_grabbed_accessible_value_get (const GtkAccessibleValue *value)
 {
   GtkTristateAccessibleValue *self = (GtkTristateAccessibleValue *) value;
 
-  g_return_val_if_fail (value != NULL, GTK_ACCESSIBLE_STATE_UNDEFINED);
+  g_return_val_if_fail (value != NULL, GTK_ACCESSIBLE_VALUE_UNDEFINED);
   g_return_val_if_fail (value->value_class == &GTK_GRABBED_ACCESSIBLE_VALUE,
-                        GTK_ACCESSIBLE_STATE_UNDEFINED);
+                        GTK_ACCESSIBLE_VALUE_UNDEFINED);
 
   return self->value;
 }
@@ -216,9 +243,9 @@ static const GtkAccessibleValueClass GTK_SELECTED_ACCESSIBLE_VALUE = {
 };
 
 static GtkTristateAccessibleValue selected_values[] = {
-  { { &GTK_SELECTED_ACCESSIBLE_VALUE, 1 }, -1 },
-  { { &GTK_SELECTED_ACCESSIBLE_VALUE, 1 },  0 },
-  { { &GTK_SELECTED_ACCESSIBLE_VALUE, 1 },  1 },
+  { { &GTK_SELECTED_ACCESSIBLE_VALUE, 1 }, GTK_ACCESSIBLE_VALUE_UNDEFINED },
+  { { &GTK_SELECTED_ACCESSIBLE_VALUE, 1 }, 0 },
+  { { &GTK_SELECTED_ACCESSIBLE_VALUE, 1 }, 1 },
 };
 
 GtkAccessibleValue *
@@ -241,9 +268,9 @@ gtk_selected_accessible_value_get (const GtkAccessibleValue *value)
 {
   GtkTristateAccessibleValue *self = (GtkTristateAccessibleValue *) value;
 
-  g_return_val_if_fail (value != NULL, GTK_ACCESSIBLE_STATE_UNDEFINED);
+  g_return_val_if_fail (value != NULL, GTK_ACCESSIBLE_VALUE_UNDEFINED);
   g_return_val_if_fail (value->value_class == &GTK_SELECTED_ACCESSIBLE_VALUE,
-                        GTK_ACCESSIBLE_STATE_UNDEFINED);
+                        GTK_ACCESSIBLE_VALUE_UNDEFINED);
 
   return self->value;
 }
@@ -472,8 +499,9 @@ static const GtkAccessibleValueClass GTK_ORIENTATION_ACCESSIBLE_VALUE = {
 };
 
 static GtkEnumAccessibleValue orientation_values[] = {
-  { { &GTK_ORIENTATION_ACCESSIBLE_VALUE, 1 }, GTK_ORIENTATION_HORIZONTAL, "horizontal" },
-  { { &GTK_ORIENTATION_ACCESSIBLE_VALUE, 1 }, GTK_ORIENTATION_VERTICAL,   "vertical"   },
+  { { &GTK_ORIENTATION_ACCESSIBLE_VALUE, 1 }, GTK_ORIENTATION_HORIZONTAL,     "horizontal" },
+  { { &GTK_ORIENTATION_ACCESSIBLE_VALUE, 1 }, GTK_ORIENTATION_VERTICAL,       "vertical"   },
+  { { &GTK_ORIENTATION_ACCESSIBLE_VALUE, 1 }, GTK_ACCESSIBLE_VALUE_UNDEFINED, "undefined"  },
 };
 
 GtkAccessibleValue *
diff --git a/gtk/gtkatcontextprivate.h b/gtk/gtkatcontextprivate.h
index 4df4d26bb5..ec152a2060 100644
--- a/gtk/gtkatcontextprivate.h
+++ b/gtk/gtkatcontextprivate.h
@@ -32,7 +32,6 @@ typedef enum {
   GTK_ACCESSIBLE_STATE_CHANGE_CHECKED  = 1 << GTK_ACCESSIBLE_STATE_CHECKED,
   GTK_ACCESSIBLE_STATE_CHANGE_DISABLED = 1 << GTK_ACCESSIBLE_STATE_DISABLED,
   GTK_ACCESSIBLE_STATE_CHANGE_EXPANDED = 1 << GTK_ACCESSIBLE_STATE_EXPANDED,
-  GTK_ACCESSIBLE_STATE_CHANGE_GRABBED  = 1 << GTK_ACCESSIBLE_STATE_GRABBED,
   GTK_ACCESSIBLE_STATE_CHANGE_HIDDEN   = 1 << GTK_ACCESSIBLE_STATE_HIDDEN,
   GTK_ACCESSIBLE_STATE_CHANGE_INVALID  = 1 << GTK_ACCESSIBLE_STATE_INVALID,
   GTK_ACCESSIBLE_STATE_CHANGE_PRESSED  = 1 << GTK_ACCESSIBLE_STATE_PRESSED,
@@ -40,29 +39,25 @@ typedef enum {
 } GtkAccessibleStateChange;
 
 typedef enum {
-  GTK_ACCESSIBLE_PROPERTY_CHANGE_ACTIVE_DESCENDANT = 1 << GTK_ACCESSIBLE_PROPERTY_ACTIVE_DESCENDANT,
-  GTK_ACCESSIBLE_PROPERTY_CHANGE_AUTOCOMPLETE      = 1 << GTK_ACCESSIBLE_PROPERTY_AUTOCOMPLETE,
-  GTK_ACCESSIBLE_PROPERTY_CHANGE_CONTROLS          = 1 << GTK_ACCESSIBLE_PROPERTY_CONTROLS,
-  GTK_ACCESSIBLE_PROPERTY_CHANGE_DESCRIBED_BY      = 1 << GTK_ACCESSIBLE_PROPERTY_DESCRIBED_BY,
-  GTK_ACCESSIBLE_PROPERTY_CHANGE_FLOW_TO           = 1 << GTK_ACCESSIBLE_PROPERTY_FLOW_TO,
-  GTK_ACCESSIBLE_PROPERTY_CHANGE_HAS_POPUP         = 1 << GTK_ACCESSIBLE_PROPERTY_HAS_POPUP,
-  GTK_ACCESSIBLE_PROPERTY_CHANGE_LABEL             = 1 << GTK_ACCESSIBLE_PROPERTY_LABEL,
-  GTK_ACCESSIBLE_PROPERTY_CHANGE_LABELLED_BY       = 1 << GTK_ACCESSIBLE_PROPERTY_LABELLED_BY,
-  GTK_ACCESSIBLE_PROPERTY_CHANGE_LEVEL             = 1 << GTK_ACCESSIBLE_PROPERTY_LEVEL,
-  GTK_ACCESSIBLE_PROPERTY_CHANGE_MULTI_LINE        = 1 << GTK_ACCESSIBLE_PROPERTY_MULTI_LINE,
-  GTK_ACCESSIBLE_PROPERTY_CHANGE_MULTI_SELECTABLE  = 1 << GTK_ACCESSIBLE_PROPERTY_MULTI_SELECTABLE,
-  GTK_ACCESSIBLE_PROPERTY_CHANGE_ORIENTATION       = 1 << GTK_ACCESSIBLE_PROPERTY_ORIENTATION,
-  GTK_ACCESSIBLE_PROPERTY_CHANGE_OWNS              = 1 << GTK_ACCESSIBLE_PROPERTY_OWNS,
-  GTK_ACCESSIBLE_PROPERTY_CHANGE_POS_IN_SET        = 1 << GTK_ACCESSIBLE_PROPERTY_POS_IN_SET,
-  GTK_ACCESSIBLE_PROPERTY_CHANGE_READ_ONLY         = 1 << GTK_ACCESSIBLE_PROPERTY_READ_ONLY,
-  GTK_ACCESSIBLE_PROPERTY_CHANGE_RELEVANT          = 1 << GTK_ACCESSIBLE_PROPERTY_RELEVANT,
-  GTK_ACCESSIBLE_PROPERTY_CHANGE_REQUIRED          = 1 << GTK_ACCESSIBLE_PROPERTY_REQUIRED,
-  GTK_ACCESSIBLE_PROPERTY_CHANGE_SET_SIZE          = 1 << GTK_ACCESSIBLE_PROPERTY_SET_SIZE,
-  GTK_ACCESSIBLE_PROPERTY_CHANGE_SORT              = 1 << GTK_ACCESSIBLE_PROPERTY_SORT,
-  GTK_ACCESSIBLE_PROPERTY_CHANGE_VALUE_MAX         = 1 << GTK_ACCESSIBLE_PROPERTY_VALUE_MAX,
-  GTK_ACCESSIBLE_PROPERTY_CHANGE_VALUE_MIN         = 1 << GTK_ACCESSIBLE_PROPERTY_VALUE_MIN,
-  GTK_ACCESSIBLE_PROPERTY_CHANGE_VALUE_NOW         = 1 << GTK_ACCESSIBLE_PROPERTY_VALUE_NOW,
-  GTK_ACCESSIBLE_PROPERTY_CHANGE_VALUE_TEXT        = 1 << GTK_ACCESSIBLE_PROPERTY_VALUE_TEXT
+  GTK_ACCESSIBLE_PROPERTY_CHANGE_AUTOCOMPLETE     = 1 << GTK_ACCESSIBLE_PROPERTY_AUTOCOMPLETE,
+  GTK_ACCESSIBLE_PROPERTY_CHANGE_DESCRIPTION      = 1 << GTK_ACCESSIBLE_PROPERTY_DESCRIPTION,
+  GTK_ACCESSIBLE_PROPERTY_CHANGE_HAS_POPUP        = 1 << GTK_ACCESSIBLE_PROPERTY_HAS_POPUP,
+  GTK_ACCESSIBLE_PROPERTY_CHANGE_KEY_SHORTCUTS    = 1 << GTK_ACCESSIBLE_PROPERTY_KEY_SHORTCUTS,
+  GTK_ACCESSIBLE_PROPERTY_CHANGE_LABEL            = 1 << GTK_ACCESSIBLE_PROPERTY_LABEL,
+  GTK_ACCESSIBLE_PROPERTY_CHANGE_LEVEL            = 1 << GTK_ACCESSIBLE_PROPERTY_LEVEL,
+  GTK_ACCESSIBLE_PROPERTY_CHANGE_MODAL            = 1 << GTK_ACCESSIBLE_PROPERTY_MODAL,
+  GTK_ACCESSIBLE_PROPERTY_CHANGE_MULTI_LINE       = 1 << GTK_ACCESSIBLE_PROPERTY_MULTI_LINE,
+  GTK_ACCESSIBLE_PROPERTY_CHANGE_MULTI_SELECTABLE = 1 << GTK_ACCESSIBLE_PROPERTY_MULTI_SELECTABLE,
+  GTK_ACCESSIBLE_PROPERTY_CHANGE_ORIENTATION      = 1 << GTK_ACCESSIBLE_PROPERTY_ORIENTATION,
+  GTK_ACCESSIBLE_PROPERTY_CHANGE_PLACEHOLDER      = 1 << GTK_ACCESSIBLE_PROPERTY_PLACEHOLDER,
+  GTK_ACCESSIBLE_PROPERTY_CHANGE_READ_ONLY        = 1 << GTK_ACCESSIBLE_PROPERTY_READ_ONLY,
+  GTK_ACCESSIBLE_PROPERTY_CHANGE_REQUIRED         = 1 << GTK_ACCESSIBLE_PROPERTY_REQUIRED,
+  GTK_ACCESSIBLE_PROPERTY_CHANGE_ROLE_DESCRIPTION = 1 << GTK_ACCESSIBLE_PROPERTY_ROLE_DESCRIPTION,
+  GTK_ACCESSIBLE_PROPERTY_CHANGE_SORT             = 1 << GTK_ACCESSIBLE_PROPERTY_SORT,
+  GTK_ACCESSIBLE_PROPERTY_CHANGE_VALUE_MAX        = 1 << GTK_ACCESSIBLE_PROPERTY_VALUE_MAX,
+  GTK_ACCESSIBLE_PROPERTY_CHANGE_VALUE_MIN        = 1 << GTK_ACCESSIBLE_PROPERTY_VALUE_MIN,
+  GTK_ACCESSIBLE_PROPERTY_CHANGE_VALUE_NOW        = 1 << GTK_ACCESSIBLE_PROPERTY_VALUE_NOW,
+  GTK_ACCESSIBLE_PROPERTY_CHANGE_VALUE_TEXT       = 1 << GTK_ACCESSIBLE_PROPERTY_VALUE_TEXT
 } GtkAccessiblePropertyChange;
 
 struct _GtkATContext
diff --git a/gtk/gtkenums.h b/gtk/gtkenums.h
index 30bfc568c5..498db54204 100644
--- a/gtk/gtkenums.h
+++ b/gtk/gtkenums.h
@@ -1152,16 +1152,23 @@ typedef enum {
 
 /**
  * GtkAccessibleRole:
- * @GTK_ACCESSIBLE_ROLE_ALERT: FIXME
- * @GTK_ACCESSIBLE_ROLE_ALERT_DIALOG: FIXME
+ * @GTK_ACCESSIBLE_ROLE_ALERT: An element with important, and usually
+ *   time-sensitive, information
+ * @GTK_ACCESSIBLE_ROLE_ALERT_DIALOG: A type of dialog that contains an
+ *   alert message
  * @GTK_ACCESSIBLE_ROLE_APPLICATION: FIXME
  * @GTK_ACCESSIBLE_ROLE_ARTICLE: FIXME
  * @GTK_ACCESSIBLE_ROLE_BANNER: FIXME
- * @GTK_ACCESSIBLE_ROLE_BUTTON: FIXME
- * @GTK_ACCESSIBLE_ROLE_CHECKBOX: FIXME
+ * @GTK_ACCESSIBLE_ROLE_BUTTON: An input element that allows for
+ *   user-triggered actions when clicked or pressed
+ * @GTK_ACCESSIBLE_ROLE_CHECKBOX: A checkable input element that has
+ *   three possible values: `true`, `false`, or `mixed`
  * @GTK_ACCESSIBLE_ROLE_COLUMN_HEADER: FIXME
- * @GTK_ACCESSIBLE_ROLE_COMBOBOX: FIXME
- * @GTK_ACCESSIBLE_ROLE_COMMAND: FIXME
+ * @GTK_ACCESSIBLE_ROLE_COMBOBOX: An input that controls another element,
+ *   such as a list or a grid, that can dynamically pop up to help the user
+ *   set the value of the input
+ * @GTK_ACCESSIBLE_ROLE_COMMAND: An abstract widget that performs an
+ *   action, but does not receive input
  * @GTK_ACCESSIBLE_ROLE_COMPLEMENTARY: FIXME
  * @GTK_ACCESSIBLE_ROLE_COMPOSITE: FIXME
  * @GTK_ACCESSIBLE_ROLE_CONTENT_INFO: FIXME
@@ -1225,47 +1232,51 @@ typedef enum {
  * @GTK_ACCESSIBLE_ROLE_WINDOW: FIXME
  *
  * The accessible role for a #GtkAccessible implementation.
+ *
+ * Abstract roles are only used as part of the ontology; application
+ * developers must not use abstract roles in their code.
  */
 typedef enum {
   GTK_ACCESSIBLE_ROLE_ALERT,
   GTK_ACCESSIBLE_ROLE_ALERT_DIALOG,
-  GTK_ACCESSIBLE_ROLE_APPLICATION,
-  GTK_ACCESSIBLE_ROLE_ARTICLE,
   GTK_ACCESSIBLE_ROLE_BANNER,
   GTK_ACCESSIBLE_ROLE_BUTTON,
+  GTK_ACCESSIBLE_ROLE_CAPTION,
+  GTK_ACCESSIBLE_ROLE_CELL,
   GTK_ACCESSIBLE_ROLE_CHECKBOX,
   GTK_ACCESSIBLE_ROLE_COLUMN_HEADER,
-  GTK_ACCESSIBLE_ROLE_COMBOBOX,
+  GTK_ACCESSIBLE_ROLE_COMBO_BOX,
   GTK_ACCESSIBLE_ROLE_COMMAND,
-  GTK_ACCESSIBLE_ROLE_COMPLEMENTARY,
   GTK_ACCESSIBLE_ROLE_COMPOSITE,
-  GTK_ACCESSIBLE_ROLE_CONTENT_INFO,
-  GTK_ACCESSIBLE_ROLE_DEFINITION,
   GTK_ACCESSIBLE_ROLE_DIALOG,
-  GTK_ACCESSIBLE_ROLE_DIRECTORY,
   GTK_ACCESSIBLE_ROLE_DOCUMENT,
+  GTK_ACCESSIBLE_ROLE_FEED,
   GTK_ACCESSIBLE_ROLE_FORM,
+  GTK_ACCESSIBLE_ROLE_GENERIC,
   GTK_ACCESSIBLE_ROLE_GRID,
   GTK_ACCESSIBLE_ROLE_GRID_CELL,
   GTK_ACCESSIBLE_ROLE_GROUP,
   GTK_ACCESSIBLE_ROLE_HEADING,
   GTK_ACCESSIBLE_ROLE_IMG,
   GTK_ACCESSIBLE_ROLE_INPUT,
+  GTK_ACCESSIBLE_ROLE_LABEL,
   GTK_ACCESSIBLE_ROLE_LANDMARK,
+  GTK_ACCESSIBLE_ROLE_LEGEND,
   GTK_ACCESSIBLE_ROLE_LINK,
+  GTK_ACCESSIBLE_ROLE_LIST,
   GTK_ACCESSIBLE_ROLE_LIST_BOX,
   GTK_ACCESSIBLE_ROLE_LIST_ITEM,
   GTK_ACCESSIBLE_ROLE_LOG,
   GTK_ACCESSIBLE_ROLE_MAIN,
   GTK_ACCESSIBLE_ROLE_MARQUEE,
-  GTK_ACCESSIBLE_ROLE_MATH,
+  GTK_ACCESSIBLE_ROLE_METER,
   GTK_ACCESSIBLE_ROLE_MENU,
   GTK_ACCESSIBLE_ROLE_MENU_BAR,
   GTK_ACCESSIBLE_ROLE_MENU_ITEM,
   GTK_ACCESSIBLE_ROLE_MENU_ITEM_CHECKBOX,
   GTK_ACCESSIBLE_ROLE_MENU_ITEM_RADIO,
   GTK_ACCESSIBLE_ROLE_NAVIGATION,
-  GTK_ACCESSIBLE_ROLE_NOTE,
+  GTK_ACCESSIBLE_ROLE_NONE,
   GTK_ACCESSIBLE_ROLE_OPTION,
   GTK_ACCESSIBLE_ROLE_PRESENTATION,
   GTK_ACCESSIBLE_ROLE_PROGRESS_BAR,
@@ -1278,6 +1289,7 @@ typedef enum {
   GTK_ACCESSIBLE_ROLE_ROW_HEADER,
   GTK_ACCESSIBLE_ROLE_SCROLLBAR,
   GTK_ACCESSIBLE_ROLE_SEARCH,
+  GTK_ACCESSIBLE_ROLE_SEARCH_BOX,
   GTK_ACCESSIBLE_ROLE_SECTION,
   GTK_ACCESSIBLE_ROLE_SECTION_HEAD,
   GTK_ACCESSIBLE_ROLE_SELECT,
@@ -1286,10 +1298,13 @@ typedef enum {
   GTK_ACCESSIBLE_ROLE_SPIN_BUTTON,
   GTK_ACCESSIBLE_ROLE_STATUS,
   GTK_ACCESSIBLE_ROLE_STRUCTURE,
+  GTK_ACCESSIBLE_ROLE_SWITCH,
   GTK_ACCESSIBLE_ROLE_TAB,
+  GTK_ACCESSIBLE_ROLE_TABLE,
   GTK_ACCESSIBLE_ROLE_TAB_LIST,
   GTK_ACCESSIBLE_ROLE_TAB_PANEL,
   GTK_ACCESSIBLE_ROLE_TEXT_BOX,
+  GTK_ACCESSIBLE_ROLE_TIME,
   GTK_ACCESSIBLE_ROLE_TIMER,
   GTK_ACCESSIBLE_ROLE_TOOLBAR,
   GTK_ACCESSIBLE_ROLE_TOOLTIP,
@@ -1310,8 +1325,6 @@ typedef enum {
  *   that is perceivable, but not editable or operable
  * @GTK_ACCESSIBLE_STATE_EXPANDED: An “expanded” state; corresponds to the
  *   #GtkExpander:expanded property on #GtkExpander
- * @GTK_ACCESSIBLE_STATE_GRABBED: A “grabbed” state; set when a widget is
- *   being grabbed in a drag and drop operation
  * @GTK_ACCESSIBLE_STATE_HIDDEN: A “hidden” state; corresponds to the
  *   #GtkWidget:visible property on #GtkWidget. You can use this state
  *   explicitly on UI elements that should not be exposed to an assistive
@@ -1330,32 +1343,29 @@ typedef enum {
   GTK_ACCESSIBLE_STATE_CHECKED,
   GTK_ACCESSIBLE_STATE_DISABLED,
   GTK_ACCESSIBLE_STATE_EXPANDED,
-  GTK_ACCESSIBLE_STATE_GRABBED,
   GTK_ACCESSIBLE_STATE_HIDDEN,
   GTK_ACCESSIBLE_STATE_INVALID,
   GTK_ACCESSIBLE_STATE_PRESSED,
   GTK_ACCESSIBLE_STATE_SELECTED
 } GtkAccessibleState;
 
+#define GTK_ACCESSIBLE_VALUE_UNDEFINED  (-1)
+
 typedef enum {
-  GTK_ACCESSIBLE_PROPERTY_ACTIVE_DESCENDANT,
   GTK_ACCESSIBLE_PROPERTY_AUTOCOMPLETE,
-  GTK_ACCESSIBLE_PROPERTY_CONTROLS,
-  GTK_ACCESSIBLE_PROPERTY_DESCRIBED_BY,
-  GTK_ACCESSIBLE_PROPERTY_FLOW_TO,
+  GTK_ACCESSIBLE_PROPERTY_DESCRIPTION,
   GTK_ACCESSIBLE_PROPERTY_HAS_POPUP,
+  GTK_ACCESSIBLE_PROPERTY_KEY_SHORTCUTS,
   GTK_ACCESSIBLE_PROPERTY_LABEL,
-  GTK_ACCESSIBLE_PROPERTY_LABELLED_BY,
   GTK_ACCESSIBLE_PROPERTY_LEVEL,
+  GTK_ACCESSIBLE_PROPERTY_MODAL,
   GTK_ACCESSIBLE_PROPERTY_MULTI_LINE,
   GTK_ACCESSIBLE_PROPERTY_MULTI_SELECTABLE,
   GTK_ACCESSIBLE_PROPERTY_ORIENTATION,
-  GTK_ACCESSIBLE_PROPERTY_OWNS,
-  GTK_ACCESSIBLE_PROPERTY_POS_IN_SET,
+  GTK_ACCESSIBLE_PROPERTY_PLACEHOLDER,
   GTK_ACCESSIBLE_PROPERTY_READ_ONLY,
-  GTK_ACCESSIBLE_PROPERTY_RELEVANT,
   GTK_ACCESSIBLE_PROPERTY_REQUIRED,
-  GTK_ACCESSIBLE_PROPERTY_SET_SIZE,
+  GTK_ACCESSIBLE_PROPERTY_ROLE_DESCRIPTION,
   GTK_ACCESSIBLE_PROPERTY_SORT,
   GTK_ACCESSIBLE_PROPERTY_VALUE_MAX,
   GTK_ACCESSIBLE_PROPERTY_VALUE_MIN,
@@ -1363,4 +1373,60 @@ typedef enum {
   GTK_ACCESSIBLE_PROPERTY_VALUE_TEXT
 } GtkAccessibleProperty;
 
+typedef enum {
+  GTK_ACCESSIBLE_RELATION_ACTIVE_DESCENDANT,
+  GTK_ACCESSIBLE_RELATION_COL_COUNT,
+  GTK_ACCESSIBLE_RELATION_COL_INDEX,
+  GTK_ACCESSIBLE_RELATION_COL_INDEX_TEXT,
+  GTK_ACCESSIBLE_RELATION_COL_SPAN,
+  GTK_ACCESSIBLE_RELATION_CONTROLS,
+  GTK_ACCESSIBLE_RELATION_DESCRIBED_BY,
+  GTK_ACCESSIBLE_RELATION_DETAILS,
+  GTK_ACCESSIBLE_RELATION_ERROR_MESSAGE,
+  GTK_ACCESSIBLE_RELATION_FLOW_TO,
+  GTK_ACCESSIBLE_RELATION_LABELLED_BY,
+  GTK_ACCESSIBLE_RELATION_OWNS,
+  GTK_ACCESSIBLE_RELATION_POS_IN_SET,
+  GTK_ACCESSIBLE_RELATION_ROW_COUNT,
+  GTK_ACCESSIBLE_RELATION_ROW_INDEX,
+  GTK_ACCESSIBLE_RELATION_ROW_INDEX_TEXT,
+  GTK_ACCESSIBLE_RELATION_ROW_SPAN,
+  GTK_ACCESSIBLE_RELATION_SET_SIZE
+} GtkAccessibleRelation;
+
+typedef enum { /*< prefix=GTK_ACCESSIBLE_CHECKED >*/
+  GTK_ACCESSIBLE_CHECKED_FALSE     = 0,
+  GTK_ACCESSIBLE_CHECKED_TRUE      = 1,
+  GTK_ACCESSIBLE_CHECKED_UNDEFINED = -1,
+  GTK_ACCESSIBLE_CHECKED_MIXED     = -2
+} GtkAccessibleCheckedState;
+
+typedef enum { /*< prefix=GTK_ACCESSIBLE_PRESSED >*/
+  GTK_ACCESSIBLE_PRESSED_FALSE     = 0,
+  GTK_ACCESSIBLE_PRESSED_TRUE      = 1,
+  GTK_ACCESSIBLE_PRESSED_UNDEFINED = -1,
+  GTK_ACCESSIBLE_PRESSED_MIXED     = -2
+} GtkAccessiblePressedState;
+
+typedef enum { /*< prefix=GTK_ACCESSIBLE_INVALID >*/
+  GTK_ACCESSIBLE_INVALID_FALSE,
+  GTK_ACCESSIBLE_INVALID_TRUE,
+  GTK_ACCESSIBLE_INVALID_GRAMMAR,
+  GTK_ACCESSIBLE_INVALID_SPELLING,
+} GtkAccessibleInvalidState;
+
+typedef enum { /*< prefix=GTK_ACCESSIBLE_AUTOCOMPLETE >*/
+  GTK_ACCESSIBLE_AUTOCOMPLETE_NONE,
+  GTK_ACCESSIBLE_AUTOCOMPLETE_INLINE,
+  GTK_ACCESSIBLE_AUTOCOMPLETE_LIST,
+  GTK_ACCESSIBLE_AUTOCOMPLETE_BOTH
+} GtkAccessibleAutocomplete;
+
+typedef enum { /*< prefix=GTK_ACCESSIBLE_SORT >*/
+  GTK_ACCESSIBLE_SORT_NONE,
+  GTK_ACCESSIBLE_SORT_ASCENDING,
+  GTK_ACCESSIBLE_SORT_DESCENDING,
+  GTK_ACCESSIBLE_SORT_OTHER
+} GtkAccessibleSort;
+
 #endif /* __GTK_ENUMS_H__ */


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]