原文: 7 Facts and Myths of HTML5

作者: Jacob Cass

译文: 详解HTML5的7个传说

译者: 陈荣梅


正如 Opera 的布道者 Bruce Lawson 讲的那样,“每个人都在谈论 HTML5”,它被传的很神、很玄。

但简单地说,HTML5 就是以新的标准、语法和规则来创建网页,可以利用一些新的浏览器的“本地”功能,例如离线存储、多媒体播放和其他的交互等等。

我们看到的很多很酷的 HTML5 网站实际上跟 HTML5 无关,它们大多是由 CSS3 和 jQuery 生成的。 CSS3 和 jQuery 是和 HTML5 一样的新技术,它们和 HTML5 是平行的概念。

可以说,HTML5 实际上只是古老的 DHTML 或者 Ajax,但是各种关于它的信息混在一起,就出现了一些错误的说法。 这篇文章讲了关于 HTML5 的7个传说,其实也就是误解。

传说1:因为苹果不支持 Flash,所以人们发明了 HTML5

树大招风,苹果似乎经常受到各种指责。虽然 HTML5 可以为移动设备提供一些非常有用的功能,但是它不是为了这个需求而被创造的。

事实上,早在 2004 年,Opera 和 Mozilla 为了解决乱糟糟的网页标准定义了一些好的设计标准。 他们的目的很简单,就是向 W3C 提交这些标准,从而创建一个更好用、更快速的 HTML 标准,这个标准直到2006年才被接受。

但在之后短短的三年内,人们又起草了一个新的标准,审议通过并开始使用,这就是HTML5。

传说2:HTML5 要到2022年才会成熟

我们知道 HTML5 的起草文件已经在2009年审议通过,也就是没有新的内容可以被添加,也不会有显著的改动,所以现在使用 HTML5 并不用担心向下兼容的问题。 可以通过一些轻量级的 JavaScript 来让老版本的浏览器支持复杂的 canvas,而所有新版本的浏览器都支持 HTML5, 但要注意,很多老版本的浏览器对 CSS3 的支持很差。

传说3: HTML5 需要 CSS3 支持

虽然 CSS3 能为 HTML5 增色不少,例如语义 class 名字,但这决不是必须的。 HTML5 只是标记语言,你当然可以使用 HTML5 + CSS2,只不过没有那么优雅。 由于 HTML5 移除了属性和标签,所以你需要为每一个元素指定全部的样式。 例如,在 HTML5 中,为了让浏览器正确的渲染页面,你需要为每一个页面元素设置“display:block”声明。 简而言之,HTML5 需要样式来让页面更好看,但不必须是 CSS3。

传说4:HTML5 破坏了可访问性(Accessibility)

相反,HTML5 从设计之初就考虑到了可访问性。 每一个元素都支持 WIA ARIA 标志角色。这些角色可以让屏幕阅读器这类设备更好地理解页面的内容。

传说5:HTML5 是 Flash 杀手

Flash 依然被无数的网站和开发者使用。关于 Flash 和 HTML5 之间的误解来源于 Adobe 和 Apple 之间的争执以及 HTML5 音频、视频应用的迅速普及。 虽然 HTML5 可以很好地支持少量的视频播放,但是 HTML5 比 Flash 需要更多的编码资源,而且缺少那些浏览器插件提供的技术。

目前类似 Vimeo 和 YouTube 大量的使用 HTML5 技术是为了推广这项技术,他们短期内不会彻底放弃 Flash。 开发者 Viki Hoo 关于 Flash 仍然会广泛的被使用有一些令人信服的观点。

但是从页面设计的角度来看,我们希望尽快的从 FLash 中解脱出来,因为HTML5 学起来用起来都更容易。 它不需要插件,装载快速,并且对移动设备很友好。 所以不是 HTML5 干掉了 Flash,准确的说是 HTML5 将统治移动设计和开发市场。

传说6:只要在我的网站上添加了 HTML5 doctype,它就是 HTML5 网站了

从浏览器的角度来说,是的,添加了 HTML5 doctype 的网站都会被认为是 HTML5 网站。 但是 HTML5 不仅仅是一个 doctype。 它是一套完整的最佳实践、语义标签、排版元素例如 <header>、<nav>、<section>、<article> 等等。 这些元素能让你的网站利用浏览器的新功能,才能称得上是 HTML5。 同时你也要注意那些在 HTML5 中被弃用的元素和属性,以保证兼容性。

传说7:使用 HTML5 会让我获得更多的工作/金钱/尊重……

熟练的掌握 HTML5 并不会让你看起来更性感,除非你是 Bruce Lawson。 它也不会让你找到梦想的工作,你的实力还是需要通过设计能力,编码能力来体现。 当然,学习新技术的热情和毅力是值得欣赏的。

继续阅读关于 的文章



Fork me on GitHub