我应该加入Invisible 是的 的? [关闭]

问题描述 投票:3回答:2

我的网站有一个非常漂亮,干净的html5语义结构。

但是在这里和那里,我有sections没有任何h2标签因为它们不值得。例如,包含网络工具进度条的框。它确实值得拥有自己独立的section,但它绝对不需要标题。

但验证器和其他网站建议所有节标签需要一个h2标头。鉴于此,我应该将display: none h2标题添加到我拥有的几个无标题section标签中吗?

一方面,为了使“验证者”和搜索引擎快乐而隐藏的内容似乎是不好的做法。如果它不值得在您的页面上,请不要将它放在您的页面上。

另一方面,我可以看到有人使用纯文本浏览器或某种视觉障碍的屏幕阅读器(我们总是在HTML文档中听到但我在现实生活中从未听说过)的情况。在那种情况下,您可能不知道进度条甚至是什么。查看它的源代码并没有使它的功能清晰。但以图形方式呈现它使其100%清晰。因此,在这种情况下,一个说“进度条”的h2标签在源中有用,而在正常渲染的页面上是不可见的。

html css html5 semantic-markup
2个回答
1
投票

我认为问题始于误用<section>标签。

每个MDN:

HTML元素表示一个独立的部分 - 它没有更具体的语义元素来表示它

一个常见的误用是使用section作为一个devision元素(使用它作为包装),当你真的可以使用一个简单的div。

<section>的使用说明:

每个都应该被识别,通常包括标题( - 元素)作为元素的子元素。

不要将该元素用作通用容器;这是为了什么,特别是当切片仅用于造型目的时。根据经验,一个部分应该逻辑上出现在文档的轮廓中。

关于不值得标题的部分,也许一个简单的div来包装进度条元素可以解决你的问题。

尽管如此,MDN关于<section>的陈述:

- 包含在HTML文档中。通常,但并非总是如此,部分具有标题。

这意味着它不是“糟糕的HTML”......

更多:The Generic Section element

关于辅助功能,还有其他与用户交互的方式。 (元素,替代文本和more...的标题)


0
投票

我个人认为如果没有任何用法,你需要添加元素标签,它会污染页面。

© www.soinside.com 2019 - 2024. All rights reserved.