GNOME Bugzilla – Bug 653872
New ATK Roles
Last modified: 2011-07-24 21:06:37 UTC
+++ This bug was initially created as a clone of Bug #651343 +++ The following roles were agreed upon as being desirable additions to ATK: * ATK_ROLE_TABLE_ROW * ATK_ROLE_TREE_ITEM * ATK_ROLE_DOCUMENT_SPREADSHEET * ATK_ROLE_DOCUMENT_PRESENTATION * ATK_ROLE_DOCUMENT_TEXT * ATK_ROLE_DOCUMENT_WEB * ATK_ROLE_DOCUMENT_EMAIL * ATK_ROLE_LIST_BOX * ATK_ROLE_GROUPING (a group of widgets, can have a title) * ATK_ROLE_IMAGE_MAP * ATK_ROLE_NOTIFICATION * ATK_ROLE_COMMENT (e.g. OOo/LibreOffice Writer or Calc: Insert->Comment) (End of cloned report) In addition: * ATK_ROLE_INFO_BAR Once these are added to ATK, a corresponding change will need to be made to at-spi2-atk
Created attachment 191169 [details] [review] proposed patch
Comment on attachment 191169 [details] [review] proposed patch This looks okay to commit once the atk change lands. The minimum atk version in configure.ac will also need to be upped. Thanks! >From 7cbbd43ebdf70d4b76cd2aa01e1c48bbe5d81137 Mon Sep 17 00:00:00 2001 >From: Joanmarie Diggs <joanmarie.diggs@gmail.com> >Date: Sat, 2 Jul 2011 15:20:39 -0400 >Subject: [PATCH] Fix for bug 653872 - New ATK Roles > >--- > atk-adaptor/object.c | 15 +++++++++++++++ > common/generated-types.h | 28 +++++++++++++++++++++++++++- > 2 files changed, 42 insertions(+), 1 deletions(-) > >diff --git a/atk-adaptor/object.c b/atk-adaptor/object.c >index 3511682..6795cf7 100644 >--- a/atk-adaptor/object.c >+++ b/atk-adaptor/object.c >@@ -436,6 +436,21 @@ init_role_lookup_table (Accessibility_Role * role_table) > role_table[ATK_ROLE_LINK] = Accessibility_ROLE_LINK; > role_table[ATK_ROLE_INPUT_METHOD_WINDOW] = > Accessibility_ROLE_INPUT_METHOD_WINDOW; >+ role_table[ATK_ROLE_TABLE_ROW] = Accessibility_ROLE_TABLE_ROW; >+ role_table[ATK_ROLE_TREE_ITEM] = Accessibility_ROLE_TREE_ITEM; >+ role_table[ATK_ROLE_DOCUMENT_SPREADSHEET] = >+ Accessibility_ROLE_DOCUMENT_SPREADSHEET; >+ role_table[ATK_ROLE_DOCUMENT_PRESENTATION] = >+ Accessibility_ROLE_DOCUMENT_PRESENTATION; >+ role_table[ATK_ROLE_DOCUMENT_TEXT] = Accessibility_ROLE_DOCUMENT_TEXT; >+ role_table[ATK_ROLE_DOCUMENT_WEB] = Accessibility_ROLE_DOCUMENT_WEB; >+ role_table[ATK_ROLE_DOCUMENT_EMAIL] = Accessibility_ROLE_DOCUMENT_EMAIL; >+ role_table[ATK_ROLE_COMMENT] = Accessibility_ROLE_COMMENT; >+ role_table[ATK_ROLE_LIST_BOX] = Accessibility_ROLE_LIST_BOX; >+ role_table[ATK_ROLE_GROUPING] = Accessibility_ROLE_GROUPING; >+ role_table[ATK_ROLE_IMAGE_MAP] = Accessibility_ROLE_IMAGE_MAP; >+ role_table[ATK_ROLE_NOTIFICATION] = Accessibility_ROLE_NOTIFICATION; >+ role_table[ATK_ROLE_INFO_BAR] = Accessibility_ROLE_INFO_BAR; > return TRUE; > } > >diff --git a/common/generated-types.h b/common/generated-types.h >index 228dffa..28738dc 100644 >--- a/common/generated-types.h >+++ b/common/generated-types.h >@@ -654,6 +654,19 @@ Accessibility_Role: > * @Accessibility_ROLE_FORM: <![CDATA[ The object is a containing instance of document content which has within it components with which the user can interact in order to input information; i.e. the object is a container for pushbuttons, comboboxes, text input fields, and other 'GUI' components. ROLE_FORM should not, in general, be used for toplevel GUI containers or dialogs, but should be reserved for 'GUI' containers which occur within document content, for instance within Web documents, presentations, or text documents. Unlike other GUI containers and dialogs which occur inside application instances, ROLE_FORM containers' components are associated with the current document, rather than the current foreground application or viewer instance. ]]> > * @Accessibility_ROLE_LINK: <![CDATA[ The object is a hypertext anchor, i.e. a "link" in a hypertext document. Such objects are distinct from 'inline' content which may also use the Hypertext/Hyperlink interfaces to indicate the range/location within a text object where an inline or embedded object lies. ]]> > * @Accessibility_ROLE_INPUT_METHOD_WINDOW: <![CDATA[ The object is a window or similar viewport which is used to allow composition or input of a 'complex character', in other words it is an "input method window." ]]> >+ * @Accessibility_ROLE_TABLE_ROW: <![CDATA[A row in a table.]]> >+ * @Accessibility_ROLE_TREE_ITEM: <![CDATA[An object that represents an element of a tree.]]> >+ * @Accessibility_ROLE_DOCUMENT_SPREADSHEET: <![CDATA[A document frame which contains a spreadsheet.]]> >+ * @Accessibility_ROLE_DOCUMENT_PRESENTATION: <![CDATA[A document frame which contains a presentation or slide content.]]> >+ * @Accessibility_ROLE_DOCUMENT_TEXT: <![CDATA[A document frame which contains textual content, such as found in a word processing application.]]> >+ * @Accessibility_ROLE_DOCUMENT_WEB: <![CDATA[A document frame which contains HTML or other markup suitable for display in a web browser.]]> >+ * @Accessibility_ROLE_DOCUMENT_EMAIL: <![CDATA[A document frame which contains email content to be displayed or composed either in plain text or HTML.]]> >+ * @Accessibility_ROLE_COMMENT: <![CDATA[An object found within a document and designed to present a comment, note, or other annotation. In some cases, this object might not be visible until activated.]]> >+ * @Accessibility_ROLE_LIST_BOX: <![CDATA[A non-collapsible list of choices the user can select from.]]> >+ * @Accessibility_ROLE_GROUPING: <![CDATA[A group of related widgets. This group typically has a label.]]> >+ * @Accessibility_ROLE_IMAGE_MAP: <![CDATA[An image map object. Usually a graphic with multiple hotspots, where each hotspot can be activated resulting in the loading of another document or section of a document.]]> >+ * @Accessibility_ROLE_NOTIFICATION: <![CDATA[A transitory object designed to present a message to the user, typically at the desktop level rather than inside a particular application.]]> >+ * @Accessibility_ROLE_INFO_BAR: <![CDATA[An object designed to present a message to the user within an existing window.]]> > * @Accessibility_ROLE_LAST_DEFINED: <![CDATA[ Not a valid role, used for finding end of enumeration. ]]> > * > * Bitfield/set of flags generated from the AT-SPI specification. >@@ -749,6 +762,19 @@ typedef enum { > Accessibility_ROLE_FORM, > Accessibility_ROLE_LINK, > Accessibility_ROLE_INPUT_METHOD_WINDOW, >+ Accessibility_ROLE_TABLE_ROW, >+ Accessibility_ROLE_TREE_ITEM, >+ Accessibility_ROLE_DOCUMENT_SPREADSHEET, >+ Accessibility_ROLE_DOCUMENT_PRESENTATION, >+ Accessibility_ROLE_DOCUMENT_TEXT, >+ Accessibility_ROLE_DOCUMENT_WEB, >+ Accessibility_ROLE_DOCUMENT_EMAIL, >+ Accessibility_ROLE_COMMENT, >+ Accessibility_ROLE_LIST_BOX, >+ Accessibility_ROLE_GROUPING, >+ Accessibility_ROLE_IMAGE_MAP, >+ Accessibility_ROLE_NOTIFICATION, >+ Accessibility_ROLE_INFO_BAR, > Accessibility_ROLE_LAST_DEFINED, > } Accessibility_Role; > >@@ -757,7 +783,7 @@ typedef enum { > * > * 1 higher than the highest valid value of #Accessibility_Role. > */ >-#define NUM_ACCESSIBILITY_ROLES (90+1) >+#define NUM_ACCESSIBILITY_ROLES (103+1) > > > #ifdef __cplusplus >-- >1.7.6 >
Created attachment 192575 [details] [review] proposed patch - includes ATK version bump Piñeiro just did the ATK release (version 2.1.0). This patch includes the configure.ac ATK version bump.
Comment on attachment 192575 [details] [review] proposed patch - includes ATK version bump >From 8e44a778eac842dd534c41efca791d390fe2a0f2 Mon Sep 17 00:00:00 2001 >From: Joanmarie Diggs <joanmarie.diggs@gmail.com> >Date: Sat, 2 Jul 2011 15:20:39 -0400 >Subject: [PATCH] Fix for bug 653872 - New ATK Roles > >--- > atk-adaptor/object.c | 15 +++++++++++++++ > common/generated-types.h | 28 +++++++++++++++++++++++++++- > configure.ac | 2 +- > 3 files changed, 43 insertions(+), 2 deletions(-) > >diff --git a/atk-adaptor/object.c b/atk-adaptor/object.c >index 3511682..6795cf7 100644 >--- a/atk-adaptor/object.c >+++ b/atk-adaptor/object.c >@@ -436,6 +436,21 @@ init_role_lookup_table (Accessibility_Role * role_table) > role_table[ATK_ROLE_LINK] = Accessibility_ROLE_LINK; > role_table[ATK_ROLE_INPUT_METHOD_WINDOW] = > Accessibility_ROLE_INPUT_METHOD_WINDOW; >+ role_table[ATK_ROLE_TABLE_ROW] = Accessibility_ROLE_TABLE_ROW; >+ role_table[ATK_ROLE_TREE_ITEM] = Accessibility_ROLE_TREE_ITEM; >+ role_table[ATK_ROLE_DOCUMENT_SPREADSHEET] = >+ Accessibility_ROLE_DOCUMENT_SPREADSHEET; >+ role_table[ATK_ROLE_DOCUMENT_PRESENTATION] = >+ Accessibility_ROLE_DOCUMENT_PRESENTATION; >+ role_table[ATK_ROLE_DOCUMENT_TEXT] = Accessibility_ROLE_DOCUMENT_TEXT; >+ role_table[ATK_ROLE_DOCUMENT_WEB] = Accessibility_ROLE_DOCUMENT_WEB; >+ role_table[ATK_ROLE_DOCUMENT_EMAIL] = Accessibility_ROLE_DOCUMENT_EMAIL; >+ role_table[ATK_ROLE_COMMENT] = Accessibility_ROLE_COMMENT; >+ role_table[ATK_ROLE_LIST_BOX] = Accessibility_ROLE_LIST_BOX; >+ role_table[ATK_ROLE_GROUPING] = Accessibility_ROLE_GROUPING; >+ role_table[ATK_ROLE_IMAGE_MAP] = Accessibility_ROLE_IMAGE_MAP; >+ role_table[ATK_ROLE_NOTIFICATION] = Accessibility_ROLE_NOTIFICATION; >+ role_table[ATK_ROLE_INFO_BAR] = Accessibility_ROLE_INFO_BAR; > return TRUE; > } > >diff --git a/common/generated-types.h b/common/generated-types.h >index 228dffa..28738dc 100644 >--- a/common/generated-types.h >+++ b/common/generated-types.h >@@ -654,6 +654,19 @@ Accessibility_Role: > * @Accessibility_ROLE_FORM: <![CDATA[ The object is a containing instance of document content which has within it components with which the user can interact in order to input information; i.e. the object is a container for pushbuttons, comboboxes, text input fields, and other 'GUI' components. ROLE_FORM should not, in general, be used for toplevel GUI containers or dialogs, but should be reserved for 'GUI' containers which occur within document content, for instance within Web documents, presentations, or text documents. Unlike other GUI containers and dialogs which occur inside application instances, ROLE_FORM containers' components are associated with the current document, rather than the current foreground application or viewer instance. ]]> > * @Accessibility_ROLE_LINK: <![CDATA[ The object is a hypertext anchor, i.e. a "link" in a hypertext document. Such objects are distinct from 'inline' content which may also use the Hypertext/Hyperlink interfaces to indicate the range/location within a text object where an inline or embedded object lies. ]]> > * @Accessibility_ROLE_INPUT_METHOD_WINDOW: <![CDATA[ The object is a window or similar viewport which is used to allow composition or input of a 'complex character', in other words it is an "input method window." ]]> >+ * @Accessibility_ROLE_TABLE_ROW: <![CDATA[A row in a table.]]> >+ * @Accessibility_ROLE_TREE_ITEM: <![CDATA[An object that represents an element of a tree.]]> >+ * @Accessibility_ROLE_DOCUMENT_SPREADSHEET: <![CDATA[A document frame which contains a spreadsheet.]]> >+ * @Accessibility_ROLE_DOCUMENT_PRESENTATION: <![CDATA[A document frame which contains a presentation or slide content.]]> >+ * @Accessibility_ROLE_DOCUMENT_TEXT: <![CDATA[A document frame which contains textual content, such as found in a word processing application.]]> >+ * @Accessibility_ROLE_DOCUMENT_WEB: <![CDATA[A document frame which contains HTML or other markup suitable for display in a web browser.]]> >+ * @Accessibility_ROLE_DOCUMENT_EMAIL: <![CDATA[A document frame which contains email content to be displayed or composed either in plain text or HTML.]]> >+ * @Accessibility_ROLE_COMMENT: <![CDATA[An object found within a document and designed to present a comment, note, or other annotation. In some cases, this object might not be visible until activated.]]> >+ * @Accessibility_ROLE_LIST_BOX: <![CDATA[A non-collapsible list of choices the user can select from.]]> >+ * @Accessibility_ROLE_GROUPING: <![CDATA[A group of related widgets. This group typically has a label.]]> >+ * @Accessibility_ROLE_IMAGE_MAP: <![CDATA[An image map object. Usually a graphic with multiple hotspots, where each hotspot can be activated resulting in the loading of another document or section of a document.]]> >+ * @Accessibility_ROLE_NOTIFICATION: <![CDATA[A transitory object designed to present a message to the user, typically at the desktop level rather than inside a particular application.]]> >+ * @Accessibility_ROLE_INFO_BAR: <![CDATA[An object designed to present a message to the user within an existing window.]]> > * @Accessibility_ROLE_LAST_DEFINED: <![CDATA[ Not a valid role, used for finding end of enumeration. ]]> > * > * Bitfield/set of flags generated from the AT-SPI specification. >@@ -749,6 +762,19 @@ typedef enum { > Accessibility_ROLE_FORM, > Accessibility_ROLE_LINK, > Accessibility_ROLE_INPUT_METHOD_WINDOW, >+ Accessibility_ROLE_TABLE_ROW, >+ Accessibility_ROLE_TREE_ITEM, >+ Accessibility_ROLE_DOCUMENT_SPREADSHEET, >+ Accessibility_ROLE_DOCUMENT_PRESENTATION, >+ Accessibility_ROLE_DOCUMENT_TEXT, >+ Accessibility_ROLE_DOCUMENT_WEB, >+ Accessibility_ROLE_DOCUMENT_EMAIL, >+ Accessibility_ROLE_COMMENT, >+ Accessibility_ROLE_LIST_BOX, >+ Accessibility_ROLE_GROUPING, >+ Accessibility_ROLE_IMAGE_MAP, >+ Accessibility_ROLE_NOTIFICATION, >+ Accessibility_ROLE_INFO_BAR, > Accessibility_ROLE_LAST_DEFINED, > } Accessibility_Role; > >@@ -757,7 +783,7 @@ typedef enum { > * > * 1 higher than the highest valid value of #Accessibility_Role. > */ >-#define NUM_ACCESSIBILITY_ROLES (90+1) >+#define NUM_ACCESSIBILITY_ROLES (103+1) > > > #ifdef __cplusplus >diff --git a/configure.ac b/configure.ac >index 1167b7c..45492ce 100644 >--- a/configure.ac >+++ b/configure.ac >@@ -51,7 +51,7 @@ PKG_CHECK_MODULES(GMODULE, [gmodule-2.0 >= 2.0.0]) > AC_SUBST(GMODULE_LIBS) > AC_SUBST(GMODULE_CFLAGS) > >-PKG_CHECK_MODULES(ATK, [atk >= 1.29.3]) >+PKG_CHECK_MODULES(ATK, [atk >= 2.1.0]) > AC_SUBST(ATK_LIBS) > AC_SUBST(ATK_CFLAGS) > >-- >1.7.6 >
Comment on attachment 192575 [details] [review] proposed patch - includes ATK version bump http://git.gnome.org/browse/at-spi2-atk/commit/?id=16ea290997662ea55f210f24b5dd9295e7c6284f