expose heading level in acc layer based on outline depth not heading numeric value

NEW
Unassigned

Status

()

5 years ago
2 years ago

People

(Reporter: faulkner.steve, Unassigned)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

5 years ago
Currently the HTML5 outline algorithm [1] is not implemented, I propose implementing and exposing as a DOM method (document.outline()) so developers and 3rd part software such as assistive technology can provide a document outline to users. 

The HTML5 outline algorithm is implemented in conformance checkers:
http://validator.w3.org/nu/ 
https://github.com/validator/

and browser extensions:
https://chrome.google.com/webstore/detail/html5-outliner/afoibpobokebhgfnknfndkgemglggomo?hl=en

[1] http://www.w3.org/html/wg/drafts/html/master/sections.html#outlines
(Reporter)

Comment 1

5 years ago
related User Agent Accessibility Guideline criteria
Provide alternative views
http://www.w3.org/TR/UAAG20/#gl-alternative-views

Comment 2

5 years ago
Some background to this ticket, and how I think it should be repurposed to fix the more immediate issue https://code.google.com/p/chromium/issues/detail?id=365070#c2
(Reporter)

Comment 3

5 years ago
i.e. implement 'heading role, with the aria-level property set to the element's outline depth' as per  
http://www.w3.org/html/wg/drafts/html/master/dom.html#sec-implicit-aria-semantics

Acc API mappings
http://rawgit.com/w3c/html-api-map/master/index.html#el-h1-h6

* MSAA + IAccessible2 *
Role:  IA2_ROLE_HEADING 
Object attributes:  level:<heading_level> 
Interfaces:  IAccessibleText2; IAccessibleHypertext2; 

*ATK*
Role:  ATK_ROLE_HEADING 
Object attributes:  level:<heading_level> 
Interfaces:  AtkText; AtkHypertext  

*AX*
AXRole: AXHeading 
AXSubrole: (nil) 
AXRoleDescription: "heading" 
Properties: Use AXLevel to expose the heading level
Summary: expose output of html5 outline algorithm as a DOM method → expose heading level in acc layer based on outline depth not heading numeric value
(Reporter)

Comment 4

5 years ago
(In reply to steve faulkner from comment #0)
> Currently the HTML5 outline algorithm [1] is not implemented, I propose
> implementing and exposing as a DOM method (document.outline()) so developers
> and 3rd part software such as assistive technology can provide a document
> outline to users. 
> 
Note:

while dom api proposal is wider in scope, it would provide a more robust/useful implementation for acc tools and developers of all stripes.

Not all screen readers access the acc tree exposed via acc APIs, as I understand it chromevox is JS/DOm based, so exposing via MSAA/Ia2/STK/Ax acc APIs only, does not provide the ability for DOM based tools such as chromevox to access the output of a document outline exposed in the acc layer only.
(Reporter)

Comment 5

5 years ago
related HTML spec bug
https://www.w3.org/Bugs/Public/show_bug.cgi?id=25003
You need to log in before you can comment on or make changes to this bug.