作者:张克军 用户体验部
在掌握了XHTML的基本知识后,要理解语义化的概念。在流程化的产品前端开发中,模板是传递最频繁的,因此,模板的质量是影响前端开发的重要因素。Web标准是衡量模板质量的指标之一,另一方面语义化的XHTML也是提高效率的有效方法。
语义化的XHTML代码不仅对人是友好的。对搜索引擎也是友好的。使用语义化的XHTML可以很快从代码上了解一个页面的结构,而不是从表现上了解一个页面的结构。
语义化的HTML主要包括语义化的标签和语义化的命名。
标题(Headline):<h1>…</h1>
段落(paragraph):用<p>标记段落,而不用<br />来生成段落间的空白
列表(List):在XHTML中有三种列表:有序列表、无序列表、自定义列表。
引用(quote):<blockquote>…</blockquote>
强调:<strong>…</strong>
表格(Table):仅用来表现数据表格,如排行榜。
Table在XHTML中并不是用来布局的,在XHTML中用“盒模型”来进行布局。
如何理解“盒模型”?所谓“盒子”就是具有block属性的元素,如div。当然也可以通过CSS定义让一些元素的具备hasLayout属性。单一的“盒模型”如图所示:
页面是由很多“盒子”组成的。
我们正在开发本地版的Page Grids。这样就可以快速的实现“盒”布局。(Yahoo! UI Library: Grids CSS)
总结一下XHTML带给Web产品的变化:
1、XHTML是单纯的结构描述语言,浏览器解释起来更快。
2、对SEO有利。
3、主要的Web产品都不是一次性的产品,必然伴随着后期反复的修改和内容维护。干净的XHTML代码,让后期的工作变得更加轻松,降低了相当可观的后期维护成本。
所以,高质量的XHTML,是Web产品开发流程中高效的重要基础。
我们一直追求的就是:A Nice And Clean Markup!
一个干净的页面代码,对于其他Web Dev是友好的
一个干净的页面代码,对于编辑是友好的
一个干净的页面代码,对于产品经理是友好的
一个干净的页面代码,对于工程师是友好的
一个干净的页面代码,对于机器是友好的
以一个常用的不间断滚动的幻灯为例:
改善前的代码,冗长而不易维护:
改善后的代码,干净很多了,对内容维护人员是友好的:
4、Web产品随着运营的需求是多变的,高质量的XHTML能够快速的响应这些变化。如果对一个模块进行小小的改动,都会引发出很多问题或是投入大量的时间,这说明是页面代码的粗糙和垃圾代码太多。
雅虎在很多产品中应用的幻灯效果,实际都是基于一个标准的幻灯组件,用CSS控制不同的外观,这样在产品中可以很快速的加入这些效果:


