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