ARIA:标题角色

heading 角色将此元素定义为页面或部分的标题,aria-level 属性提供更多结构。

描述

标题角色指示辅助技术此元素应像标题一样处理。屏幕阅读器会读取文本并表明它像标题一样格式化。此外,级别告诉辅助技术此标题表示页面结构的哪一部分。级别 1 标题(用 aria-level="1" 指示)通常表示页面的主标题,级别 2 标题(用 aria-level="2" 定义)表示第一个子部分,级别 3 是该子部分的子部分,依此类推。

html
<div role="heading" aria-level="1">This is a main page heading</div>

这将 <div> 中的文本定义为页面的主标题,通过 aria-level 属性指示为级别 1。建议改用 h1(到 h6)元素。

html
<h1>This is a main page heading</h1>

关联的 WAI-ARIA 角色、状态和属性

aria-level

aria-level 属性指定文档结构中的标题级别。如果不存在级别,则默认值为 2。

键盘交互

此角色不需要任何特殊的键盘导航。与任何标题一样,为其提供 ID 可确保可以从锚链接引用它,从而可以通过键盘访问它。

所需的 JavaScript 功能

所需的事件处理程序

无。

更改属性值

通常不需要,除非动态插入内容。在这种情况下,新添加的标题需要 aria-level 属性,其值与文档结构的其余部分一致。

注意:与其使用带有 heading 角色和 aria-level<div><span>,不如考虑改用本机 h1h6 元素来指示此文本是标题,以及它表示结构的哪一部分。

示例

以下显示了典型的页面结构。

html
<div id="container">
  <div role="heading" aria-level="1">The main page heading</div>
  <p>This article is about showing a page structure.</p>
  <div role="heading" aria-level="2">Introduction</div>
  <p>An introductory text.</p>
  <div role="heading" aria-level="2">Chapter 1</div>
  <p>Text</p>
  <div role="heading" aria-level="3">Chapter 1.1</div>
  <p>More text in a sub section.</p>
</div>

但是,您应该改为执行以下操作

html
<div id="container">
  <h1>The main page heading</h1>
  <p>This article is about showing a page structure.</p>
  <h2>Introduction</h2>
  <p>An introductory text.</p>
  <h2>Chapter 1</h2>
  <p>Text</p>
  <h3>Chapter 1.1</h3>
  <p>More text in a sub section.</p>
</div>

可访问性问题

警告:使用 aria-labelaria-labelledby 会将标题内容隐藏在辅助技术之外,读取标签而不是标题。

如果必须使用 heading 角色和 aria-level 属性,请不要超过级别 6,以便与 HTML 保持一致。虽然理论上您可以设置更高的级别,并且某些屏幕阅读器可能支持它,但与其他浏览器和屏幕阅读器组合的结果可能无法预测。

最佳实践

使用此角色的最佳方法是根本不使用它,而是使用本机标题标签 h1h6,如上例所示。heading 角色和 aria-level 属性仅应用于对无法进行重大更改的旧版代码进行后期的可访问性改造。

与其使用 ARIA heading 角色,不如使用语义 HTML 元素

HTML 元素 heading 角色
h1 <div role="heading" aria-level="1">
h2 <div role="heading" aria-level="2">
h3 <div role="heading" aria-level="3">
h4 <div role="heading" aria-level="4">
h5 <div role="heading" aria-level="5">
h6 <div role="heading" aria-level="6">

新增优势

无。

规范

规范
可访问的富互联网应用程序 (WAI-ARIA)
# heading
未知规范
# when_to_use_structural_roles

优先级顺序

标题角色覆盖了正在使用的元素的本机语义含义。此外,aria-level 属性确定了公开的标题级别。

另请参阅