三、不要把所有列表式的鏈接放在nav里
隨著HTML5引入了 30個新元素(截止到原文發(fā)布時),我們在構(gòu)造語義化和結(jié)構(gòu)化的標(biāo)簽時的選擇也變得有些不慎重。也就是說,我們不應(yīng)該濫用超語義化的元素。不幸的是,nav就是這樣一個被濫用的例子。nav元素的規(guī)范描述如下:
nav元素表示頁面中鏈接到其他頁面或者本頁面其他部分的區(qū)塊;包含導(dǎo)航連接的區(qū)塊。
注意:不是所有頁面上的鏈接都需要放在nav元素中——這個元素本意是用作主要的導(dǎo)航區(qū)塊。舉個具體的例子,在footer中經(jīng)常會有眾多的鏈接, 比如服 務(wù)條款,主頁,版權(quán)聲明頁等等。footer元素自身已經(jīng)足以應(yīng)付這些情況,雖然nav元素也可以用在這里,但通常我們認(rèn)為是不必要的。
WHATWG HTML spec
關(guān)鍵的詞語是“主要的”導(dǎo)航。當(dāng)然我們可以互相噴上一整天什么叫做“主要的”。而我個人是這樣定義的:
- 主要的導(dǎo)航
- 站內(nèi)搜索
- 二級導(dǎo)航(略有爭議)
- 頁面內(nèi)導(dǎo)航(比如很長的文章)
既然并沒有絕對的對錯,所以根據(jù)一個非正式投票以及我自己的解釋,以下的情況,不管你放不放,我反正不放在<nav>中:
- 分頁控制
- 社交鏈接(雖然有些社交鏈接也是主要導(dǎo)航,比如“關(guān)于”“收藏”)
- 博客文章的標(biāo)簽
- 博客文章的分類
- 三級導(dǎo)航
- 過長的footer
如果你不確定是否要將一系列的鏈接放在nav中,問你自己:“它是主要的導(dǎo)航嗎?”為了幫助你回答這個問題,考慮以下首要原則:
- 如果使用section和hx也同樣合適,那么不要用nav — Hixie on IRC
- 為了方便訪問,你會在某個“快捷跳轉(zhuǎn)”中給這個nav標(biāo)簽加一個鏈接嗎?
如果這些問題的答案是“不”,那就跟<nav>鞠個躬,然后獨自離開吧。
出處:藍(lán)色理想
責(zé)任編輯:bluehearts
上一頁 六種常見的HTML5寫法誤用 [2] 下一頁 六種常見的HTML5寫法誤用 [4]
◎進(jìn)入論壇網(wǎng)頁制作、WEB標(biāo)準(zhǔn)化版塊參加討論,我還想發(fā)表評論。
|