Bug 146930 - AX: HTML native elements (header, footer, main, aside, nav) should work the same as ARIA landmarks, sometimes they don't
Summary: AX: HTML native elements (header, footer, main, aside, nav) should work the ...
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: Accessibility (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
Depends on:
Blocks: 172817
  Show dependency treegraph
 
Reported: 2015-07-14 05:00 PDT by Steve Faulkner
Modified: 2018-11-12 11:35 PST (History)
7 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Steve Faulkner 2015-07-14 05:00:34 PDT
While Native HTML elements that map to ARIA landmark roles have the correct subrole mapping,  In VoiceOver only a subset of native landmark elements are included in the webrotor. 

Using this test page: https://rawgit.com/stevefaulkner/HTML5accessibility/master/tests/structural-elements.html


In latest Safari (8) only banner, complementary and navigation are recognised/listed in the landmarks rotor in VO.

In latest webkit (Version 8.0.6 (10600.6.3, r186796)) banner, complementary main and navigation are listed in the landmarks rotor in VO.

footer is listed in neither.

Note that when navigation through the content using VO, all the native elements are recognised as landmarks, its only in the rotor where the issue arises.

Meanwhile on this test page http://www.html5accessibility.com/tests/structure.html

In both latest safari and webkit:  banner, complementary main and navigation are listed in the landmarks rotor in VO.

footer is listed in neither.

Note that when navigation through the content using VO, all the native elements are recognised as landmarks, its only in the rotor where the issue arises.

I cannot find any difference in the acc tree in webkit/safari between elements with landmark roles explicitly added or native landmarks, apart from footer which has a different AXDescription: "footer" vs "content information", thus it is expected that VO will treat them the same as it only looks at the acc tree.
Comment 1 Radar WebKit Bug Importer 2015-07-14 05:00:55 PDT
<rdar://problem/21812293>
Comment 2 Radar WebKit Bug Importer 2015-07-14 05:02:05 PDT
<rdar://problem/21812303>
Comment 3 Carolyn MacLeod 2018-11-12 11:35:25 PST
Tried this again in Safari 11.1 and Chrome 70.0.3538.102
on macOS 10.13.6

In both browsers, VoiceOver reads the following HTML elements:
   header, nav, main, aside, section with label
   ... but not footer

Seems like it's a VoiceOver bug, because it happens in both browsers.
It's probably something super-simple to fix, because VO *does* recognize the contentinfo role. It's just not reading the footer element (which has an implicit role of contentinfo).

In case it's helpful, here's another good test page (click the "Show Landmarks" button for a nice overview of the page): http://w3c.github.io/aria-practices/examples/landmarks/index.html