from http://dancewithnet.com/2008/05/12/semantics-standards-styling/
大概在2004年初的时候,我第一次买了一本很厚的书,名字或许叫《Dreamweaver MX从入门到精通》,很认真看着书并实践操作大约三分之二后,就感觉自己不错了,利用Dreamweaver加上表格套表格可以把视觉精确的转化成静态页面,在那年底我完成了随网之舞的第一版。也就是在那个时候“WEB标准”这个新名词闯入了我的视线,《网站重构》这本书和w3cn.org吸引了我。2005年初,当我在广东茂名实习的时候,我第一次利用当时理解的标准,准确来说就是利用XHTML1.0加上利用CSS布局做了两个能同时兼容IE5.0+和Firefox的站点。毕业后,看到到处言必称标准,开发时强调XHTML1.0的语法规范(标准貌似被很多人认为就是XHTML1.0+CSS),检查时强调W3C的验证器(比如为了通过验证利用Javascript实现弹窗),招聘是强调会DIV+CSS(这是标准的另一个称呼,甚至到现在偶尔还有人给我一个链接对我说:”看我按标准做的网页,全部是DIV,一个TABLE都没有。”),那个时候似乎陷入了对基础语法(通过验证)和对CSS技能(hack技术)的追求上去了。后来,当我了解HTML的历史时,我才注意到HTML众多版本的标准,意识到HTML本质是用语义结构化文档和构建WWW的超链接。
现在回想起来,《网站重构》让我接触到标准,却没有让我理解标准,所以现在对它的记忆似乎仅限于那句“休斯顿,出了问题”。很长一段时间我都尝试去理解HTML标签的含义,比如去了解dl是definition list的缩写,通过看W3C、A List Apart、YAHOO的源码去揣摩HTML的语义、结构嵌套规则和语义化的命名,也是当我看到YAHOO首页的DTD是HTML4.01时,才意识到标准并不仅有XHTML1.0这个DTD,更重要的是语义化的结构。虽然W3C有大量的文档存在,但总给我一种很晦涩难懂的感觉,所以到现在为止关于HTML我参考最多的文档还是《XHTML1.0参考》、《(X)HTML Strict 下的嵌套规则》和《XHTML1.1标签列表》。但这些对于如何利用语义标签恰到好处的结构化文档还是模糊和远远不够的。一个月前,我看到了《HTML Mastery》,这本书的内容可以通过其中译本《精通HTML》的目录一目了然。这是我目前看到关于HTML学习最好的一本书,它涉及到大部分我在HTML应用上的遇到问题,同时也印证和细化了大部分我对HTML语义化的理解。同时在这本书里我还新学到了:
- HTML中对什么是标签(tag),什么是元素(element)最准确的描述。
- 对MIME理解
- 链接的rel和rev属性的含义和作用,如何创建可访问性链接
- abbr和acronym的区别
- 语义化表格:表格是很复杂的东西,每次看都有新的收获,配合着Eric A.Meyer的《CSS权威指南》的“表布局”那章就更好了。
- 微格式:以前都是零零碎碎,这次真系统啊。
《HTML Mastery》的副标题是Semanctics,Standards,and Styling,我把它作为我的标题。语义是HTML的本质和基础,标准是HTML的通用的保证,样式是在语义和标准基础上更好的为人民服务。良好的语义不仅有利于内容、表现和行为的分离,也应该有利于表现和行为的实现,进一步反应了我们对需要结构化内容(信息是互联网的核心)的理解和对可能出现变化的把握。HTML5新增的标签也说明了这点,比如<header>和<footer>不正是<div id=”header”></div>和<div id=”footer”></div>抽取吗?XHTML2更是在这个问题上走到黑。当然现实残酷的,CSS还不足以通过简单的标签表达丰富的视觉,所以不得不为了视觉而添加一些无意义的标签。在知道保证语义的基础上做一些合理妥协和本身认为增加无意义标签是理所当然的是两种不同的境界。如果你选择了第一种,那么你深刻的理解HTML的语义是必然的选择。CSS Zen Garden和CSS Mojo是这方面的表率。
D2上不少人说想交流HTML的语义化,其实可以从这本书开始。如果您的工作涉及到HTML,就应该读这本书,所以我向我的同事们、口碑的同学们都推荐过,现在我依旧向您推荐它。