ARIA: Navigation Role - Accessibility 编辑
The navigation
landmark role is used to identify major groups of links used for navigating through a website or page content.
<div role="navigation" aria-label="Main">
<!-- list of links to main website locations -->
</div>
This is a website's main navigation.
Description
The navigation
role is a landmark role. Landmark roles provide a way to identify the organization and structure of a web page. By classifying and labeling sections of a page, structural information conveyed visually through layout is represented programmatically. Screen readers use landmark roles to provide keyboard navigation to important sections of a page. Like the HTML <nav> element, navigation landmarks provide a way to identify groups (e.g. lists) of links that are intended to be used for website or page content navigation. If a page includes more than one navigation landmark, each should have a unique label. If two or more navigational landmark on a page have the same set of links, use the same label for each.
It is preferable to use the HTML5 <nav>
element to define a navigation landmark. If the HTML5 nav element technique is not being used, use a role="navigation"
attribute to define a navigation landmark.
Using the <nav>
element will automatically communicate a section has a role of navigation
. Developers should always prefer using the correct semantic HTML element over using ARIA.
Associated WAI-ARIA Roles, States, and Properties
- aria-label
- A brief description of the purpose of the navigation, omitting the term "navigation", as the screen reader will read both the role and the contents of the label.
Keyboard Interactions
None.
Required JavaScript features
None.
Examples
<div role="navigation" aria-label="Customer service"> <ul> <li><a href="#">Help</a></li> <li><a href="#">Order tracking</li> <li><a href="#">Shipping & Delivery</a></li> <li><a href="#">Returns</a></li> <li><a href="#">Contact us</a></li> <li><a href="#">Find a store</a></li> </ul> </div>
Accessibility concerns
Landmark roles are intended to be used sparingly, to identify larger overall sections of the document. Using too many landmark roles can create "noise" in screen readers, making it difficult to understand the overall layout of the page.
Best practices
Prefer HTML
Using the <nav>
element will automatically communicate a section has a role of navigation
. If at all possible, prefer using it instead.
Labeling landmarks
Multiple landmarks
If there is more than one navigation
landmark role or <nav>
element in a document, provide a label for each landmark. This label will allow an assitive technology user to be able to quickly understand the purpose of each landmark.
<div id="main-nav" role="navigation" aria-label="Main">
<!-- content -->
</div>
...
<nav id="footer-nav" aria-label="Footer">
<!-- content -->
</nav>
Repeated landmarks
If a navigation
landmark role or <nav>
element in a document is repeated in a document, and both landmarks have identical content, use the same label for each landmark. An example of this would be repeating the main navigation at the top and bottom of the page.
<header>
<nav id="main-nav" aria-label="Main">
<!-- list of links to main website locations -->
</nav>
</header>
...
<footer>
<nav id="footer-nav" aria-label="Main">
<!-- list of links to main website locations -->
</nav>
</footer>
Redundant descriptions
Screen readers will announce the type of role the landmark is. Because of this, you do not need to describe what the landmark is in its label. For example, a declaration of role="navigation"
with an of aria-label="Primary navigation"
may be announced redundantly as, "primary navigation navigation".
Added benefits
Certain technologies such as browser extensions can generate lists of all landmark roles present on a page, allowing non-screen reader users to also quickly identify and navigate to large sections of the document.
Specifications
Screen reader support
TBD
See also
- <nav>: The Navigation section element
- navigation (role): Accessible Rich Internet Applications (WAI-ARIA) 1.1
- Using HTML sections and outlines
- Landmark roles: Using ARIA: Roles, States, and Properties
- Using WAI-ARIA Landmarks – 2013 | The Paciello Group
- Accessible Landmarks | scottohara.me
- Semantic navigation with the nav element | HTML5 Doctor
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论