三、不要把所有列表式的链接放在nav里
随着HTML5引入了 30个新元素(截止到原文发布时),我们在构造语义化和结构化的标签时的选择也变得有些不慎重。也就是说,我们不应该滥用超语义化的元素。不幸的是,nav就是这样一个被滥用的例子。nav元素的规范描述如下:
nav元素表示页面中链接到其他页面或者本页面其他部分的区块;包含导航连接的区块。
注意:不是所有页面上的链接都需要放在nav元素中——这个元素本意是用作主要的导航区块。举个具体的例子,在footer中经常会有众多的链接, 比如服 务条款,主页,版权声明页等等。footer元素自身已经足以应付这些情况,虽然nav元素也可以用在这里,但通常我们认为是不必要的。
WHATWG HTML spec
关键的词语是“主要的”导航。当然我们可以互相喷上一整天什么叫做“主要的”。而我个人是这样定义的:
- 主要的导航
- 站内搜索
- 二级导航(略有争议)
- 页面内导航(比如很长的文章)
既然并没有绝对的对错,所以根据一个非正式投票以及我自己的解释,以下的情况,不管你放不放,我反正不放在<nav>中:
- 分页控制
- 社交链接(虽然有些社交链接也是主要导航,比如“关于”“收藏”)
- 博客文章的标签
- 博客文章的分类
- 三级导航
- 过长的footer
如果你不确定是否要将一系列的链接放在nav中,问你自己:“它是主要的导航吗?”为了帮助你回答这个问题,考虑以下首要原则:
- 如果使用section和hx也同样合适,那么不要用nav — Hixie on IRC
- 为了方便访问,你会在某个“快捷跳转”中给这个nav标签加一个链接吗?
如果这些问题的答案是“不”,那就跟<nav>鞠个躬,然后独自离开吧。
出处:蓝色理想
责任编辑:bluehearts
上一页 六种常见的HTML5写法误用 [2] 下一页 六种常见的HTML5写法误用 [4]
◎进入论坛网页制作、WEB标准化版块参加讨论,我还想发表评论。
|