【发布时间】:2016-08-15 07:27:07
【问题描述】:
我最近遇到了一种情况,我被困在使用 <ul> 来处理 HTML 列表,但我真正想要的是 <ol>。我绞尽脑汁试图设置一个变量,以便我可以根据需要随时更改它。然后我突然意识到,我可以使用 CSS ul.class {list-style-type: decimal;}。这会让我得到我正在寻找的东西。
但后来我想,为什么我们还要有<ol>?不应该弃用吗?列表类型不是一种独特的样式选择,因此属于样式表吗?至少,这始终是您无法从 HTML 页面复制和粘贴列表项目符号的原因。然后我进一步想知道<dl>。是的,它稍微方便一点,但是您可以使用嵌套的<div>、<p>、<ul> 或<span> 轻松制作相同的效果。
In this other question,似乎有人会争辩说<ol> 和<dl> 具有语义质量。我可以买那个,尤其是<dl>,但是面对不断被告知列表类型是风格,而不是内容,它会飞。是否还有其他我没有看到的原因是为什么它们还没有被弃用?
【问题讨论】:
-
把这个论点发挥到极致,我们真正需要的只是
div拥有大量的自定义类和一英里长的样式表…… -
@deceze 另一个极端是我们完全取消了样式表。你的意思是什么?
-
您似乎没有考虑到的是可访问性 - 不要忘记并非每个人都以与您相同的方式接收内容,并且那些使用屏幕阅读器的人依赖标签的语义含义。
-
@skyline3000 屏幕阅读器识别 list-style-type 属性并相应地宣布列表标记。我不知道他们是否仅依赖于此。
-
既然如此,为什么要保留 ul?列表样式可以通过 display: list-item 应用于 any 元素,因此理论上您可以仅使用 div 重新创建效果,正如您所说的可以使用 dl 元素完成。 @deceze 最初的观点并不像听起来那么极端——即使他是这样描述的。
标签: html css list deprecated semantic-markup