关于HTML语义,我也有看法

2009年08月29日 由 Rock 回复 »

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

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

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

声明: 转载请注明转自 背光脚本 - www.bgscript.com

4 评论

  1. 流水涵清 说:

    其实语义不仅仅是给计算机看的,也是给人看的。
    <p></p>人和计算机都会知道它是一个段落,但<div></div>计算机不认识,人也不敢确定它是一个段落。这里的人是对程序编写人员说的。

    比如JavaScript里:
    var name,age,sex;

    var a,b,c;
    两者比较,当然前者更有语义。

  2. Rock 说:

    你这里的把人定位到从事开发者,从这角度来说不错.从用户角度看来,一个页面所包含的内容给用户带来视角(色彩),触觉(各种响应),和感觉(收获)上的冲击,都是页面蕴涵的意义所在,都很直观,用户不管它们背后是什么技术,虽然它们的表达都离不开计算机背后各种技术(多媒体,HTML,CSS,JS)的支持。但获得一个页面所蕴涵的意义,或者说要使计算机分析由这些技术组成页面背后的所表达的意义,就得按照这些技术所表达出来的语义去分析它们,这些技术的语义是给计算机去分析的,比如说<p>这些签标,但单凭标签这些是有局限的,上面提到,随着WEB的发展,表达用户感观的不仅仅是HTML,还有多媒体,CSS这些技术,但可能目前的搜索引擎就跟不上了。

  3. cheney 说:

    太佩服拉.

  4. 现在css也能表示部分语义了…将来应该用多个属性描述是否会更好呢…毕竟标签只能代表一种…

回复