标签 ‘html语义’

关于HTML语义,我也有看法

八月 29th, 2009 由 Rock 发表

目前的HTML语义方式主要靠标签去表达,但有历史局限性,众多的标签也是历史遗留问题,因为未出现CSS之前一个页面是由众多标签+属性,要说语义化,从现在标签使用的角度看来,我想没什么比那个时候的页面更具语义化了. 页面的语义化是必段的,但目前用标签来表达是个鸡肋,因为完全标签表达使整个页面显示累赘,难以维护, 而且,当出现一个新的特性对象时,不得不新创建一个标签,这点倒像英语词汇, 一旦属性多了起来, 如颜色,位置,大小等更具个性化的东西标签都难以充分表达.

记得以前看过一句与语义化相关的话,”不要让 CSS 使一个 HTML 元素看起来就像另一个 HTML 元素,比如用<div>来代替<p>标记标题”,我当时就觉得奇怪了,CSS能充分表达元素的外观甚至行为,CSS更能表示页面的语义化.理想角度看来,依靠CSS用最少量元素就能够很好表达页面,外观与内容能够很好的分离,感觉像P这些元素就像多余的!现在看来 — 上面也提过,造成目前还依赖标签表达是由局限性造成的.因为语义是主要给计算机识别的,而不是人!人不用去看这些标签和页面背后的东西,直接看页面最终效果就能一目了然, 但计算机还没这么智能,相信计算机能够直观上”看”得明在相当长一段时间是实现不了的了,而在计算机领域内语义又主要是给爬虫识别的,(这里的爬虫泛指一切信息收集并解析程序, 并不单单指收集,还包含解析),而当下最著明的爬虫就是搜索引擎的爬虫了.但目前的搜索引擎在数据收集分析时显然很笨,它只能从页面的标签上解析和关键字去了解这页面大概是干嘛的,很多与页面相关个性化的东西收集不到,因为这些东西隐藏在CSS样式之后,搜索引擎还没那么聪明,所以目前,我们只能够在保持页面结构清晰的前提下尽量用相关的标签去”提醒”爬虫留意页面的不同要素的内容,归根到底还是有人工干预了!

不过没办法,就像浏览器发展缓慢一样,严重跟不上其它技术的发展.