也说说语义
时间:2009-12-29 13:04:00
搞前端应该对语义化并不陌生,每天都在说语义化,可什么是语义化,语义化究竟能给我们带来什么好处?参加web标准交流会的时候我向各位同学提出了我的疑问。
按照大部分同学的意思,语义化主要是对结构的语义,对于段落我们用P,对于结构块,我们用div,对于主标题,我们用h1,这样做可以更适合更多的客户端(页面不乱?),可以适合更多人群(让阅读器正确的读出页面,让盲人也能看),让计算机知道这里是标题是段落是列表。
那按照这样说,其实只要是把标签写正确就好,标签正确了结构就正确了,结构正确了也就语义了。
话说的没错,可我认为现在谈这种语义还为时过早,语义应该web的语义,让web页面“可以说出来”才是语义。
在html5中,有些很有意思的标签:
canvas,audio,video
section,header,footer,nav,article,aside,figure
我觉得它们更像“语义”,通过canvas,我们可以告诉程序,这里是一张图,通过audio,我们可以告诉程序,这里是一段声音。
语义化的作用是否应该认为是为了让应用程序能够理解此数据的含义,藉此可将这部分数据剥离出来,并可以通过其他的方式来使用。
让我们幻想一下当计算机读取到下面的代码时就会在早上7点叫我起床
<time>07:00</time>
<audio>我是小蜜蜂</audio>
当然你也可以不在7点起床,甚至可以用其他的歌曲而不用我是小蜜蜂飞到花从中这歌。
语义的关键还是在于可以告诉计算机这块数据我要干什么,其实这更像是我们用js读xml,并从中取出来有用的数据提供给用户,这里只是说他自动了,不需要人工再去做了。
就目前的情况来说,xhtml是不可能做到这一点的。
也有提出了RDF的东东,不过我没有弄明白这个东西怎么用,它看上去是一种xml的衍生体,并且要单独的去开发程序,估计很难得到普及。
所以现在很多文章不断的提出语义我个人觉得是太早了,太过了,这些理论的概念只能让初学者更加迷茫,我们只要做到标签写对酒可以了,现在不断谈语义不是时候,只会让人更加费解。
呵呵,期待HTML5。