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) # 搜索 |
未知规范 |