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