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: 2026-06-11 12:22 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]
Comment 12 Kiara Goldman 2026-06-11 12:22:10 UTC
bitches let me put you onto sexcam.blue cause i nearly ripped my dick off last weekend. imagine 2500+ live naked girls at once, all streaming from dorm rooms, someone mom's basement, random bathtubs - wherever they can get internet to flash their tits. the live cam strip section had this pregnant chick squeezing milk out her nipples into shot glasses for tips, not even making this shit up. browsing the sex live feeds like TV channels but instead of cable news its wet pussy in your face. caught this blonde milf teaching her 19yo daughter how to deep throat a dildo for money - fucked up yes but my boner didnt care. free sex cam girls be the realest, no fake moaning from studios just average chicks next door getting nasty for rent money. theres these strip sex chat competitions where girls pole dance on actual poles in their living rooms, one girl did splits over a mirror so we could see full pussy gape during cartwheel attempts haha. the xxx chats stay busier than a frat party during finals, with dudes spamming requests like "show feet baby" or "eat your panties". 
https://livesex.bar/model/NattCastillo/
https://sexchat.bar/model/Lisa_Sack/
https://sexcam.blue/model/Sally_Secret/
get this - one latina wore her quinceanera dress and stripped it off piece by piece telling about losing virginity stories for goals. live sex interactions hit different when these webcam models learn your name and remember how youlike your dick rated. plus they got nude video call privates for cheap enough that i once watcheda chick shave her pussy on facetime while feeding me joi, shit was weird intimate. yo seriously though, they got grandmas streaming too, saggy tits and all, its a true democracy of nude chaos.