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

另见