<h1>–<h6>:HTML 的节标题元素
试一试
属性
这些元素仅包含全局属性。
使用说明
避免在一个页面上使用多个 <h1>
元素
尽管 HTML 标准允许在一个页面上使用多个<h1>
元素(只要它们没有嵌套),但这不被认为是最佳实践。一个页面通常应该只有一个<h1>
元素来描述页面内容(类似于文档的<title>
元素)。
注意:在旧版本的 HTML 标准中,允许在嵌套的分节元素中嵌套多个<h1>
元素。但是,这从未被认为是最佳实践,现在也不符合标准。在There Is No Document Outline Algorithm中了解更多信息。
建议每个页面只使用一个<h1>
,并且嵌套标题时不要跳过级别。
无障碍访问
导航
使用屏幕阅读软件的用户常用的一种导航技巧是快速跳转到各个标题,以确定页面的内容。因此,不要跳过一个或多个标题级别非常重要。这样做可能会造成混淆,因为以这种方式导航的人可能会想知道缺少的标题在哪里。
不要这样做
<h1>Heading level 1</h1>
<h3>Heading level 3</h3>
<h4>Heading level 4</h4>
建议这样做
<h1>Heading level 1</h1>
<h2>Heading level 2</h2>
<h3>Heading level 3</h3>
嵌套
标题可以作为子部分嵌套,以反映页面内容的组织结构。大多数屏幕阅读器还可以生成页面上所有标题的有序列表,这可以帮助用户快速确定内容的层次结构。
h1
甲虫h2
词源h2
分布和多样性h2
进化h3
晚古生代h3
侏罗纪h3
白垩纪h3
古近纪
h2
外部形态h3
头部h4
口器
h3
胸部h4
前胸h4
翼胸
h3
腿h3
翅膀h3
腹部
当标题嵌套时,在关闭子部分时可以“跳过”标题级别。
标记分节内容
使用屏幕阅读软件的用户的另一种常见导航技巧是生成分节内容列表并使用它来确定页面的布局。
可以使用aria-labelledby
和id
属性的组合来标记分节内容,标签简洁地描述了该部分的目的。此技术适用于同一页面上有多个分节元素的情况。
分节内容示例
<header>
<nav aria-labelledby="primary-navigation">
<h2 id="primary-navigation">Primary navigation</h2>
<!-- navigation items -->
</nav>
</header>
<!-- page content -->
<footer>
<nav aria-labelledby="footer-navigation">
<h2 id="footer-navigation">Footer navigation</h2>
<!-- navigation items -->
</nav>
</footer>
在此示例中,屏幕阅读技术会宣布有两个<nav>
部分,一个名为“主要导航”,另一个名为“页脚导航”。如果没有提供标签,使用屏幕阅读软件的人员可能需要检查每个nav
元素的内容以确定其用途。
示例
所有标题
以下代码显示了所有标题级别,正在使用中。
<h1>Heading level 1</h1>
<h2>Heading level 2</h2>
<h3>Heading level 3</h3>
<h4>Heading level 4</h4>
<h5>Heading level 5</h5>
<h6>Heading level 6</h6>
示例页面
以下代码显示了一些标题及其下的一些内容。
<h1>Heading elements</h1>
<h2>Summary</h2>
<p>Some text here…</p>
<h2>Examples</h2>
<h3>Example 1</h3>
<p>Some text here…</p>
<h3>Example 2</h3>
<p>Some text here…</p>
<h2>See also</h2>
<p>Some text here…</p>
技术摘要
内容类别 | 流内容、标题内容、可感知内容。 |
---|---|
允许的内容 | 短语内容. |
标签省略 | 无,起始和结束标签都是必需的。 |
允许的父元素 | 任何接受流内容的元素。 |
隐式 ARIA 角色 | 标题 |
允许的 ARIA 角色 |
tab 、presentation 或none |
DOM 接口 | HTMLHeadingElement |
规范
规范 |
---|
HTML 标准 # the-h1,-h2,-h3,-h4,-h5,-and-h6-elements |
浏览器兼容性
html.elements.h1
BCD 表格仅在启用 JavaScript 的浏览器中加载。
html.elements.h2
BCD 表格仅在启用 JavaScript 的浏览器中加载。
html.elements.h3
BCD 表格仅在启用 JavaScript 的浏览器中加载。
html.elements.h4
BCD 表格仅在启用 JavaScript 的浏览器中加载。
html.elements.h5
BCD 表格仅在启用 JavaScript 的浏览器中加载。
html.elements.h6
BCD 表格仅在启用 JavaScript 的浏览器中加载。