淘宝首页代码调整

来源:陈成的博客 时间:2011-04-22 12:44:00 

1. 吊顶下拉菜单的键盘可用性改进

无障碍访问貌似最近比较火,大家都在,其中一块就是键盘的可访问性。我们在首页上作了些调整,让用户可以通过键盘访问到下拉菜单里的内容,希望小小的改进能够帮助到一些人。

实现方式不多解释,具体见代码:

var S = KISSY, DOM = S.DOM, Event = S.Event;var siteNav = DOM.get('#site-nav');var ulEl = DOM.get('#site-nav-bd ul');var linkEls = DOM.query('a', ulEl);var liEls = ul.getElementsByTagName('li');var menuEls = DOM.query('div.menu', ulEl);var searchLiEl = DOM.get('li.search', ulEl);var searchHdEl = DOM.get('span.menu-hd', searchLiEl);searchHdEl.setAttribute('tabIndex', 0);linkEls.push(searchHdEl);linkEls.push(DOM.get('header.top-header').getElementsByTagName('a')[0]);Event.on(linkEls, 'focus', function() {    var li = DOM.parent(this, 'li');    DOM.removeClass(liEls, 'hover');    DOM.addClass(li, 'hover');    if (DOM.hasClass(li, 'services') && DOM.html('#J_ServicesContainer') === '') {        KISSY.getScript('http://www.taobao.com/index_inc/2010c/includes/get-services.php?cb=__services_results');    }});Event.on(menuEls, 'mouseleave', function() {    DOM.removeClass(liEls, 'hover');});    Event.on(document.body, 'click', function() {    DOM.removeClass(liEls, 'hover');});

PS: 国外很多站点都作了类似处理:比如 Mozilla、Google,但国内好像不多见。


2. Flash 嵌入方法调整

源于小马提的一个 bug 反馈:在 IE 下没装 Flash 控件时,页面会出现大片空白。

乔花 MM 分析原因,反复测试后发现:

  1. 没装 Flash 和装了 Flash 后禁用 Flash 的表现是不一致的,后者不会出现 bug 里描述的问题

  2. 没装 Flash 时,如果用下面这种古老的 Flash 嵌入方法,浏览器会去请求 codebase 指定的地址,完了提示你安装 Flash

    <object        classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"        codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0"        width="90" height="40">    <param name="movie" value="/file/UploadPic/20114/22/t1ovv6xbxkxxxxxxxx-62.swf">    <param name="wmode" value="transparent">    <embed wmode="transparent" src="https://img.aspxhome.com/file/UploadPic/20114/22/t1ovv6xbxkxxxxxxxx-62.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" width="90" height="40" type="application/x-shockwave-flash" wmode="transparent"/></object>

  3. 如果 object 对象后跟一个内联脚本,则会阻塞后续资源的渲染和下载,直到 codebase 的请求完成。很悲剧,首页就这种情况;更悲剧的是,download.macromedia.com 的请求返回很慢 ...

  4. 解决方式是换一种 Flash 嵌入方式,比如:

    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="90" height="40" class="holiday-logo">    <param name="movie" value="/file/UploadPic/20114/22/t1ovv6xbxkxxxxxxxx-62.swf">    <param name="wmode" value="transparent">    <!--[if !IE]>-->    <object type="application/x-shockwave-flash" data="/file/UploadPic/20114/22/t1ovv6xbxkxxxxxxxx-62.swf" width="90" height="40">        <param name="wmode" value="transparent">    </object>    <!--<![endif]--></object>

最后附上各种情况的测试页面:阻塞(问题页面)不阻塞(问题已解决)。测试时请注意要:IE浏览器卸载Flash清空缓存

标签:淘宝,首页,无障碍
0
投稿

猜你喜欢

  • Python基于traceback模块获取异常信息

    2022-04-27 11:30:10
  • Oracle SQL性能优化系列学习一

    2010-07-26 13:14:00
  • 使用python画出逻辑斯蒂映射(logistic map)中的分叉图案例

    2023-05-19 13:05:18
  • mysql慢查询日志轮转_MySQL慢查询日志实操

    2024-01-26 05:54:14
  • python爬虫实战之爬取京东商城实例教程

    2022-05-11 05:33:23
  • 解决编码问题:UnicodeDecodeError: 'utf-8' codec can't decod

    2023-03-25 02:45:59
  • pycharm第三方库安装失败的问题及解决经验分享

    2023-07-11 01:50:45
  • 汉明码编码原理及校验方法分析

    2022-10-09 06:38:13
  • PHP date函数参数详解

    2023-11-23 06:41:40
  • windows系统mysql压缩包版本安装过程

    2024-01-14 16:47:38
  • 端午节将至,用Python爬取粽子数据并可视化,看看网友喜欢哪种粽子吧!

    2023-08-23 06:29:31
  • 30万条数据,搜索文本字段的各种方式对比

    2010-05-02 10:17:00
  • JS实现动态添加外部js、css到head标签的方法

    2024-05-02 16:29:45
  • Django Serializer HiddenField隐藏字段实例

    2022-10-29 02:39:07
  • Django学习教程之静态文件的调用详解

    2022-01-03 00:19:45
  • 页面软键盘汉字输入

    2010-09-01 20:41:00
  • 如何捕获人家站点的页面?

    2009-11-11 19:19:00
  • Python利用numpy实现三层神经网络的示例代码

    2021-07-29 22:04:46
  • Python Web框架Tornado运行和部署

    2021-04-14 09:17:57
  • Python利用matplotlib.pyplot.boxplot()绘制箱型图实例代码

    2022-11-18 05:08:26
  • asp之家 网络编程 m.aspxhome.com