Bug 84102 - Expose the level of headings to assistive technologies via object attribute
Summary: Expose the level of headings to assistive technologies via object attribute
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: LibreOffice (show other bugs)
Version:
(earliest affected)
4.3.0.4 release
Hardware: Other Linux (All)
: medium enhancement
Assignee: Jacobo Aragunde Pérez
URL:
Whiteboard: target:4.5.0 target:4.4.2
Keywords: accessibility
Depends on:
Blocks: a11y-Linux
  Show dependency treegraph
 
Reported: 2014-09-19 19:47 UTC by Joanmarie Diggs
Modified: 2015-12-18 09:30 UTC (History)
3 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 2014-09-19 19:47:32 UTC
LibreOffice paragraphs which are formatted as headings now expose the accessible role of "heading" (thanks!). The level (1, 2, 3, etc.) does not seem to be exposed, however.

Sadly this is one of those poorly-/un-documented expectations (sorry!). But the convention that has emerged, at least for ATK, and which is implemented by Gecko and WebKitGtk is to expose the level via an object attribute. The name string is "level" and the value string is the numeric level. See, for instance [1].

On a related note, this convention might work for the Windows ATs as well. Gecko tends to expose things fairly similarly to both platforms, so my guess is that NVDA is already looking at object attributes for heading levels. But just in case I'm CCing James Teh.

[1] http://trac.webkit.org/browser/trunk/Source/WebCore/accessibility/atk/WebKitAccessibleWrapperAtk.cpp#L531
Comment 1 James Teh 2014-09-25 01:43:55 UTC
In OpenOffice in Windows, the heading level is already exposed using the "heading-level" attribute on the heading object. This should probably be "level" to be consistent with other implementations, but that would not be backwards compatible for existing Windows ATs. I see that the IA2 object attributes spec doesn't document the "level" attribute either. <sigh>

I'm not sure about LibreOffice, but i assume the IA2 implementation hasn't been changed too much from OpenOffice, so the situation should be the same.
Comment 2 Robinson Tryon (qubit) 2014-12-15 03:50:51 UTC
(In reply to James Teh from comment #1)
> In OpenOffice [and probably LO] in Windows, 
> [...it's complicated ...]

Okay, this bug will just focus on one OS.

Sounds like a reasonable improvement.
Severity -> Enhancement
Whiteboard: a11y
Status -> NEW
Comment 3 Commit Notification 2015-02-05 13:09:25 UTC
Jacobo Aragunde Pérez committed a patch related to this issue.
It has been pushed to "master":

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

tdf#84102: Expose XAccessibleExtendedAttributes through ATK

It will be available in 4.5.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 4 Jacobo Aragunde Pérez 2015-02-05 13:20:45 UTC
The patch above exposes the same attributes available to Windows, in this case "heading-level". If we want "level", we can:

* Add it in addition to "heading-level", and have two differently-named attributes representing the same thing.

* Rename "heading-level" to "level".

Are existing ATs in Windows using "heading-level"?
Comment 5 James Teh 2015-02-05 23:07:02 UTC
(In reply to Jacobo Aragunde Pérez from comment #4)
> Are existing ATs in Windows using "heading-level"?
Unfortunately yes. This is what happens when standards aren't followed/decided in the first place. :(

Looking at the code, NVDA will actually cope with both "heading-level" and "level" in this case. However, i can't speak for the other ATs.
Comment 6 Jacobo Aragunde Pérez 2015-03-06 15:36:47 UTC
Okay, I will just add the 'level' attribute in addition to 'heading-level' with the same value. It's cheap and doesn't break anything.
Comment 7 Commit Notification 2015-03-09 09:31:51 UTC
Jacobo Aragunde Pérez committed a patch related to this issue.
It has been pushed to "master":

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

tdf#84102: Expose duplicated "level" accessible attribute.

It will be available in 4.5.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 8 Jacobo Aragunde Pérez 2015-03-09 09:39:10 UTC
This should be resolved now. I've also sent the patches to 4.4 branch, they are waiting for review here:

  https://gerrit.libreoffice.org/14807
  https://gerrit.libreoffice.org/14808
Comment 9 Commit Notification 2015-03-09 13:22:14 UTC
Jacobo Aragunde Pérez committed a patch related to this issue.
It has been pushed to "libreoffice-4-4":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=89446eb5ae51b2004fb86f7af5be58754ece8fb3&h=libreoffice-4-4

tdf#84102: Expose XAccessibleExtendedAttributes through ATK

It will be available in 4.4.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 10 Commit Notification 2015-03-10 15:00:29 UTC
Jacobo Aragunde Pérez committed a patch related to this issue.
It has been pushed to "libreoffice-4-4":

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

tdf#84102: Expose duplicated "level" accessible attribute.

It will be available in 4.4.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 11 Robinson Tryon (qubit) 2015-12-18 09:30:20 UTC
Migrating Whiteboard tags to Keywords: (a11y -> accessibility)
[NinjaEdit]