在过去的二十年里,HTML已经经历了几个版本,HTML、HTML2、HTML3、HTML3.2、HTML4、HTML4.1和XHTML。这些改变由W3C这样的标准设置组织驱动,也由Netscape和Microsoft这样的单个软件公司所驱动。HTML 5是下一个版本。从技术上讲,它还不是一个标准,并且,它提出来也不过数年而已。它是W3C针对标准的工作草案,最终会推荐给世界各地的官方标准组织。然而,浏览器厂商已经在采用HTML 5功能了。
现在,最好将HTML 5视为Web设计中的良好的标准实践的一个导向性指南。新的HTML 5元素和属性对于交互式多媒体空间这样的在线文档,提供了丰富的描述。之前的HTML版本(HTML4和XHTML)都作为印刷的页面的一个替代展示,只是偶尔添加交互式功能和媒体支持。Web上的很多页面是印刷页面的在线等价物。相反,HTML 5鼓励一个更加广泛的Web概念,Web是一种统一的、智能的、交互式的、超链接的媒介。
对于在线文档编写者来说,HTML 5添加了新的元素来定义文档节(section元素),还有新的节子元素来定义页面页眉(header)和页脚(footer)。节标题可以是标题组的组合(hgroup),并且可以包含新的导航(nav)元素。HTML4只是提供了一个单个的division(div)用于这些目的,并且,程序员使用id和class属性在用法上加以区分。还有一个新的文章元素(article)和一种方法(aside元素)来指定与主题垂直放置的文本。在W3C的草案规范中,甚至有一个元素用来表示讽刺式的话(sarcasm),但是,我认为这只不过是搞笑而已。
对于Web开发者,HTML 5草案规范第一次描述了浏览器应该如何将HTML元素暴露给脚本。使用JavaScript语法,它描述了可以在文档对象上调用的方法脚本。换句话说,它描述了一个给定的HTML元素理解和遵守什么命令。之前的HTML规范通常涉及ECMAScript,这是包含了JavaScript、Jscript(Microsoft的JavaScriot版本)和ActionScriot(Adobe针对Flash的脚本编程语言)的一个标准化语言族。本书也使用JavaScript,但并不意味着排除了其他的脚本语言。
同样令人兴奋的是HTML 5 canvas元素。它提供了一个位图画布区域,脚本可以在上面绘制,或者向其中载入图像和视频。canvas元素可以用于显示图像、游戏图形或者其他使用中的视觉图像。还有新的元素用来创建度量单位(meter)和进度条(progress),以及新的元素属性允许一个文档的一部分在页面上移动,或者跨会话原处编辑并保存。
即便有了所有这些新功能,HTML 5还是突出强调了简单性。这通过将文档内容的描述和用于显示和交互行为的描述隔离开来而实现。鼓励Web编写者编写必需的最少的HTML,来提供文档的一个语义性描述。创建在所有设备上能很好地显示的Web页面,并且能够让访问页面的每个人和每件事物都满意,这样的实践的标准就是Web标准的核心所在。