雅虎产品前端是以模块为最小单位,这些模块资源可以灵活的应用在不同场合,这样就可以根据运营要求快速组合出新页面。例如,雅虎图片搜索中的分类列表模块,其XHTML部分都是一样的,也就是说同样一段代码复制到另一个页面中,在另一个页面的CSS控制下,完全变成另一个样子。
雅虎产品正在逐步的转向Web标准,全面采用Web标准之后,产品开发的各个环节都将能更专注于自己的业务环节,产品人员只需要专注于思考产品,工程师会专注于开发,UED人员会专注于用户体验,专注会给雅虎的产品带来更好的用户体验。
权威网址:
W3C – World Wide Web Consortium 万维网联盟
http://www.w3.org
Web Standard Project(WaSP) Web标准组织。劝说浏览器厂商支持标准。
http://www.webstandards.org
A List Apart 是Jeffrey Zeldman(http://www.zeldman.com)和Brian Platz在1998年创办的电子邮件列表,1999年后是在线志杂的形式。
http://www.alistpart.com
ECMA欧洲计算机制业者协会
http://www.ecma.ch/
CSS(CSS1/CSS2)– Cascading Style Sheet
http://www.w3.org/Style/CSS
http://www.w3.org/TR/REC-CSS1/、http://www.w3.org/TR/REC-CSS2/
W3C DOM规范
DOM – Document Object Model 允许“程序和脚本动态地的访问和更新文档的内容、结构和样式。”
http://www.w3.org/DOM
site:yahoo.com.cn
只有5页?
在百度site:baidu.com就那么多~
不过楼上的,js和css为何不单独成文,其实在一些书籍里说得比较明白的。大网站,为了维护容易及省事,因为一主机上有很多页面,查找文件并不容易。另外,对于百度、google之了的,本身并不需要其他搜索引擎来收录,也就是说它们做seo是没像我们这样有必要的。而且门户访问,打开一次后很少会再刷新首页,况且首页的CSS和内页CSS不怎么通用,所以代码重用的问题少。
其实主要还是为了维护,所以不单独成文。
原来研究yahoo首页的时候,发现你们也是用table定最小页面宽度,然后用div填内容 这种混合式的排版方便有效 可是并不是符合标准的啊
发布者:Sucirst - 2006年09月12日 14:40不错,我终于看到雅虎中国也开始重视web标准了。这对web标准行业的发展会起到推动的作用。看了新版的雅虎中国首页,跟英文原版相差还是挺大的,没能够做到在IE下的字体缩放。或许是用户体验部认为中国网民不会使用IE的文本大小功能?一般情况下,但我眼睛不好使,或者屏幕分辨率大(物理尺寸不大)的情况下,我都希望能够放大字体,无论是什么浏览器。
发布者:Realazy - 2006年08月20日 1:54单纯这个blog的首页就有 61 warnings
“自身内容的获取都很受影响”
上面都说了,http://search.cn.yahoo.com/search?ei=gbk&pid=ysearch&source=ysearch_web_hp_button&p=site%3Awww.yahoo.com.cn&vs= 去看看结果吧
"主动抵制那些粗糙的垃圾网站" 这句话从什么地方引出来的?
发布者:Fenng - 2006年08月12日 20:27请FENNG详细解释一下为什么“自身内容的获取都很受影响”
我们考虑的是在一次HTTP对话过程中,就把所有内容都请求下来。
所以,在未来搜索会进一步追求极简主义,让用户用起来顺手!
UED就是user experience design。如果你是一个很讲究生活品质,不盲目跟风的人,你应该主动抵制那些粗糙的垃圾网站(这句话仅代表我个人观点)。
RDS让FENNG给你解释吧
我看到这个地方已经有了5个评论了,为什么日志首页只看到2个?原先我以为是刷新的问题,但是刷新后还是2个。为什么,难道雅虎人员的发言是不算在内的吗?还有同一个人的发言一只算做一个吗?
发布者:Gman - 2006年08月09日 18:10哥哥们上面的"UED"、"RDS"是什么意思?还有就上面是否在首页嵌入JS和CSS的问题请雅虎UED和FENNG继续讨论!
发布者:fairy - 2006年08月09日 18:00第二条不是很赞同。js 文件与 css 文件如果在其他服务器上引发性能问题,应该解决速度问题才是。也是,我也观察到美国雅虎要从Rds交互,很影响响应速度。
js,cs 混在一个页面,恐怕自身内容的获取都很受影响
发布者:Fenng - 2006年08月09日 16:05第一个,首页js和css有的用嵌入方式,有的用外部链接方式。是从维护角度考虑的,外部的js和css是除了UED可以修改外运维人员是不能随便动的,而嵌入方式的js和css是可以根据需求灵活修改的。外部的js和css是有严格的版本管理的,但是我们又不想限制死。
第二个,搜索首页是访问量很大的页面,从性能考虑,尽可能少的发生http请求。换句话说,外部css和js在专门的服务器上,会和首页访问速度不同步。
第三个,从SEO上讲,应该加alt属性,没加肯定是忘加了,谢谢你的提醒
To feng:感谢提醒,问题已经修复
发布者:搜索日志小组 - 2006年08月09日 13:16还有现在的 blog 首页被这篇文章挤的布局乱掉了
发布者:Fenng - 2006年08月09日 10:09理论真的很好。
但是我就不明白的是,雅虎中国首页的大段 JS 代码为什么用嵌入脚本的形式? search.yahoo.com.cn 的首页里面为什么还有大量的CSS标记 ?
雅虎相册里面的图片为什么没有Alt属性?