本节书摘来自华章出版社《HTML 5与CSS 3 权威指南(第3版·上册)》一 书中的第1章,第1.4节,作者:陆凌牛,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1.4 HTML 5要解决的三个问题
HTML 5的出现,对于Web来说意义是非常重大的。因为它的意图是想要把目前Web上存在的各种问题一并解决掉,它是一个企图心比较强的HTML版本。
那么,到底Web上存在哪些问题,HTML 5又打算怎么解决呢?
Web浏览器之间的兼容性很低。
首先要提到的就是,Web浏览器之间的兼容性是非常低的。在某个Web浏览器上可以正常运行的HTML/CSS/JavaScript等Web程序,在另一个Web浏览器上就不正常了的事情是非常多的。
如果用一句话来描述这个问题的原因,可以说是“规范不统一”。规范不统一,没有被标准化,是这个问题的主要原因。
在HTML 5中,这个问题将得到解决。HTML 5的使命是详细分析各Web浏览器所具有的功能,然后以此为基础,要求这些浏览器所有内部功能都要符合一个通用标准。
如果各浏览器都符合通用标准,然后以该标准为基础来书写程序,那么程序在各浏览器都能正常运行的可能性就大大提高了,这对于Web开发者和Web设计者都是一件令人可喜的事情。而且,今后开发者开发出来的Web功能只要符合通用标准,Web浏览器也都是很愿意封装该功能的。
文档结构不够明确。
第二个问题是,在之前的HTML版本中,文档的结构不够清晰、明确。例如,为了要表示“标题”,“正文”,之前一般都是用
元素。但是,严格说来,
不是一个能把文档结构表达得很清楚的元素,使用了过多的
要素的文章,阅读时不仔细研究,是很难看出文档结构的。而且,对于搜索引擎或屏幕阅读器等程序来说,过多使用了div元素,那么这些程序就连“从哪到哪算是重要的正文”,“这个
- 要素是表示导航菜单,还是表示项目列表”等对于结构分析来说最基本的问题的答案也都不知道。
在HTML 5中,为了解决这个问题,追加了很多跟结构相关的元素。不仅如此,还结合了包括微格式、无障碍应用在内的各种各样的周边技术。
Web应用程序的功能受到了限制。
最后一个问题是,HTML与Web应用程序的关系十分薄弱。Web应用程序的特征是先从网络下载,然后忠实运行,因此应该对会威胁到用户安全的功能进行限制。
目前安全性的保障这方面已做到了,但对于Web应用程序来说,一直以来HTML真正所做出的贡献是很少的,譬如说就连上传文件的同时想选择一个以上的文件都做不到。
为了弥补这方面的不足,HTML 5已经开始提供各种各样Web应用上的新API,各浏览器也在快速地封装着这些API,HTML 5已经使富Web应用的实现变成了可能。