当前位置:首页 > Web开发 > 正文

[译] W3C vs. WhatWG HTML5 标准

2024-07-17 Web开发

几周以前,HTML5成为W3C的一个正式保举。我在SitePoint上针对这一事件讨论了5个有趣但此刻过时的成果 。
问题在于W3C标准是同一硬币的一面。从HTML的这个版本开始,开发者和浏览器提供商可以在不异符号语言的两种差别气势派头之间进行选择:W3C开发的规范和WHATWG开发的规范。

译者注:WHATWG:Web Hypertext Application Technology Working Group,网页超文本应用技术事情小组,是一个以敦促网络标准为目的而创立的组织。(为了准确,后面不做翻译)

就大部分而言,这些规范都是不异或者说非常相似的,但是几年过去之后,越来越多的差异呈现。你会关心他们吗?在大大都情况下不会,因为它对你和你的项目差异很小,或者浏览器提供商会撑持这两个标准。然而,在短期内,那些影响已给定成果实现的差异可能对你对照重要。每个浏览器提供商遵循规范都有本身的需求。例如:

当W3C和WHATWG的HTML标准差别时,我们倾向于遵循WHATWG标准。

在这篇文章里,我们将解决W3C和WHATWG标准之间的一些差异,在每个部分的结尾我会给出我对差异的看法。这并不是一个全面的列表,但是足够让你在这个问题有本身的不雅概念。

"HTML5" vs "HTML 现存标准"

我们以一个简单的主题来开始讨论差异:标准的名称。WHATWG标准的版本去失了名字后面的"5"在2011年初更名为"HTML"。然后,又改名为"HTML 现存标准"来指定它将不停成长和不再撑持使用版本号引用。

相反地,W3C标准继续使用数字,正如介绍中提到的一样,最后一个不变版本是5,例如HTML5。作为这一步的功效,该组织正在积极开发的标准被称为HTML5.1新版本。在HTML5.1里,一些HTML5里面的元素和属性将不会再有,例如正在讨论的dailog元素,month和week类型的input。

不雅概念

我认为此刻和2000年之前的世界变革太大了,因为技术以一个猖獗的速度成长着,尤其在web端。所以,删除版本号使其具有持续性听起来是对照合理地。然而,不是所有的浏览器城市自动更新或者以同样的速度颁布(常用的术语是一个evergreen browser),所以将一构成果放到一个或者多个浏览器版本是有原理的。

我的不雅概念是,有一个版本可以供开发人员参考并做出更好的打算,直到每一个浏览器都给与这一计谋的快速颁布和自动更新。不是因为,为了使用一些的成果去开发网站而需要检测浏览器的版本(你真的需要使用该成果检测),而是因为,我们可以获得其统计数据使用一个特定版本的浏览器。使用这些统计数据,在合适的时间你可以给与一些成果在你的项目中。
polyfills 和 shims可以辅佐你实现,但是把它们加到你的网站中你需要考虑权重?

main 元素

main元素是最新增加标准中的此中一个,差此外标准对付它有差此外界说。W3C标准界说为页面的主要内容 - 内容是一个页面的主要主题或者一个应用的核心成果。标准还界说一个文档中不能呈现一个以上的main元素,并且main元素需要搭配role="main"或者其他等效性的APIS。

按照这个标准的一个简单的例子如下所示:

<body> <header> <h1>Main title</h1> </header> <main> <article> <h1>Main title</h1> <p>This is the content of this section</p> <footer> The author of this content is Aurelio De Rosa </footer> </article> </main> <footer> <small>Copyright ? Aurelio De Rosa 2014</small> </footer> </body>

WHATWG标准不给main元素分配任何语义值,它界说为其他元素主导内容的容器。如果你对峙WHATWG标准,它没有限制你使用main元素的次数。因此如果你在一个页面中有多个article元素,你需要使用main元素符号每个article的的内容。

使用基于WHATWG标准的一个例子是:

<body> <header> <h1>Main title</h1> </header> <main> <article> <h1>Main title</h1> <main> <p>This is the content of this section</p> </main> <footer> The author of this content is Aurelio De Rosa </footer> </article> </main> <footer> <small>Copyright ? Aurelio De Rosa 2014</small> </footer> </body>

请注意,在上面的代码中,我使用了两次main元素。

不雅概念

关于main元素,我与W3C看法一致,因为我质疑在一个文档中有多个主要区域的需求。别的,我记得 Steve Faulkner(W3C的标准的编纂)多次催促 Ian Hickson(WHATWG标准的编纂)在WHATWG邮件中供给能够证明需要多个主要区域的数据。结论是,在所有的场合WHATWG编纂供给这些数据掉败。

hgroup 元素

hgroup元素用于组合一个或多个h1-h6的元素调集,对组织一个部分的标题和相应的子标题十分有用。

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/27388.html