Bug 39944 - ACCESSIBILITY: Implement new ATK Roles
Summary: ACCESSIBILITY: Implement new ATK Roles
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: LibreOffice (show other bugs)
Version:
(earliest affected)
Inherited From OOo
Hardware: Other Linux (All)
: medium enhancement
Assignee: Jacobo Aragunde Pérez
URL:
Whiteboard: target:4.3.0 target:4.2.5 target:4.4....
Keywords: difficultyInteresting, easyHack, skillCpp
Depends on:
Blocks: a11y, Accessibility 75191
  Show dependency treegraph
 
Reported: 2011-08-08 16:23 UTC by Joanmarie Diggs
Modified: 2016-10-25 19:41 UTC (History)
10 users (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Joanmarie Diggs 2011-08-08 16:23:00 UTC
As stated in https://bugzilla.gnome.org/show_bug.cgi?id=651343, a number of new ATK Roles are highly desired (and subsequently have been added to ATK and AT-SPI2):

> * 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)

Many of the above apply to LibreOffice. Implementing them (along with the other ATK_ROLE bugs blocking bug 36549) is one of the things needed in order for us to be able to properly implement structural navigation in Orca.
Comment 1 Rainer Bielefeld Retired 2011-09-21 10:07:42 UTC
No Master Bug, limitation has always been that way.
No Regression
Comment 2 Björn Michaelsen 2011-12-23 12:23:31 UTC Comment hidden (obsolete)
Comment 3 sasha.libreoffice 2012-03-01 05:59:46 UTC
Thanks for bugreport
Please, verify: in last version of LibreOffice problem remains?
Comment 4 Florian Reisinger 2012-08-14 13:59:19 UTC Comment hidden (obsolete)
Comment 5 Florian Reisinger 2012-08-14 14:00:31 UTC Comment hidden (obsolete)
Comment 6 Florian Reisinger 2012-08-14 14:05:12 UTC Comment hidden (obsolete)
Comment 7 Florian Reisinger 2012-08-14 14:07:15 UTC Comment hidden (obsolete)
Comment 8 Joanmarie Diggs 2012-08-14 14:31:50 UTC
I don't know how I missed the bugmail, but this was never addressed.
Comment 9 Florian Reisinger 2012-08-15 11:33:19 UTC
Would you please answer questio of comment 2
Comment 10 Michael Meeks 2012-08-15 11:48:01 UTC
Hi Joanmarie ! great to see you at GUADEC :-)

So - implementing new roles in LibreOffice is reasonably easy; let me give you some code pointers; if you see the array here:

http://cgit.freedesktop.org/libreoffice/core/tree/vcl/unx/gtk/a11y/atkwrapper.cxx#n195

this maps the UNO a11y roles to ATK ones; in some cases we loose information as you can see; patches for that much appreciated. The equivalent UNO a11y roles are here:

http://cgit.freedesktop.org/libreoffice/core/tree/offapi/com/sun/star/accessibility/AccessibleRole.idl#n57

The first step might be to improve this mapping with a simple patch; if that doesn't go all the way and more annotation is needed a quick grep for AccessibleRole:: should help.

Is that helpful ? :-) patches most gratefully received.
Comment 11 Björn Michaelsen 2013-10-04 18:46:28 UTC
adding LibreOffice developer list as CC to unresolved EasyHacks for better visibility.

see e.g. http://nabble.documentfoundation.org/minutes-of-ESC-call-td4076214.html for details
Comment 12 Robinson Tryon (qubit) 2013-10-19 00:26:35 UTC Comment hidden (obsolete)
Comment 13 Jacobo Aragunde Pérez 2014-02-03 14:43:51 UTC
With some changes to atkwrapper.cxx, we would adopt some new roles:

* UNO role GROUP_BOX was not mapped to any ATK role, we could use ATK_ROLE_GROUPING.

* UNO role COMMENT was mapped to ATK_ROLE_SCROLL_PANE, we could replace it with ATK_ROLE_COMMENT.

For the ATK_ROLE_DOCUMENT_* roles, we would have to create new UNO roles because it only has the DOCUMENT role.
Comment 14 Jacobo Aragunde Pérez 2014-02-04 12:43:44 UTC
Pushed the patch for DOCUMENT_* roles to code review:

https://gerrit.libreoffice.org/7847

I have scheduled a bot build to run the tests in MacOS and Windows. Once built and pushed to master, we would be able to use the daily builds to run the application in those systems and check if the document roles are behaving like they used to.
Comment 15 Commit Notification 2014-02-04 13:09:44 UTC
Jacobo Aragunde Perez committed a patch related to this issue.
It has been pushed to "master":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=2bb87dd6596f8e961f5618d8e7686fa12c64e2cf

fdo#39944: Add DOCUMENT_* accessibility UNO roles



The patch should be included in the daily builds available at
http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
http://wiki.documentfoundation.org/Testing_Daily_Builds
Affected users are encouraged to test the fix and report feedback.
Comment 16 V Stuart Foote 2014-02-04 14:03:43 UTC
adding to the meta bugs for OS X and Windows -- these additional UNO API role associations will need QA and functional testing there as well as for the ATK implementation.
Comment 17 Commit Notification 2014-02-05 01:11:09 UTC
Jacobo Aragunde Perez committed a patch related to this issue.
It has been pushed to "master":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=c482da1cf440beb1464b9ae1b992e3d0e7a4ab8d

