ARIA: 导航landmark角色
landmark是一个页面的重要子部分。landmark角色是用于内容区域的ARIA角色值的抽象超类,这些区域足够重要,用户很可能会想要直接导航到它们。
注意: landmark角色是一个抽象角色。此处包含它是为了文档的完整性。Web作者不应使用它。
描述
landmark是一个抽象角色,用于表示一个内容区域,该区域足够重要,用户很可能会想要轻松地导航到该区域,并将其包含在页面的动态生成的摘要中。Landmarks允许辅助技术快速导航和查找内容。
要创建landmark角色,请使用语义元素(如<section>、<nav>或<main>)来定义内容的用途,或者添加一个作为landmark角色子类的ARIA角色,如role="banner"、role="complementary"或role="region"。不要使用role="landmark"。
每个具体的landmark角色都有其对应的HTML语义元素
| ARIA角色 | HTML 元素 |
|---|---|
banner |
<header> |
complementary |
<aside> |
contentinfo |
<footer> |
form |
<form> |
main |
<main> |
navigation |
<nav> |
region |
<section> |
search |
<search> |
应提供一个可见的标签,使用aria-labelledby进行引用。如有必要,可以使用aria-label提供简短、描述性的标签。
对于屏幕阅读器用户来说,添加landmark角色可以有效地为屏幕阅读器用户创建“跳过链接”,但不能替代页面内部导航,因为landmark角色并未以其他方式显示。
最佳实践
不要使用role="landmark";相反,应根据需要使用子类landmark角色,或者尽可能使用语义HTML。尽管不再需要,但为了兼容旧浏览器,将子类landmark角色与相关的语义元素一起冗余包含被认为是良好的做法。这比在非语义元素(如<div>)上使用landmark角色要好,但请至少使用role或语义元素之一来创建landmarks。否则,屏幕阅读器用户将更难导航您的内容。
规范
| 规范 |
|---|
| 无障碍富互联网应用程序 (WAI-ARIA) # landmark |