ARIA:搜索角色
search 角色用于标识搜索功能;页面、站点或站点集合的搜索部分。
html
<form role="search">
<!-- search input -->
</form>
描述
search 角色是地标角色,可以添加到包含所有元素的容器元素中,这些元素组合起来形成了文档或应用程序的搜索功能,包括后代(<input type="search">)。如果文档包含多个搜索,每个搜索都应具有唯一的标签,除非它们是相同的搜索重复,则使用相同的名称。存在input 类型为 search),但它本身并不定义搜索地标。使用<search> 是定义搜索地标的另一种方法。
示例
无障碍问题
地标角色 旨在谨慎使用,以标识文档中更大的整体部分。使用过多的地标角色会为屏幕阅读器带来“噪音”,从而难以理解页面的整体布局。
最佳实践
优先使用 HTML
使用<form> 元素结合 role="search" 的声明将提供最大的支持。
标记地标
多个地标
如果文档中存在多个 search 地标角色,请为每个地标提供标签。此标签将使辅助技术用户能够快速了解每个地标的用途。
html
<form id="site-search" role="search" aria-label="Sitewide">
<!-- search input -->
</form>
…
<form id="page-search" role="search" aria-label="On this page">
<!-- search input -->
</form>
重复地标
如果文档中的 search 地标角色在文档中重复,并且两个地标具有相同的内容,请为每个地标使用相同的标签。这方面的例子是在页面顶部和底部重复站点范围搜索。
html
<header>
<form id="site-search-top" role="search" aria-label="Sitewide">
<!-- search input -->
</form>
</header>
…
<footer>
<form id="site-search-bottom" role="search" aria-label="Sitewide">
<!-- search input -->
</form>
</footer>
冗余描述
屏幕阅读器将宣布地标的角色类型。因此,您无需在其标签中描述地标是什么。例如,role="search" 的声明与aria-label="Sitewide search" 可能被冗余地宣布为“站点范围搜索搜索”。
规范
| 规范 |
|---|
| 可访问的富互联网应用程序 (WAI-ARIA) # 搜索 |
| 未知规范 |