Main title
This is the content of this section
摘要:?jiǎn)栴}在于標(biāo)準(zhǔn)是同一硬幣的一面。然后,又改名為現(xiàn)存標(biāo)準(zhǔn)來指定它將不斷發(fā)展和不再支持使用版本號(hào)引用。作為這一步的結(jié)果,該組織正在積極開發(fā)的標(biāo)準(zhǔn)被稱為新版本。所以,刪除版本號(hào)使其具有連續(xù)性聽起來是比較合理地。特別地,標(biāo)準(zhǔn)去掉了和事件。
原文地址:http://developer.telerik.com/featured/w3c-vs-whatwg-html5-specs-differences-documented/
幾周以前,HTML5成為W3C的一個(gè)正式推薦。我在SitePoint上針對(duì)這一事件討論了5個(gè)有趣但現(xiàn)在過時(shí)的功能 。
問題在于W3C標(biāo)準(zhǔn)是同一硬幣的一面。從HTML的這個(gè)版本開始,開發(fā)者和瀏覽器供應(yīng)商可以在相同標(biāo)記語言的兩種不同風(fēng)格之間進(jìn)行選擇:W3C開發(fā)的規(guī)范和WHATWG開發(fā)的規(guī)范。
譯者注:WHATWG:Web Hypertext Application Technology Working Group,網(wǎng)頁超文本應(yīng)用技術(shù)工作小組,是一個(gè)以推動(dòng)網(wǎng)絡(luò)標(biāo)準(zhǔn)為目的而成立的組織。(為了準(zhǔn)確,后面不做翻譯)
就大部分而言,這些規(guī)范都是相同或者說非常相似的,但是幾年過去之后,越來越多的差異出現(xiàn)。你會(huì)關(guān)心他們嗎?在大多數(shù)情況下不會(huì),因?yàn)樗鼘?duì)你和你的項(xiàng)目差異很小,或者瀏覽器供應(yīng)商會(huì)支持這兩個(gè)標(biāo)準(zhǔn)。然而,在短期內(nèi),那些影響已給定功能實(shí)現(xiàn)的差異可能對(duì)你比較重要。每個(gè)瀏覽器供應(yīng)商遵循規(guī)范都有自己的需求。例如來自于Mozilla的David Baron目前聲明:
當(dāng)W3C和WHATWG的HTML標(biāo)準(zhǔn)不同時(shí),我們傾向于遵循WHATWG標(biāo)準(zhǔn)。
在這篇文章里,我們將解決W3C和WHATWG標(biāo)準(zhǔn)之間的一些差異,在每個(gè)部分的結(jié)尾我會(huì)給出我對(duì)差異的看法。這并不是一個(gè)全面的列表,但是足夠讓你在這個(gè)問題有自己的觀點(diǎn)。
"HTML5" vs "HTML 現(xiàn)存標(biāo)準(zhǔn)"我們以一個(gè)簡(jiǎn)單的主題來開始討論差異:標(biāo)準(zhǔn)的名稱。WHATWG標(biāo)準(zhǔn)的版本去掉了名字后面的"5"在2011年初更名為"HTML"。然后,又改名為"HTML 現(xiàn)存標(biāo)準(zhǔn)"來指定它將不斷發(fā)展和不再支持使用版本號(hào)引用。
相反地,W3C標(biāo)準(zhǔn)繼續(xù)使用數(shù)字,正如介紹中提到的一樣,最后一個(gè)穩(wěn)定版本是5,例如HTML5。作為這一步的結(jié)果,該組織正在積極開發(fā)的標(biāo)準(zhǔn)被稱為HTML5.1新版本。在HTML5.1里,一些HTML5里面的元素和屬性將不會(huì)再有,例如正在討論的dailog元素,month和week類型的input。
觀點(diǎn)我認(rèn)為現(xiàn)在和2000年之前的世界變化太大了,因?yàn)榧夹g(shù)以一個(gè)瘋狂的速度發(fā)展著,尤其在web端。所以,刪除版本號(hào)使其具有連續(xù)性聽起來是比較合理地。然而,不是所有的瀏覽器都會(huì)自動(dòng)更新或者以同樣的速度發(fā)布(常用的術(shù)語是一個(gè)evergreen browser),所以將一組功能放到一個(gè)或者多個(gè)瀏覽器版本是有道理的。
我的觀點(diǎn)是,有一個(gè)版本可以供開發(fā)人員參考并做出更好的計(jì)劃,直到每一個(gè)瀏覽器都采用這一策略的快速發(fā)布和自動(dòng)更新。不是因?yàn)椋瑸榱耸褂靡恍┑墓δ苋ラ_發(fā)網(wǎng)站而需要檢測(cè)瀏覽器的版本(你真的需要使用該功能檢測(cè)),而是因?yàn)?,我們可以獲得其統(tǒng)計(jì)數(shù)據(jù)使用一個(gè)特定版本的瀏覽器。使用這些統(tǒng)計(jì)數(shù)據(jù),在合適的時(shí)間你可以采用一些功能在你的項(xiàng)目中。
polyfills 和 shims可以幫助你實(shí)現(xiàn),但是把它們加到你的網(wǎng)站中你需要考慮權(quán)重?
main元素是最新增加標(biāo)準(zhǔn)中的其中一個(gè),不同的標(biāo)準(zhǔn)對(duì)于它有不同的定義。W3C標(biāo)準(zhǔn)定義為頁面的主要內(nèi)容 - 內(nèi)容是一個(gè)頁面的主要主題或者一個(gè)應(yīng)用的核心功能。標(biāo)準(zhǔn)還定義一個(gè)文檔中不能出現(xiàn)一個(gè)以上的main元素,并且main元素需要搭配role="main"或者其他等效性的APIS。
根據(jù)這個(gè)標(biāo)準(zhǔn)的一個(gè)簡(jiǎn)單的例子如下所示:
Main title
Main title
This is the content of this section
WHATWG標(biāo)準(zhǔn)不給main元素分配任何語義值,它定義為其他元素主導(dǎo)內(nèi)容的容器。如果你堅(jiān)持WHATWG標(biāo)準(zhǔn),它沒有限制你使用main元素的次數(shù)。因此如果你在一個(gè)頁面中有多個(gè)article元素,你需要使用main元素標(biāo)記每個(gè)article的的內(nèi)容。
使用基于WHATWG標(biāo)準(zhǔn)的一個(gè)例子是:
Main title
Main title
This is the content of this section
請(qǐng)注意,在上面的代碼中,我使用了兩次main元素。
觀點(diǎn)關(guān)于main元素,我與W3C看法一致,因?yàn)槲屹|(zhì)疑在一個(gè)文檔中有多個(gè)主要區(qū)域的需求。此外,我記得 Steve Faulkner(W3C的標(biāo)準(zhǔn)的編輯)多次敦促 Ian Hickson(WHATWG標(biāo)準(zhǔn)的編輯)在WHATWG郵件中提供能夠證明需要多個(gè)主要區(qū)域的數(shù)據(jù)。結(jié)論是,在所有的場(chǎng)合WHATWG編輯提供這些數(shù)據(jù)失敗。
hgroup 元素hgroup元素用于組合一個(gè)或多個(gè)h1-h6的元素集合,對(duì)組織一個(gè)部分的標(biāo)題和相應(yīng)的子標(biāo)題十分有用。
引入此元素以便于創(chuàng)建子標(biāo)題,并解決文檔輪廓算法的重要問題。實(shí)際上,將多個(gè)標(biāo)題元素放在hgroup中,想象文檔大綱應(yīng)該是包含所有標(biāo)題,但從最終的結(jié)果中看出只有最高級(jí)別的標(biāo)題元素。
一個(gè)使用它的例子,來源于我的文章HTML5中5個(gè)過時(shí)的功能,如下所示:
5 deprecated features of HTML5
Sometimes specifications are changed and you need to refactor your code
In this article we"ll discuss...
2013年4月由于缺乏實(shí)現(xiàn),用例不足和促進(jìn)標(biāo)記反面模式而從W3C標(biāo)準(zhǔn)刪除。相反地,WHATWG標(biāo)準(zhǔn)還包括ghroup。
觀點(diǎn)正如引用文章中所說,我一直是這個(gè)元素的粉絲但是我棄用了它。第一個(gè)原因是,我是W3C標(biāo)準(zhǔn)的一個(gè)追隨者。第二個(gè)原因是,我注意到對(duì)這個(gè)缺乏興趣和在瀏覽器中實(shí)現(xiàn)。
Web Notifications APIWeb Notifications API定義是為終端用戶提供通知的一個(gè)API。一個(gè)允許提示用戶當(dāng)前網(wǎng)頁之外的通知,例如電子郵件傳送。每當(dāng)用戶收到了一封新的電子郵件都需要通知用戶或者有意見事情需要他們關(guān)注。一些具體的例子是如果有人在twitter發(fā)文,或者發(fā)了一張照片在Facebook或Google+。
使用此API的簡(jiǎn)單例子如下:
Notification.requestPermission(function() { var notification = new Notification("Email received", { body: "You have a total of 3 unread emails" }); notification.onshow = function() { console.log("Notification shown"); }; });
Web Notifications API在W3C標(biāo)準(zhǔn)和WHATWG標(biāo)準(zhǔn)都有明確的規(guī)定,兩個(gè)版本之間有一些差異。特別地,WHATWG標(biāo)準(zhǔn)去掉了onclose和onshow事件。因此,W3C標(biāo)準(zhǔn)定義了4個(gè)事件(onclick, onclose, onerror, 和onshow),WHATWG標(biāo)準(zhǔn)只定義了兩個(gè)(onclick 和 onerror)。
如果你想了解更多API的不同版本和主要瀏覽器的支持,你可以看看我的這篇文章Web Notifications API的狀態(tài)。
觀點(diǎn)標(biāo)準(zhǔn)之間沒有太大的差異,但是它會(huì)影響你執(zhí)行某些任務(wù)的方法。在這種情況下,我遵循W3C標(biāo)準(zhǔn),我考慮的當(dāng)我觸發(fā)關(guān)閉事件的需要做執(zhí)行某些操作,但是WHATWG不可能。
結(jié)論在本文中我們討論了一些W3C與WHATWG標(biāo)準(zhǔn)之間最重要的差異。正如你看到的,考慮到標(biāo)準(zhǔn)中定義的元素和APIS的數(shù)量,還是沒有太多的差異。有了這一想法,就不會(huì)擔(dān)心未來,因?yàn)槲蚁嘈艠?biāo)準(zhǔn)最后都會(huì)和現(xiàn)實(shí)需求匹配,這意味著,不管哪個(gè)組織開始一個(gè)新的功能都會(huì)有明確的規(guī)定,開發(fā)者和瀏覽器供應(yīng)商都有權(quán)利去使用成功的一個(gè)或另一個(gè)版本。因此,瀏覽器供應(yīng)商和開發(fā)者是決定哪個(gè)標(biāo)準(zhǔn)"成功"實(shí)施或者棄用他們的主導(dǎo)者。正因?yàn)槿绱?,?duì)于每一個(gè)討論的功能,最終都會(huì)該表標(biāo)準(zhǔn)以符合現(xiàn)實(shí)需求。
最后一點(diǎn),如果你想發(fā)現(xiàn)更多的差異,你可以看W3C的這篇文章 W3C HTML5.1標(biāo)準(zhǔn)與WHATWG LS的不同。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/50138.html
摘要:該區(qū)域代表可以被所控制的畫布。那么現(xiàn)在第二個(gè)問題,識(shí)別該文檔,這或許不是大部分用戶的需求,但小部分用戶并不意味著人數(shù)少。因此一個(gè)基于的請(qǐng)求于標(biāo)準(zhǔn)內(nèi)提出。 前言 作為程序員,技術(shù)的落實(shí)與鞏固是必要的,因此想到寫個(gè)系列,名為 why what or how 每篇文章試圖解釋清楚一個(gè)問題。 這次的 why what or how 主題:現(xiàn)在幾乎所有人都知道了 HTML5 ,那么 H5 到底相...
摘要:提交內(nèi)容可以是一個(gè)提議想法初步描述該階段是對(duì)所提交新特性的正式建議。在這個(gè)階段需具備以下條件指定一名成員作為審閱通過有實(shí)現(xiàn)的或者初步編寫標(biāo)準(zhǔn),包括問題描述解決方案示例語法語義關(guān)鍵的算法及抽象實(shí)現(xiàn)在的復(fù)雜度等該階段是會(huì)出現(xiàn)標(biāo)準(zhǔn)中的第一個(gè)版本。 ECMAScript 與 JavaScript ECMAScript 是一套腳本語言的規(guī)范,內(nèi)部編號(hào) ECMA-262 該規(guī)范由 Ecma(Eu...
閱讀 875·2021-11-15 11:37
閱讀 3611·2021-11-11 16:55
閱讀 3275·2021-11-11 11:01
閱讀 1005·2019-08-30 15:43
閱讀 2750·2019-08-30 14:12
閱讀 686·2019-08-30 12:58
閱讀 3394·2019-08-29 15:19
閱讀 2032·2019-08-29 13:59