经常会无聊看看google play里新推了什么新应用,这次看到了pocket(http://getpocket.com),点进去一看,原来是以前用过的read it later,简单的说,这是一个服务,提供了一个途径,使得你可以把临时看到想看的页面暂时收藏起来,过后有空在去看,它还提供了移动终端的应用,方便事后阅读,在使用了pocket应用后,便有了一些感受,也就是我想分享的关于语义化的好处。
经常在css森林里看到关于语义化的讨论,基本会扯到seo,屏幕阅读,最终又常常无疾而终,似乎大家都无法说出特别让人信服的强有力的理由,我就想在这总结下,继续抛砖引玉。
那么什么是语义化的html呢?我的理解是通过html的标签,class和id等属性将标签内的内容整合,使其结构更加清晰更有语义,这里的语义是指让机器能理解的信号,更接近自然语言的逻辑和含义。
如果这样看来,会扯到seo,屏幕阅读似乎很合理,可是为什么每次讨论都还是会有人重复在纠结同样的问题,还是充满着疑问却说不清道不明。seo和屏幕阅读确实需要有良好的语义做支撑,可是对于我们的用户(我们本身也是用户)来讲,这些东西似乎离我们大部分人还很遥远,这也是一个疑惑点,因为感觉不到语义化带来的好处,没有一个很直观的提升体验,所谓语义的重要性也只是停留在理论支持。
我们先来看几个语义化的好处:
1,简洁明了;语义化的代码使你的代码能体现其要展示的内容,对于开发者来说,模块更清晰。
2,可访问性;就像前面说的,屏幕阅读器能准确读出页面上的内容,还可以在标题或者其他需要强调的地方加强语气。可以让更多的设备识别并利用页面上的内容。
3,对搜索引擎友好;其实这点可以算是第二点的在特定领域的应用。
以上三点应该算是经常被提起,也算是比较被认可的观点,个人认为第二点能给用户带来最直接好处。屏幕阅读和seo都只是其中的一种应用,回顾语义化html的定义和它的好处,我们可以发现,它的好处不仅仅局限于此。就像开始提到的一个跨平台的应用,用户在移动终端最想得到的是页面的主体内容,也就是标题和正文,其他的不关心也不想关心,而且访问速度要快,这里就涉及到产品的体验问题,一下就可以分辨出语义化相对非语义化的区别了,良好的语义化html的页面使得应用(不仅仅是屏幕阅读了)可以通过算法更好的识别并合理利用页面的内容,得到用户关心的,减少访问流量,加快信息获取速度。而时间成本的减少,流量消耗的减少和产品良好的阅读体验带来的提升就是各种省钱啊,减少机房废气排放啊,环保节能啊(扯太远了→_→),总之,能让用户和服务提供方省钱的技术才是好技术,而在多终端跨终端访问成为趋势的大背景下,这点变得更有意义,虽然这也只是其中的一种应用,但我相信未来会有更多应用受惠于它。