ARIA:banner 角色
banner
角色用于定义全局站点页眉,通常包括徽标、公司名称、搜索功能,以及可能包含全局导航或标语。它通常位于页面顶部。
默认情况下,HTML 的 <header>
元素与 banner
路标具有相同的含义,除非它是 <aside>
、<article>
、<main>
、<nav>
或 <section>
的后代,此时 <header>
公开 generic
角色,而不是站点范围的 banner 等价物。
描述
banner
路标角色会覆盖应用于其上的容器元素的隐式 ARIA 角色。它应保留用于通常位于每个页面顶部的全局重复站点范围内容。
banner 通常包括徽标或公司标识,或者可能是特定于站点的搜索工具,并且通常是您的营销团队所说的网站的“页眉”或“顶部 banner”。如果 header
元素 技术未用于该 banner,则应使用 role="banner"
声明来为辅助技术定义 banner 路标。
如果 header
元素是 body
元素 的后代,并且未嵌套在 article
、aside
、main
、nav
或 section
子部分中,则辅助技术可以将页面的 header
元素识别为 banner
。
每个页面可能都有一个 banner
路标,但每个页面通常应仅限于一个具有 banner 角色的元素。在包含嵌套 document
和/或 application
角色的页面中,每个嵌套的 document
或 application
角色也可能有一个 banner
路标。如果页面包含多个 banner
路标,则每个路标都应具有唯一的可访问名称。
关联的 ARIA 角色、状态和属性
无
键盘交互
无
必需的 JavaScript 功能
无
示例
这是一个带有跳至导航链接、徽标、标题和副标题的假简单 banner。由于这是网站的主要页眉,因此我们在容器元素中添加了 banner
路标角色。
<div role="banner">
<a href="#main" id="skipToMain" class="skiptocontent">Skip To main content</a>
<img src="images/w3c.png" alt="W3C Logo" />
<h1>ARIA Landmarks</h1>
<p>Identifying page subsections for easy navigation</p>
<nav>…</nav>
</div>
我们也可以使用 HTML header
元素编写上述内容
<header>
<a href="#main" id="skipToMain" class="skiptocontent">Skip To main content</a>
<img src="images/w3c.png" alt="W3C Logo" />
<h1>ARIA Landmarks</h1>
<p>Identifying page subsections for easy navigation</p>
<nav>…</nav>
</header>
最佳实践
虽然最好使用 header
元素并确保它不是页面任何子部分的后代,但有时您无法访问底层 HTML。如果是这种情况,您可以将 banner
角色添加到应作为 banner
公开的页面元素中,使用 JavaScript 实现。以这种方式识别页面的 banner 将有助于提高网站的可访问性。
规范
规范 |
---|
可访问的富互联网应用程序 (WAI-ARIA) # banner |
未知规范 |