在进行代码审查时,我注意到标题使用<span>
标签而不是标题,因此我建议使用<h4>
标签来获得语义上的好处。上下文是一个网站页脚,其中有不同标题下的各种链接列表。
<span>Category 1 Links</span>
<ul>
<li>Link 1 in the footer</li>
<li>Link 2 in the footer</li>
<li>Link 3 in the footer</li>
<li>Link 4 in the footer</li>
<li>Link 5 in the footer</li>
</ul>
反对意见是这<h4>
是一个“块级”元素,而需要一个内联元素。因此,他认为不应该改变元素。(是的,他了解 CSS 并且熟悉该display: inline;
属性。)
这对我来说听起来绝对是疯狂的——与我一直认为的最佳实践背道而驰:内容和表示的分离、语义网络、HTML 和 CSS 的真正目的......但是在试图制定回应时,我遇到了这个部分在 HTML 4.01 规范中:
某些可能出现在 BODY 中的 HTML 元素被称为“块级”,而另一些则是“内联”(也称为“文本级”)。
...
样式表提供了指定任意元素呈现的方法,包括元素是呈现为块还是内联。在某些情况下,例如列表元素的内联样式,这可能是合适的,但一般来说,不鼓励作者以这种方式覆盖 HTML 元素的传统解释。
块级和内联元素的传统表示习惯的改变也对双向文本算法产生影响。有关更多信息,请参阅样式表对双向性的影响部分。
所以这里有一个问题:本节是否使问题足够模糊,以至于在这里存在有效的意见分歧,或者它(如我所想的)以一种或另一种方式非常清楚?如果这部分可以解释,还有其他更具体的 W3C 指南吗?
我不想对此发表意见,我只想确保我正确理解规范和 W3C 指南:这里是否存在真正的歧义?