Bug 172817 - AX: Feature request: Landmark navigation
Summary: AX: Feature request: Landmark navigation
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: Accessibility (show other bugs)
Version: WebKit Nightly Build
Hardware: All All
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
Depends on: 146930
Blocks:
  Show dependency treegraph
 
Reported: 2017-06-01 08:59 PDT by Carolyn MacLeod
Modified: 2018-11-12 11:39 PST (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Carolyn MacLeod 2017-06-01 08:59:31 PDT
I would like a feature for navigating to "landmark regions" using the keyboard; _without_ using a screen reader.

Landmark regions can be defined by the page author by either using ARIA landmark roles (http://w3c.github.io/aria/aria/aria.html#landmark_roles), or HTML5 elements that default to having landmark roles (see summary, below, for a list of these elements).

Note that the generic landmark role="region" - and its corresponding html "section" element - must have a label before it is considered a true landmark, whereas nav, aside, etc do not technically require a label to be a landmark (but they really ought to have one, particularly if there are more than one on a page).

Headings (h1, h2...) should also be navigable because they can implicitly define a section, however it would be easiest to treat implicitly-defined sections separately from explicitly-defined sections because unfortunately (without the guidance of a working outline algorithm) they can conflict.

Summary of roles and elements that should be navigable: 
- landmark roles: banner, complementary, contentinfo, form, main, navigation, region, search 
- html elements whose default role is a landmark: header, aside, footer, form, main, nav, section 
- heading content that may define an implied section: h1, h2, h3, h4, h5, h6

Some links:
Here's a really nice landmark and heading "explainer" page: https://www.w3.org/TR/wai-aria-practices/examples/landmarks/index.html

Here's a few little test sites: 
http://html5accessibility.com/tests/roles-land.html (note that "application" is no longer a landmark) 
http://html5accessibility.com/tests/structural-elements.html (note that "article" is not a landmark)
http://pauljadam.com/demos/landmarks.html

Here's the same feature request on other platforms (plus background discussion):
Edge: https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggestions/19436788-landmark-navigation
Chrome: https://bugs.chromium.org/p/chromium/issues/detail?id=704698
Firefox: https://bugzilla.mozilla.org/show_bug.cgi?id=670928

Note that there's already an excellent Landmarks extension: https://www.paciellogroup.com/blog/2017/05/improving-access-to-landmark-navigation/
However I still think that having this type of functionality native in the browsers would enable more users to discover it, use it, like it, and then _demand_ it, which has the potential to make more web devs put more thought into the semantic layout of their pages... which would benefit everyone.
Comment 1 Radar WebKit Bug Importer 2017-06-01 09:00:16 PDT
<rdar://problem/32512079>