我们应该把标签<ul>放在<nav>标签里面吗?



我想知道许多网站把标签放在标签里,从规范来看,nav标签有锚标签,这里是w3schools的例子,为什么许多网站都这样做:

<nav>
    <ul>
        <li><a href="#">Home</a></li>
        <li><a href="#">About</a></li>
    </ul>
</nav>

这是正确的吗?或者我们只应该做这样的

<nav>
    <a href="#">Home</a>
    <a href="#">About</a>
</nav>

一般来说,这是不需要的,但将导航项放在列表中并使用CSS内联显示它们是非常常见的做法(如果需要)。这不仅仅是HTML5的建议——如果你在浏览器中禁用CSS,你的菜单将显示为:

开始关于我的联系(你能读一下吗?)

有了清单,它将是:

  • 启动
  • 关于我
  • 联系人

考虑一下,如果显示设计出现问题,您希望看到哪个版本。

这里需要注意的是新标签(如nav、section、header、footer等)的设计目的。就其本身而言,这些标签的行为与div没有什么不同。人们开始在他们的html5网站上使用它们的原因是为文档提供上下文。当我听到像"Web2.0"这样的术语时,我会翻白眼,但这些术语确实传达了我们对如何使用网络的思考发生了变化。每当你听到"Web 3.0"……呃,它真正的意思是人们试图思考如何使网络更具语义,这意味着用户体验更基于用户行为和偏好进行定制。用这些类型的标记标记文档有助于提供上下文。然而,它将如何呈现的实施仍然取决于你,我相信你提供的两个例子都是完全有效的。

这里有一篇不错的文章,更详细地讨论了这一点:

http://html5doctor.com/lets-talk-about-semantics/

我一直认为,任何纯粹为了容纳另一个单独标签而存在的标签都是无关的。

然而,语义和语义标记是一门不精确的科学,因此人们有不同的看法。

根据"nav"元素规范,它表示页面的部分,该部分链接到其他页面或页面中的部分。规范没有规定任何带有"nav"元素的特定结构。另一方面,"ul"块出于逻辑和/或实际目的将导航链接分组在一起。使用导航块的列表有利于使用辅助技术在网络上导航的用户,因为屏幕阅读器可以跳过整个导航块,从一个导航级别跳到另一个导航级。

参考文献:

  • http://reference.sitepoint.com/html/ul
  • http://html5doctor.com/nav-element/

我想说:是的,如果是多级导航(所以会对其进行分层排序)。不,在所有其他情况下:保存数据、提高速度和可读性。

IMHO UL应用于显示实际的Unordered List,表也是如此,应显示表格数据。

最新更新