我应该在 table 的内容 (ToC) 中使用 <h1> 还是 <ul>?
Should i use <h1> or <ul> in table of contents (ToC)?
我正在 html 中制作 table 个内容。我应该使用标题标签 <h1>-<h6>
还是嵌套的 <ul>
和 <li>
标签?
首先看起来像:
<h2>Home</h2>
<h2>Posts</h2>
<h3><a href="page1.html">Page 1</a></h3>
<h3><a href="page2.html">Page 2</a></h3>
<h3><a href="page3.html">Page 3</a></h3>
第二个看起来像:
<ul>
<li>Home</li>
<li>
Posts
<ul>
<li><a href="page1.html">Page 1</a></li>
<li><a href="page2.html">Page 2</a></li>
<li><a href="page3.html">Page 3</a></li>
</ul>
</li>
</ul>
我看了一下常见的网站:维基百科之类的好像都用的是第二种,但是第一种好不好我没找到确切的答案。
非常感谢,
- 考虑传统的 dead tree press(书籍、学术期刊论文等):
- A Table-of-Contents 不包含标题。
- 它包含对标题的引用。
- 章和节有自己的标题。
- HTML 的语义元素旨在以相同的方式使用。
- 所以您的目录应该是
<ol>
(不是 <ul>
,因为标题 是 编号和排序)。
- 同时考虑将 list/tree 结构包含在
<nav>
. 中
- 因此,实际 标题使用
<h1>
、<h2>
等元素,而不是对标题的引用(你应该使用 <a>
的地方:线索在名称中:anchor 元素)。
I had a look on the common websites: Wikipedia and so on seem to use the second choice, but I couldn't find any definitive answer on whether the first is bad or not.
W3C 在 WCAG 和 WAI 网站上拥有广泛的权威(甚至法律强制执行(例如根据美国的 ADA)文章和指南库:
- https://www.w3.org/WAI/tutorials/page-structure/headings/
- https://www.w3.org/WAI/curricula/designer-modules/navigation-design/
- https://www.w3.org/WAI/tutorials/page-structure/example/
- https://www.w3.org/TR/WCAG20-TECHS/G141
- https://www.w3.org/TR/WCAG20-TECHS/H42
- Also consider the
<h1>
element:
- 虽然 HTML 规范 确实 允许页面中有多个
<h1>
元素,但 intent 是每个 web-page 应该只有一个包含文档标题的 <h1>
元素。
- 引用MDN:
Using more than one <h1>
is allowed by the HTML specification, but is not considered a best practice. Using only one <h1>
is beneficial for screenreader users.
- 因此,如果页面已经有
<h1>
,那么 going-by 您的初始 thought-process 您将不得不 复制 <h1>
在目录中 - 它为您提供了两个 <h1>
元素,但是 HTML 打算让您只有一个 <h1>
元素。看到问题了吗?
此外,如果您搜索“table of contents”,您将找不到很多有效使用 HTML 的资源,看来 W3C/web-author 社区更喜欢术语“导航” menu”,即使对于(在 dead-tree-press 中)被称为 table-of-contents.
的文档结构
(我推测这可能是为了避免将 HTML <table>
与 table-of-contents 混淆)
w3docs.com
关于 h1...h6 标签的声明
Headline tags have SEO value as well. A search engine tries to find
out two things about your page: what the page is about, and how good
it is. One of the main things that search engines look at for
determining a page content is the words inside heading tags.
因此我建议不要使用您已经演示过的 od <h2>
和 <h3>
标签,因为我发现用户不太可能使用 Page 1搜索引擎。
我正在 html 中制作 table 个内容。我应该使用标题标签 <h1>-<h6>
还是嵌套的 <ul>
和 <li>
标签?
首先看起来像:
<h2>Home</h2>
<h2>Posts</h2>
<h3><a href="page1.html">Page 1</a></h3>
<h3><a href="page2.html">Page 2</a></h3>
<h3><a href="page3.html">Page 3</a></h3>
第二个看起来像:
<ul>
<li>Home</li>
<li>
Posts
<ul>
<li><a href="page1.html">Page 1</a></li>
<li><a href="page2.html">Page 2</a></li>
<li><a href="page3.html">Page 3</a></li>
</ul>
</li>
</ul>
我看了一下常见的网站:维基百科之类的好像都用的是第二种,但是第一种好不好我没找到确切的答案。
非常感谢,
- 考虑传统的 dead tree press(书籍、学术期刊论文等):
- A Table-of-Contents 不包含标题。
- 它包含对标题的引用。
- 章和节有自己的标题。
- HTML 的语义元素旨在以相同的方式使用。
- A Table-of-Contents 不包含标题。
- 所以您的目录应该是
<ol>
(不是<ul>
,因为标题 是 编号和排序)。- 同时考虑将 list/tree 结构包含在
<nav>
. 中
- 同时考虑将 list/tree 结构包含在
- 因此,实际 标题使用
<h1>
、<h2>
等元素,而不是对标题的引用(你应该使用<a>
的地方:线索在名称中:anchor 元素)。
I had a look on the common websites: Wikipedia and so on seem to use the second choice, but I couldn't find any definitive answer on whether the first is bad or not.
W3C 在 WCAG 和 WAI 网站上拥有广泛的权威(甚至法律强制执行(例如根据美国的 ADA)文章和指南库:
- https://www.w3.org/WAI/tutorials/page-structure/headings/
- https://www.w3.org/WAI/curricula/designer-modules/navigation-design/
- https://www.w3.org/WAI/tutorials/page-structure/example/
- https://www.w3.org/TR/WCAG20-TECHS/G141
- https://www.w3.org/TR/WCAG20-TECHS/H42
- Also consider the
<h1>
element:- 虽然 HTML 规范 确实 允许页面中有多个
<h1>
元素,但 intent 是每个 web-page 应该只有一个包含文档标题的<h1>
元素。 - 引用MDN:
Using more than one
<h1>
is allowed by the HTML specification, but is not considered a best practice. Using only one<h1>
is beneficial for screenreader users. - 因此,如果页面已经有
<h1>
,那么 going-by 您的初始 thought-process 您将不得不 复制<h1>
在目录中 - 它为您提供了两个<h1>
元素,但是 HTML 打算让您只有一个<h1>
元素。看到问题了吗?
- 虽然 HTML 规范 确实 允许页面中有多个
此外,如果您搜索“table of contents”,您将找不到很多有效使用 HTML 的资源,看来 W3C/web-author 社区更喜欢术语“导航” menu”,即使对于(在 dead-tree-press 中)被称为 table-of-contents.
的文档结构(我推测这可能是为了避免将 HTML <table>
与 table-of-contents 混淆)
w3docs.com
关于 h1...h6 标签的声明
Headline tags have SEO value as well. A search engine tries to find out two things about your page: what the page is about, and how good it is. One of the main things that search engines look at for determining a page content is the words inside heading tags.
因此我建议不要使用您已经演示过的 od <h2>
和 <h3>
标签,因为我发现用户不太可能使用 Page 1搜索引擎。