我的网站有一个非常漂亮,干净的html5语义结构。
但是在这里和那里,我有section
个没有任何h2
标签的标签,因为它们不值得。例如,一个包含网络工具进度条的框。它确实应该拥有自己的单独section
,但绝对不需要标题。
但是验证器和其他站点建议 all 部分标签都需要一个h2
标头。鉴于此,我应该将display: none
h2
标头添加到我拥有的少数无标头的section
标签中吗?
一方面,为了使“验证者”和搜索引擎满意而隐藏的内容似乎是一种不好的做法。如果不值得放在您的页面上,请不要将其放在页面上。
另一方面,我看到有人使用纯文本浏览器或某种视力不佳的屏幕阅读器的情况(我们经常在HTML文档中听说过这种情况,但我已经在现实生活中从未听说过)。在这种情况下,您可能甚至不知道进度条是什么。查看其源代码并不能使其功能清晰。但是以图形方式查看它会使它100%清晰。因此,在这种情况下,带有“进度条”的h2
标记在源中有用,而在正常显示的页面上不可见。
答案 0 :(得分:1)
我认为问题始于滥用<section>
标签。
每个MDN:
HTML元素代表一个独立的部分-没有更具体的语义元素来表示它
当您确实可以使用简单的div时,常见的误用是将section
用作定义元素(将其用作包装器)。
<section>
的使用说明:
通常应通过将标题(-元素)作为元素的子元素来标识每个元素。
和
请勿将该元素用作通用容器;这就是这样做的目的,尤其是当切片仅用于样式目的时。经验法则是,在逻辑上应在文档的轮廓中显示一个部分。
关于标题部分不值得, 也许包装进度条元素的简单div可以解决您的问题。
说了这么多,MDN的状态为<section>
:
-包含在HTML文档中。通常,但并非总是如此,各节都有标题。
这意味着它不是“错误的HTML” ...
更多:The Generic Section element
关于可访问性,还有其他与用户互动的方式。 (元素标题,替代文本和more...)
答案 1 :(得分:0)
如果没有任何用途,我个人认为不需要添加元素标签,它会污染页面。