After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 653872 - New ATK Roles
New ATK Roles
Status: RESOLVED FIXED
Product: at-spi
Classification: Platform
Component: at-spi2-atk
unspecified
Other All
: Normal enhancement
: ---
Assigned To: Joanmarie Diggs (IRC: joanie)
Depends on: 651343
Blocks: 653874
 
 
Reported: 2011-07-02 19:23 UTC by Joanmarie Diggs (IRC: joanie)
Modified: 2011-07-24 21:06 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
proposed patch (6.05 KB, patch)
2011-07-02 22:03 UTC, Joanmarie Diggs (IRC: joanie)
none Details | Review
proposed patch - includes ATK version bump (6.43 KB, patch)
2011-07-24 19:57 UTC, Joanmarie Diggs (IRC: joanie)
committed Details | Review

Description Joanmarie Diggs (IRC: joanie) 2011-07-02 19:23:35 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
Comment 1 Joanmarie Diggs (IRC: joanie) 2011-07-02 22:03:55 UTC
Created attachment 191169 [details] [review]
proposed patch
Comment 2 Mike Gorse 2011-07-02 22:54:11 UTC
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
>
Comment 3 Joanmarie Diggs (IRC: joanie) 2011-07-24 19:57:42 UTC
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 4 Mike Gorse 2011-07-24 20:30:27 UTC
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 5 Joanmarie Diggs (IRC: joanie) 2011-07-24 21:06:12 UTC
Comment on attachment 192575 [details] [review]
proposed patch - includes ATK version bump

http://git.gnome.org/browse/at-spi2-atk/commit/?id=16ea290997662ea55f210f24b5dd9295e7c6284f