fdo#39944: fallback for DOCUMENT_* roles in ATK < 2.1.0



The patch should be included in the daily builds available at
http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
http://wiki.documentfoundation.org/Testing_Daily_Builds
Affected users are encouraged to test the fix and report feedback.
Comment 18 Commit Notification 2014-02-06 09:46:22 UTC
Jacobo Aragunde Perez committed a patch related to this issue.
It has been pushed to "master":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=e031c8ae1ac046fcf165213d80e83311d80a71f5

fdo#39944: improve mapping between ATK and UNO roles



The patch should be included in the daily builds available at
http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
http://wiki.documentfoundation.org/Testing_Daily_Builds
Affected users are encouraged to test the fix and report feedback.
Comment 19 Commit Notification 2014-05-07 12:35:41 UTC
Jacobo Aragunde Perez committed a patch related to this issue.
It has been pushed to "libreoffice-4-2":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=67dab7c4b851573747e41def560e26dacdb8ceac&h=libreoffice-4-2

fdo#39944: improve mapping between ATK and UNO roles


It will be available in LibreOffice 4.2.5.

The patch should be included in the daily builds available at
http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
http://wiki.documentfoundation.org/Testing_Daily_Builds
Affected users are encouraged to test the fix and report feedback.
Comment 20 Jacobo Aragunde Pérez 2014-07-03 18:26:27 UTC
Fixed mapping for EDIT_BAR, EMBEDDED_OBJECT and HYPER_LINK roles and opened a bug in ATK about the five roles that still use atk_register_role:

https://bugzilla.gnome.org/show_bug.cgi?id=732702
Comment 21 Commit Notification 2014-07-03 18:27:53 UTC
Jacobo Aragunde Perez committed a patch related to this issue.
It has been pushed to "master":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=7c37cd7bb26b91bda5e57d7bd0cecdbc9d1ebb22

fdo#39944: Fix mapping for some a11y roles to ATK



The patch should be included in the daily builds available at
http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
http://wiki.documentfoundation.org/Testing_Daily_Builds
Affected users are encouraged to test the fix and report feedback.
Comment 22 Commit Notification 2014-07-04 09:04:04 UTC
Jacobo Aragunde Perez committed a patch related to this issue.
It has been pushed to "libreoffice-4-2":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=47d7fb9bf61166cf8fadaa89a56183623e61f963&h=libreoffice-4-2

fdo#39944: Fix mapping for some a11y roles to ATK


It will be available in LibreOffice 4.2.6.

The patch should be included in the daily builds available at
http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
http://wiki.documentfoundation.org/Testing_Daily_Builds
Affected users are encouraged to test the fix and report feedback.
Comment 23 Commit Notification 2014-07-04 09:04:18 UTC
Jacobo Aragunde Perez committed a patch related to this issue.
It has been pushed to "libreoffice-4-3":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=2c7786a6bcb0b2628fce8fb2e3cd51fb8f4304fc&h=libreoffice-4-3

fdo#39944: Fix mapping for some a11y roles to ATK


It will be available in LibreOffice 4.3.1.

The patch should be included in the daily builds available at
http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
http://wiki.documentfoundation.org/Testing_Daily_Builds
Affected users are encouraged to test the fix and report feedback.
Comment 24 Commit Notification 2014-07-07 11:13:29 UTC
Jacobo Aragunde Perez committed a patch related to this issue.
It has been pushed to "libreoffice-4-3-0":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=2a356a1a3fb89fb737ad02d7f864e521cb954a8a&h=libreoffice-4-3-0

fdo#39944: Fix mapping for some a11y roles to ATK


It will be available already in LibreOffice 4.3.0.

The patch should be included in the daily builds available at
http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
http://wiki.documentfoundation.org/Testing_Daily_Builds
Affected users are encouraged to test the fix and report feedback.
Comment 25 Robinson Tryon (qubit) 2015-12-14 06:59:04 UTC Comment hidden (obsolete)
Comment 26 Commit Notification 2015-12-28 11:01:10 UTC
pasqual milvaques committed a patch related to this issue.
It has been pushed to "master":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=4c4f096a81e1643646f72cab17fb94610a346961

tdf#39944: Fix mapping additional a11y roles to ATK

It will be available in 5.2.0.

The patch should be included in the daily builds available at
http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
http://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 27 Jacobo Aragunde Pérez 2015-12-28 11:19:07 UTC
Cherry-picked for 5.1, reviews welcome:

  https://gerrit.libreoffice.org/#/c/20985/

When this is merged, we can consider this old task finally done :)
Comment 28 Commit Notification 2016-01-04 17:07:10 UTC
pasqual milvaques committed a patch related to this issue.
It has been pushed to "libreoffice-5-1":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=fe2c3a01f55afd48149ff801b0f1acec7a7f6856&h=libreoffice-5-1

tdf#39944: Fix mapping additional a11y roles to ATK

It will be available in 5.1.0.2.

The patch should be included in the daily builds available at
http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
http://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 29 Robinson Tryon (qubit) 2016-02-18 16:37:08 UTC Comment hidden (obsolete)