1,哪些元素和屬性在HTML5中被棄置了?
2,在我的站點中是否使用了這些元素?
3,我是否對有效驗證感到擔心?
4,對向后兼容性來說,這些有什么影響?
5,我的內容能否在所有的目標瀏覽器和客戶端正確顯示?
1, 哪些元素和屬性在HTML5中被棄置了?
在 HTML5 說明里被棄置的元素有:basefont, big, center, font, strike, tt, frame, frameset, noframes, acronym, applet, isindex, dir。 你可以在這篇 HTML5與4的區別文章中找到它們被棄置的原因。
2,在我的站點中是否使用了這些元素?
如果你的站點使用了以上元素或者屬性,你應該考慮將其改為在HTML5中新的更具語義的元素?;蛘?,如果你使用了<font> 或<center>這樣的元素,可以將它們移入 CSS 文件來換種表達方式。
一個在大學工作的人說他使用了這些舊元素。他的站點用了大量已經被HTML5棄置的 <acronym> 標簽。如果他想使他的符合 HTML5 規范,有三個方案可以解決這個問題:
把 doctype 改為 HTML5 ,不修改<acronym>,但HTML并不確定它的有效性。把 doctype 改為 HTML5 ,像規范說明的那樣,將<acronym>替換為<abbr>。什么都不做,保持站點的HTML 4.01或者XHTML規范。在不知道執行這些建議的工作量或者站點的定位以及項目團隊對于有效驗證的態度前,建議他做那個選擇是困難的。說道有效驗證,就是我下面要談到的。
3,我是否該對有效驗證感到擔心?
雖然有效驗證對你的頁面標簽和CSS都很重要,但在我看來,卻非生死攸關。我們接到了一些報告不符合驗證的郵件,并糾正了一些錯誤,主要是關于ARIA的使用。這個屬性現在在規范中已被禁止,但是也有一些融通的辦法。
讓我們來看Google網站這個例子,如果你看它搜索頁面的源代碼,你可以看到它們使用
<!DOCTYPE html>
但是,這些頁面也沒有完全符合規范,因為它們使用了<font> 和 <center>這些在規范里已被棄置的標簽。這是否意味著用戶不能正確訪問Google了,顯然不是。
還有一點,HTML5 規范也沒有最后確定,仍然可能有改動。驗證機制也不能立刻體現規范的變動。
4,對向后兼容性來說,這些有什么影響?
我們已經知道Google的站點也不完全符合規范,也沒對訪問造成什么影響,但是否是向后兼容的呢?是的。據我所知,所有的瀏覽器支持<font>標簽。知識驗證機制不支持。如果你使用這些老舊元素,你是可以這樣做的,瀏覽器仍然能處理它們——只是不符合驗證而已。
雖說瀏覽器有向后兼容性,但是你仍然應該在你的HTML4.01或XHTML1.x中去使用 HTML5元素,它們可是有進步意義的提升。如果你采用了一些新元素標簽如<video>,為什么不把整個頁面也改造一下呢?
5,我的內容能否在所有的目標瀏覽器和客戶端正確顯示?
再次重申,看Google,仍然顯示在舊的瀏覽器和設備上,但它的標記是 HTML5的。規范的另一方面也說明了新的特性應該能顯示和工作在舊的瀏覽器上,最起碼不會造成無法訪問。
記住,瀏覽器仍然要處理這些,不管它們是不是被 HTML 5支持。就像XHTML一樣,雖然frames不符合其規范,但它仍然能正常工作。
所以我們可以得出結論,瀏覽器將仍然支持被棄置的元素。
總結
要不要使你的站點通過HTML5驗證,需要考慮成本等因素,是一個商業決策,至少現在(2012-12-5)還不是非做不可。這也不影響你使用HTML5的新特性比如javascript 的API或離線存儲等。
新聞熱點
疑難解答