用另一个只有一个列表项ul
的嵌入标记 HTML 中的 a 在语义上是否正确?ul
例如,我有一个ul
带有多个li
s 的 a,其中一个li
s 嵌入ul
了一个s li
:
<ul>
<li>Example LI 1
<ul>
<li>Example LI 1a</li>
</ul>
</li>
<li>Example LI 2</li>
<li>Example LI 3</li>
</ul>
用另一个只有一个列表项ul
的嵌入标记 HTML 中的 a 在语义上是否正确?ul
例如,我有一个ul
带有多个li
s 的 a,其中一个li
s 嵌入ul
了一个s li
:
<ul>
<li>Example LI 1
<ul>
<li>Example LI 1a</li>
</ul>
</li>
<li>Example LI 2</li>
<li>Example LI 3</li>
</ul>
绝对地。列表不是由数量定义的。它是由语义定义的。因此,如果只有一项适用于列表的目的,则列表只能包含一个元素。例如,我今天只使一台计算机崩溃,因此该列表只有一个元素长。
是的,如果使用正确,拥有一个包含单个项目的列表在语义上是正确的,即使它确实感觉有点奇怪(如果只有一个项目,它就不是一个真正的列表,因为根据定义,一个列表就是一个列表item<strong> s,否则它只是一个项目)。
在您提供的示例中,这些项目是占位符并且没有任何意义,因此很难判断它是否适用。它是否正确取决于您为什么将其放在子项中。如果它确实是一个列表项,那么拥有一个单项子列表是完全合理的,特别是如果有其他包含多个项的子列表。那样的话,意思就很清楚了。例如,以下内容很好:
<h1>Auto Insurance Customers</h1>
<ul>
<li>
<strong>#1234</strong>
<ul>
<li>2003 Ford Focus</li>
<li>1998 Ford Escort</li>
<ul>
</li>
<li>
<strong>#2468</strong>
<ul>
<li>1999 Lamborghini Diablo VT Roadster</li>
</ul>
</li>
…
</ul>
这个例子没有任何问题,因为客户拥有一辆车而其他人可能拥有更多是完全合理的。
另一方面,如果您制作单项子列表的原因仅仅是为了创建一个缩进来偏移和突出显示列表项的一部分,那么这是不正确的。
例如,假设您有一个文本段落列表。在其中一个段落中,您有一段需要注意的段落,并且您想缩进和偏移它。虽然将它放在列表中会起作用,但这是不正确的,因为您将样式与结构混合在一起。
完成此操作的正确方法是将该部分包装在另一个标记中(如<blockquote>
、 styled<div>
等)并将其留在该列表项的常规流程中。在以下示例中,需要突出显示列表项之一的一部分。将其放入(单项)列表中是错误的做法:
<h1>Blog posts or something…</h1>
<ul>
<li>
<strong>Foo</strong>
<p>Some long paragraph about Foos, what they do, how they work, etc.</p>
<p>More information about Foos and where they originated.</p>
<p>Instructions on care and feeding of Foos.</p>
</li>
<li>
<strong>Bar</strong>
<p>Detailed description of local watering holes for lawyers.</p>
<p>Anecdotes about experiences of drinking & lawyering.</p>
<!-- This section is to be highlighted and offset to draw attention to it from the rest of this list item. -->
<ul>
<li>
<p>Highlighted account of the subsequent problems and what happened that one strange night.</p>
</li>
</ul>
<p>Summary of what to not do when out drinking with lawyers.</p>
</li>
<li>
<strong>Baaz Luhrmann</strong>
<p>A bunch of stuff about a brass-skinned movie director who made a widely-panned film adaptation of a Shakespeare play who turns to stone and traps your sword when he dies.
</li>
</ul>
相反,您应该为此使用正确的标签。它不仅在语义和结构上正确,而且更清晰,甚至缩小了页面的大小:
<style…>
p.highlight {
margin : 20px 50px;
width : 150px;
}
</style>
…
<li>
<strong>Bar</strong>
<p>Detailed description of local watering holes for lawyers.</p>
<p>Anecdotes about experiences of drinking and lawyering.</p>
<!-- This section is to be highlighted and offset to draw attention to it from the rest of this list item. -->
<p class="highlight">
Highlighted account of the subsequent problems and what happened that one strange night.
</p>
<p>Summary of what to not do when out drinking with lawyers.</p>
</li>
根据dictionary.com,列表是有意义地分组的项目系列,而系列是一组相似或相关的项目。(oxforddictionaries.com 和 thefreedictionary.com 的结果相似。)任何仅包含一项的内容都不能包含有意义的分组或内容之间的相似性或相关性。因此,对于单项列表,标记的语义与内容的语义不匹配。
单项列表似乎也不符合人们说“列表”时的意思。(关于这一点,当代词典更注重记录常见用法而不是正确用法(这就是为什么 OED 中出现“bling”的原因)。)
此外,即使它在技术上没有错误,将这样一个简单的语句标记为列表而不是段落似乎也没有太大的编辑价值。在我看来,以下三个示例中的第一个对用户来说是最容易解析和理解的。
<p>XYZ is the only computer that crashed.</p>
<p>
The computer that crashed:
<ul><li>XYZ</li></ul>
<p>
<ul>
<li>
The computer that crashed:
<ul><li>XYZ</li></ul>
</li>
<ul>