写得有点晚,直奔主题。

YUI 3 神功初显

去年 11 份开始,已经有新闻:The New Yahoo! Front Page and YUI 3.0. 更小、更快、更灵活、更独立、向前兼容等等优点,不多说。从 Yahoo! 新版首页的性能来看,YUI 3 起到了不小作用。

附加 UA 信息

<html lang="en-US" dir="ltr" class="y-fp-bg ua-ff ua-ff3 ua-win  bkt701
jsenabled flash-10 flash-gt9 flash-gt8 flash-gt7 flash-gt6 flash-gt5 flash-gt4">

后台生成页面时,直接将 UA 信息添加在 html 标签上。其中 jsenabled, flash-10 等信息,是通过 js 添加的。
具体好处请参阅博文:Goodbye to CSS Hack.

960 不是神话

Yahoo! 新版首页的页面宽度为 972px. 页面结构如下:
yahoo-layout.png

其中 y-cols 下三栏的宽度为:192 + 8 | 400 + 10 | 350. 总宽度为 960. 加上最右边的 10px 和左右边框 2px, 总宽度为 972px.

栅格带来的是一种布局思想,具体宽度比例可以根据实际情况调整到视觉最佳。960 并不是神话。

主体部分,简单三栏,底部和各个模块的底边并没有对齐,体现了“栅格决定宽度,内容决定高度”的布局思想。(为何国内站点老追求水平方向的对齐的呢?不对齐,能降低开发和维护成本。视觉上,也能带来简洁和错落之美。想不通ing……)

快乐的 Loading

无论是左边的站点入口,还是内容区域的标签页和轮播新闻,所有触发后才显示的内容,都是通过 Ajax 动态加载的。交互简单舒服,赞。

ARIA 支持

忘了 Yahoo! 的老版首页是否支持,这次明显加入了对 ARIA 的支持,例如:

<div aria-live="polite" role="status" class="aria-announce hide-offscreen"/>

国外对网站可访问性的关注,什么时候才能影响国内呢?

也许是缺点

1. 有点混乱的 class 命名。有些辅以 y- 前缀,这能尽量减少重名和相互影响。但同时能看到 mod, my, small 等常见单词的命名,感觉缺乏统一管理。

2. html 结构嵌套比较深。不少细节,感觉有更简洁的写法。这次 Yahoo! 首页的源码,让我感觉越来越像 Google 的风格。也许是 Yahoo! 前端团队成员的水平降低了(老员工的离职等)?或许是观念上的转变(实用主义)?最近也在思考这方面的问题。毕竟,大部分情况下,多两三个标签,相对而言最廉价。如果多些嵌套能带来可维护性的提高和操作上的方便,那是非常值得的。

3. 未删除的注释、未压缩的 css 和 js. 考虑到页面内容很可能是由多个系统协同产出,这些小细节,算不得是缺点,瑕疵吧。

写之前,感觉有很多想说的。写起来,却发现没啥。除了 YUI 3 的应用,Yahoo! 新版首页在前端代码上给我们的喜悦有点少,或许是因为我的期望太高。