類似于<em></em>之類的短語元素,既可以改進文檔結(jié)構(gòu),同時也保留了預(yù)期的視覺樣式。但<small></small>在平時應(yīng)用中不是很常見,第一眼的影響是淘寶UED是不是在這個小問題上疏忽了?
關(guān)于<small></small>,網(wǎng)上搜索下來的結(jié)果也很零碎,有的說不建議使用,也有的在廢棄標(biāo)簽里沒有提到它的名字。好在《精通HTML 語義、標(biāo)準(zhǔn)和樣式》一書中對此作了詳細的解釋。
<small>和<hr><pre><sup><sub><i><b>等一幫兄弟一樣,被定義為表示性元素,W3C的說法是:為能夠簡單地指定字體信息的元素,無語義。例如:<b>標(biāo)記,是毫無疑問要用<em>或<strong>替代;但<i>標(biāo)記,很難說在想要將頁面內(nèi)的一段外文斜體表示的時候(外文顯示的慣例)直接使用它有什么不對,因為當(dāng)使用者用<span class="">……</span>去表現(xiàn)一段斜體的話,空間占用要比前者多了很多。
而更為復(fù)雜的<big><small>,該書的作者Paul Haine并沒有給出一個明確的答案,從理論上說,它們是純粹的表示性元素,應(yīng)該使用css去替代它們。但行業(yè)內(nèi)的一些有分量的人物(Joe Clark)卻建議使用它們,以取得“按照重要性加權(quán)”的視覺效果。討論的結(jié)果是:有得必有失,要具體問題具體分析。
回到淘寶的這一段代碼中,<small></small>標(biāo)記之中是一段跳過導(dǎo)航的鏈接:<a class="invisible" href="#Content">跳過導(dǎo)航及工具欄</a>。我認為,淘寶UED在思考之后采用了和<i>標(biāo)記一樣的思路,與其定義一個<span class="skipNavigation"></span>占用大量html空間,不如直接使用<small>。更重要的一點是跳過導(dǎo)航的功能就是為用戶,準(zhǔn)確的說是為殘疾人用戶在使用朗讀瀏覽器或者無css樣式定義的情況下使用的,簡潔的<small></small>可能更符合標(biāo)準(zhǔn)化的精神。
唯一的一點疑問是,css裸奔下的<small>的確是以下一號的字體顯示了其非重要性的本意。但對于盲人用戶,針對朗讀瀏覽器,是否將<small></small>改變成<strong></strong>更優(yōu)化了用戶體驗?