第一章 1.4 新的认识

 HTML5 是基于各类各样的理念(在 WHATWG 规范中有详述)进行设计的,这些设计理念体现了对可能性和可行性的新认识。html

  1. 兼容性
  2. 实用性
  3. 互通性
  4. 通用访问性

1.4.1 兼容性和存在即合理html5

    别担忧,HTML5 并非颠覆性的革新。相反,实际上 HTML5 的一个核心理念就是保持一切新特性平滑过渡。一旦浏览器不支持 HTML5 的某项功能,针对功能的备选行为就会悄悄进行。再说,互联网上有些 HTML 文档已经存在 20 多年了,所以,支持全部现存 HTML 文档是很是重要的。跨域

    HTML5 的研究者们还花费了大量的精力来研究通用行为。好比,Google 分析了上百万的页面,从中分析出了 DIV 标签的通用 ID 名称,而且发现其重复量很大。例如,不少开发人员使用DIV id=”header”来标记页眉区域。HTML5 不就是要解决实际问题吗?那何不直接添加一个<header>标签呢?尽管 HTML5 标准的一些特性很是具备革命性,可是 HTML5 旨在进化而非革命。毕竟没有从头再来的必要。(就算有必要的话,也不该该是 HTML5,起码也要发明一个更好的!)浏览器

1.4.2效率和用户优先安全

    HTML5 规范是基于用户优先准则编写的,其宗旨是“ 用户即上帝” ,这意味着在遇到没法解决的冲突时,规范会把用户放到第一位,其次是页面做者,再次是实现者(或浏览器),接着是规范制定者(W3C/WHATWG),最后才考虑理论的纯粹性。所以,HTML5 的绝大部分是实用的,只是有些状况下还不够完美。看看这个示例,下面的几种代码写法在 HTML5 中都能被识别。ruby

id=”prohtml5″工具

id=prohtml5设计

ID=”prohtml5″htm

    固然,确定会有人反对这种不严格的语法,咱们不去辩论对错,只去关心一个底线,那就是最终用户其实并不在意代码怎么写。固然,咱们并不提倡入门者一开始写代码就这么不严谨,毕竟归根结底,受害者仍是最终用户,由于一旦因为开发人员的缘由形成页面错误致使不能正常显示,那么被折磨的确定是最终用户。ip

 HTML5 也衍生出了 XHTML5(可经过 XML 工具生成有效的 HTML5 代码)。HTML 和XHTML 两种版本的代码通过序列化应该能够生成近乎同样的 DOM 树。显然 XHTML 的验证规则严格得多,刚才示例中后两行代码是没法经过验证的。

1. 安全机制的设计

为保证 HTML5 足够安全,HTML5 在设计时就作了大量的工做。规范中的各个部分都有专门针对安全的章节,而且安全是被优先考虑的。HTML5 引入了一种新的基于来源的安全模型,该模型不只易用,并且对各类不一样的 API 都通用。这个安全模型可让咱们作一些之前作不到的事情,不须要借助于任何所谓聪明、有创意却不安全的 hack 就能跨域进行安全对话。在这方面,咱们确定不会怀念过去的“ 好” 时光了。

2. 表现和内容分离

在清晰分离表现和内容方面,HTML5 迈出了巨大的步伐。HTML5 在全部可能的地方都努力进行了分离,也包括 CSS。实际上,HTML5 规范已经不支持老版本 HTML 的大部分表现功能了,但得益于先前提到的 HTML5 在兼容性方面的设计理念,那些功能仍然能用。表现和内容分离的概念也不是全新的,在 HTML 4 Transitional 和 XHTML 1.1 中就已经开始用了。Web 设计者把这个概念当作最佳实践使用了好久,不过如今清晰地分开表现和内容显得更为重要,不然会有以下

弊端:

可访问性差;

没必要要的复杂度(全部样式代码都放在页面中,代码可读性不好);

文件变大(样式内容越多,文件越大),带来的后果就是页面载入变慢。

 

1.4.3 化繁为简

HTML5 要的就是简单、避免没必要要的复杂性。HTML5 的口号是“ 简单至上,尽量简化” 。所以,HTML5 作了如下这些改进:

以浏览器原生能力替代复杂的 JavaScript 代码;

新的简化的 DOCTYPE;

新的简化的字符集声明;

简单而强大的 HTML5 API。

随后咱们将详细讲解这些改进。

为了实现全部的这些简化操做,HTML5 规范已经变得很是大,由于它须要精确再精确。实际上要比以往任何版本的 HTML 规范都要精确。为了达到在 2022 年可以真正实现浏览器互通的

目标,HTML5 规范制订了一系列定义明确的行为;任何歧义和含糊均可能延缓这一目标的实现。另外,HTML5 规范比以往的任何版本都要详细,为的是避免形成误解。HTML5 规范的目标是彻底、完全地给出定义,特别是对 Web 应用。因此也难怪,整个规范超过了 900 页!基于多种改进过的、强大的错误处理方案,HTML5 具有了良好的错误处理机制。很是有现实意义的一点是,HTML5 提倡重大错误的平缓恢复,再次把最终用户的利益放在了第一位。好比,若是页面中有错误的话,在之前可能会影响整个页面的显示,而 HTML5 不会出现这种状况,取而代之的是以标准方式显示“ broken” 标记,这要归功于 HTML5 中精肯定义的错误恢复机制。

 

1.4.4 通用访问 

这个原则能够分红三个概念。

可访问性:出于对残障用户的考虑,HTML5 与 WAI(Web Accessibility Initiative,Web 可访问性倡议)和 ARIA(Accessible Rich Internet Applicaions,可访问的富 Internet 应用)作到了紧密结合,WAI-ARIA 中以屏幕阅读器为基础的元素已经被添加到 HTML 中。

HTML5 的功能在全部不一样的设备和平台上应该都能正常运行。媒体中立:若是可能的话,支持全部语种:例如,新的<ruby>元素支持在东亚页面排版中会用到的 Ruby 注释。

相关文章
相关标签/搜索