SlideShare a Scribd company logo
1 of 22
Accessibility 实施指引 产品使用无障碍 杜欢 ,[object Object],[object Object]
 
企业愿景 社会保障 技术实现
更好的技术将有助于视觉障碍人群,和其他人更好地使用互联网。
 
产品项目 原型设计 UE 设计 可用性 设计 项目 实施 可用性 文档 可用性 高对 比度 测试 视觉 高对 比度 设计
 
全局设定 Tab 键的访问顺序 由上到下 由左到右
 
细节设定 Tab 键的访问顺序 交互中的操作需要在交互面板展开后按照全局设定继续进行 交互面板中最后一个元素之后将使 Focus 回到无交互状态下的自然顺序
 
[object Object],[object Object],[object Object]
 
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
 
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
 
 
 
 
 
 

More Related Content

Viewers also liked

The Mobile Academy - Supporting London's Ecosystem
The Mobile Academy - Supporting London's EcosystemThe Mobile Academy - Supporting London's Ecosystem
The Mobile Academy - Supporting London's EcosystemJulia Shalet
 
Family Deity (Kuladevata) Dr. Shriniwas Kashalikar
Family Deity (Kuladevata) Dr. Shriniwas KashalikarFamily Deity (Kuladevata) Dr. Shriniwas Kashalikar
Family Deity (Kuladevata) Dr. Shriniwas Kashalikarshriniwaskashalikar
 
Key Developments in Emerging Markets
Key Developments in Emerging MarketsKey Developments in Emerging Markets
Key Developments in Emerging MarketsFrancis Ho
 
Marathi, Mahatma Gandhi And Namasmaran Dr Shriniwas Kashalikar
Marathi, Mahatma Gandhi And Namasmaran Dr Shriniwas KashalikarMarathi, Mahatma Gandhi And Namasmaran Dr Shriniwas Kashalikar
Marathi, Mahatma Gandhi And Namasmaran Dr Shriniwas Kashalikarshriniwaskashalikar
 
Hitguj M A R A T H I B E S T S E L L E R O N S U P E R L I V I N G Dr
Hitguj  M A R A T H I  B E S T S E L L E R  O N  S U P E R L I V I N G  DrHitguj  M A R A T H I  B E S T S E L L E R  O N  S U P E R L I V I N G  Dr
Hitguj M A R A T H I B E S T S E L L E R O N S U P E R L I V I N G Drshriniwaskashalikar
 
NYE Sydney 2009
NYE Sydney 2009NYE Sydney 2009
NYE Sydney 2009ceasdown
 
Internet of Things Experts Share Perspectives on Monetizing the Internet of T...
Internet of Things Experts Share Perspectives on Monetizing the Internet of T...Internet of Things Experts Share Perspectives on Monetizing the Internet of T...
Internet of Things Experts Share Perspectives on Monetizing the Internet of T...Flexera
 

Viewers also liked (9)

The Mobile Academy - Supporting London's Ecosystem
The Mobile Academy - Supporting London's EcosystemThe Mobile Academy - Supporting London's Ecosystem
The Mobile Academy - Supporting London's Ecosystem
 
Belkan danaci
Belkan danaciBelkan danaci
Belkan danaci
 
Family Deity (Kuladevata) Dr. Shriniwas Kashalikar
Family Deity (Kuladevata) Dr. Shriniwas KashalikarFamily Deity (Kuladevata) Dr. Shriniwas Kashalikar
Family Deity (Kuladevata) Dr. Shriniwas Kashalikar
 
Key Developments in Emerging Markets
Key Developments in Emerging MarketsKey Developments in Emerging Markets
Key Developments in Emerging Markets
 
Marathi, Mahatma Gandhi And Namasmaran Dr Shriniwas Kashalikar
Marathi, Mahatma Gandhi And Namasmaran Dr Shriniwas KashalikarMarathi, Mahatma Gandhi And Namasmaran Dr Shriniwas Kashalikar
Marathi, Mahatma Gandhi And Namasmaran Dr Shriniwas Kashalikar
 
Hitguj M A R A T H I B E S T S E L L E R O N S U P E R L I V I N G Dr
Hitguj  M A R A T H I  B E S T S E L L E R  O N  S U P E R L I V I N G  DrHitguj  M A R A T H I  B E S T S E L L E R  O N  S U P E R L I V I N G  Dr
Hitguj M A R A T H I B E S T S E L L E R O N S U P E R L I V I N G Dr
 
NYE Sydney 2009
NYE Sydney 2009NYE Sydney 2009
NYE Sydney 2009
 
Internet of Things Experts Share Perspectives on Monetizing the Internet of T...
Internet of Things Experts Share Perspectives on Monetizing the Internet of T...Internet of Things Experts Share Perspectives on Monetizing the Internet of T...
Internet of Things Experts Share Perspectives on Monetizing the Internet of T...
 
Portafolio
PortafolioPortafolio
Portafolio
 

More from taobao.com

编辑器设计U editor
编辑器设计U editor编辑器设计U editor
编辑器设计U editortaobao.com
 
淘宝开放产品前端实践
淘宝开放产品前端实践淘宝开放产品前端实践
淘宝开放产品前端实践taobao.com
 
广告投放代码和创意代码持续优化
广告投放代码和创意代码持续优化广告投放代码和创意代码持续优化
广告投放代码和创意代码持续优化taobao.com
 
第三方内容开发最佳实践
第三方内容开发最佳实践第三方内容开发最佳实践
第三方内容开发最佳实践taobao.com
 
编辑器设计Kissy editor
编辑器设计Kissy editor编辑器设计Kissy editor
编辑器设计Kissy editortaobao.com
 
百度前端性能监控与优化实践
百度前端性能监控与优化实践百度前端性能监控与优化实践
百度前端性能监控与优化实践taobao.com
 
Node.js在淘宝的应用实践
Node.js在淘宝的应用实践Node.js在淘宝的应用实践
Node.js在淘宝的应用实践taobao.com
 
Kind editor设计思路
Kind editor设计思路Kind editor设计思路
Kind editor设计思路taobao.com
 
Java script physical engine
Java script physical engineJava script physical engine
Java script physical enginetaobao.com
 
Html5环保小游戏
Html5环保小游戏Html5环保小游戏
Html5环保小游戏taobao.com
 
阅读类Web应用前端技术探索
阅读类Web应用前端技术探索阅读类Web应用前端技术探索
阅读类Web应用前端技术探索taobao.com
 
完颜:移动网站的兼容性探索
完颜:移动网站的兼容性探索完颜:移动网站的兼容性探索
完颜:移动网站的兼容性探索taobao.com
 
张平:JavaScript引擎实现
张平:JavaScript引擎实现张平:JavaScript引擎实现
张平:JavaScript引擎实现taobao.com
 
高力:19楼现有前端架构
高力:19楼现有前端架构高力:19楼现有前端架构
高力:19楼现有前端架构taobao.com
 
李成银:前端编译平台
李成银:前端编译平台李成银:前端编译平台
李成银:前端编译平台taobao.com
 
钱宝坤:多浏览器集成的JavaScript单元测试工具
钱宝坤:多浏览器集成的JavaScript单元测试工具钱宝坤:多浏览器集成的JavaScript单元测试工具
钱宝坤:多浏览器集成的JavaScript单元测试工具taobao.com
 
张克军:前端基础架构的实践和思考
张克军:前端基础架构的实践和思考张克军:前端基础架构的实践和思考
张克军:前端基础架构的实践和思考taobao.com
 
刘平川:【用户行为分析】Marmot实践
刘平川:【用户行为分析】Marmot实践刘平川:【用户行为分析】Marmot实践
刘平川:【用户行为分析】Marmot实践taobao.com
 
吴英杰:【用户行为分析】淘宝页面显微镜系统原理及实践
吴英杰:【用户行为分析】淘宝页面显微镜系统原理及实践吴英杰:【用户行为分析】淘宝页面显微镜系统原理及实践
吴英杰:【用户行为分析】淘宝页面显微镜系统原理及实践taobao.com
 

More from taobao.com (20)

编辑器设计U editor
编辑器设计U editor编辑器设计U editor
编辑器设计U editor
 
Berserk js
Berserk jsBerserk js
Berserk js
 
淘宝开放产品前端实践
淘宝开放产品前端实践淘宝开放产品前端实践
淘宝开放产品前端实践
 
广告投放代码和创意代码持续优化
广告投放代码和创意代码持续优化广告投放代码和创意代码持续优化
广告投放代码和创意代码持续优化
 
第三方内容开发最佳实践
第三方内容开发最佳实践第三方内容开发最佳实践
第三方内容开发最佳实践
 
编辑器设计Kissy editor
编辑器设计Kissy editor编辑器设计Kissy editor
编辑器设计Kissy editor
 
百度前端性能监控与优化实践
百度前端性能监控与优化实践百度前端性能监控与优化实践
百度前端性能监控与优化实践
 
Node.js在淘宝的应用实践
Node.js在淘宝的应用实践Node.js在淘宝的应用实践
Node.js在淘宝的应用实践
 
Kind editor设计思路
Kind editor设计思路Kind editor设计思路
Kind editor设计思路
 
Java script physical engine
Java script physical engineJava script physical engine
Java script physical engine
 
Html5环保小游戏
Html5环保小游戏Html5环保小游戏
Html5环保小游戏
 
阅读类Web应用前端技术探索
阅读类Web应用前端技术探索阅读类Web应用前端技术探索
阅读类Web应用前端技术探索
 
完颜:移动网站的兼容性探索
完颜:移动网站的兼容性探索完颜:移动网站的兼容性探索
完颜:移动网站的兼容性探索
 
张平:JavaScript引擎实现
张平:JavaScript引擎实现张平:JavaScript引擎实现
张平:JavaScript引擎实现
 
高力:19楼现有前端架构
高力:19楼现有前端架构高力:19楼现有前端架构
高力:19楼现有前端架构
 
李成银:前端编译平台
李成银:前端编译平台李成银:前端编译平台
李成银:前端编译平台
 
钱宝坤:多浏览器集成的JavaScript单元测试工具
钱宝坤:多浏览器集成的JavaScript单元测试工具钱宝坤:多浏览器集成的JavaScript单元测试工具
钱宝坤:多浏览器集成的JavaScript单元测试工具
 
张克军:前端基础架构的实践和思考
张克军:前端基础架构的实践和思考张克军:前端基础架构的实践和思考
张克军:前端基础架构的实践和思考
 
刘平川:【用户行为分析】Marmot实践
刘平川:【用户行为分析】Marmot实践刘平川:【用户行为分析】Marmot实践
刘平川:【用户行为分析】Marmot实践
 
吴英杰:【用户行为分析】淘宝页面显微镜系统原理及实践
吴英杰:【用户行为分析】淘宝页面显微镜系统原理及实践吴英杰:【用户行为分析】淘宝页面显微镜系统原理及实践
吴英杰:【用户行为分析】淘宝页面显微镜系统原理及实践
 

Accessibility guide

Editor's Notes

  1. 社会保障 Americans with Disabilities Act (ADA), Section 255 of the U.S. Telecommunications Act U.K. Disability Discrimination Act 中华人民共和国通信行业标准 - 信息无障碍 - 身体机能差异人群 - 网站设计无障碍技术要求
  2. <h1> 静态的 DOM 文档流顺序 </ h1> <div class="ffoot-col"> <div class="ffoot-block"> <h3><a href="#">1.DOM 文档流顺序保证 </ a></h3> <ul> <li><a href="#">1A</a></li> <li><a href="#">1B</a></li> <li><a href="#">1C</a></li> </ul> </div> <div class="ffoot-block"> <h3><a href="#">2.DOM 文档流顺序保证 </ a></h3> <div id="industriesmenu" class="ffoot-menucontent"> <ul> <li><a href="#">2A</a></li> <li><a href="#">2B</a></li> <li><a href="#">2C</a></li> <li><a href="#">2D</a></li> <li><a href="#">2E</a></li> <li><a href="#">2F</a></li> </ul> </div> </div> <div class="ffoot-block"> <h3><a href="#">3.DOM 文档流顺序保证 </ a></h3> <ul> <li><a href="#">3A</a></li> <li><a href="#">3B</a></li> <li><a href="#">3C</a></li> </ul> </div> </div>
  3. <style> ul,li{list-style:none;margin:0;padding:0;} .ffoot-col{position:relative;} #submenu{position:absolute;left:220px;top:60px;z-index:10;width:100px;padding:15px;background:#ccc;} </style> <h1> 交互中的 DOM 文档流顺序 </ h1> <div class="ffoot-col"> <div class="ffoot-block"> <h3><a href="#">1.DOM 文档流顺序保证 </ a></h3> <ul> <li><a href="#">1A</a></li> <li><a href="#">1B</a></li> <li><a href="#">1C</a></li> </ul> </div> <div class="ffoot-block"> <h3><a id="menu" href="#">2.DOM 文档流顺序保证 </ a></h3> <div id="submenu" class="ffoot-menucontent"> <ul> <li><a href="#">2A</a></li> <li><a href="#">2B</a></li> <li><a href="#">2C</a></li> <li><a href="#">2D</a></li> <li><a href="#">2E</a></li> <li><a href="#">2F</a></li> </ul> </div> </div> <div class="ffoot-block"> <h3><a href="#">3.DOM 文档流顺序保证 </ a></h3> <ul> <li><a href="#">3A</a></li> <li><a href="#">3B</a></li> <li><a href="#">3C</a></li> </ul> </div> </div> <script> var dMenu = document.getElementById('menu'), dSubmenu = document.getElementById('submenu'), dSLink = dSubmenu.getElementsByTagName('a'); dSubmenu.style.display = 'none'; var showSubmenu = function(){ dSubmenu.isOpen = true; dSubmenu.style.display = 'block'; },hideSubmenu = function(){ if(hideSubmenu.timer){window.clearTimeout(hideSubmenu.timer);} dSubmenu.isOpen = false; hideSubmenu.timer = window.setTimeout(function(){ if(!dSubmenu.isOpen){dSubmenu.style.display = 'none';} },100); }; dMenu.onfocus = dMenu.onmouseover = showSubmenu; dMenu.onmouseout = hideSubmenu; dSubmenu.onmouseover = showSubmenu; dSubmenu.onmouseout = hideSubmenu; dSLink[dSLink.length-1].onblur = hideSubmenu; </script>
  4. <style> div{margin:30px;} a{font-size:300%;} #x{color:red;} </style> <div> <a href="#">A</a> <a href="#" id="x">X</a> <a href="#">C</a> </div> <div> <button onclick="document.getElementById('x').setAttribute('tabIndex', '2');"> 调整 X 优先级 </ button> <button onclick="document.getElementById('x').setAttribute('tabIndex', '0');"> 恢复 X 自然顺序 </ button> <button onclick="document.getElementById('x').setAttribute('tabIndex', '-1');"> 禁止 X 得到焦点 </ button> <button onclick="document.getElementById('x').removeAttribute('tabIndex');"> 恢复 X 得到焦点 </ button> </div>
  5. 替代文本的用法: 参见: Cisco Web ADRs ACC-WEB 1.1.1 : 非文本内容最佳实践 http://www.w3cgroup.com/article.asp?id=324 表单元素的一些细节: 所有表单项都需要有 label 元素,通过 for=“# id” 与之关联 <label for=“username”>User Name:</label><input type=“text” id=“username” name=“username” /> 在不需要 label 元素的场景中,可以为表单元素添加 title 属性 <label for=“vscard-first-part”> 信用卡号码 :</label><input type=“text” id=“vscard-first-part” title=" 前四位 " /><input type=“text” title=“ 中间四位” /><input type=“text” title=“ 最后四位” />
  6. 高对比度检测: 可以通过设置读取一个 background 样式来判断当前是否为高对比度模式。 Image Sprite VS Background Sprite Background Sprite: <style> html,body{background:#ccc;} .cisco-logo{ display:block; width:100px; height:75px; background:url(http://www.cisco.com/web/fw/i/mb-sprite.png) 0 -1650px no-repeat; text-indent:-200px; text-decoration:none; overflow:hidden; } </style> <a href="?" class="cisco-logo">Cisco.com Worldwide Home</a> Image Sprite: <style> html,body{background:#ccc;} .cisco-logo{ position:relative; display:block; width:100px; height:75px; overflow:hidden; text-decoration:none; } .cisco-logo img{ position:relative; left:0; top:-1650px; border:none; } </style> <a href="?" class="cisco-logo"><img src="http://www.cisco.com/web/fw/i/mb-sprite.png" alt="" />Cisco.com Worldwide Home</a>
  7. WAVE: http://wave.webaim.org/ JAWS: http://www.freedomscientific.com/products/fs/jaws-product-page.asp
  8. 常用 HTML 元素及按键列表 : <a> 链接 TAB 和 SHIFT+TAB 进行导航, ENTER 激活 <button> <input type = "button"> <input type = "submit"> <input type = "reset"> <input type = "image"> 按钮 TAB 和 SHIFT+TAB 进行导航, ENTER 或 SPACE BAR 激活 <input type = "text"> <input type = "password"> <textarea> 可编辑文本框 TAB 和 SHIFT+TAB 进行导航,然后输入文本 <input type="checkbox"> 复选框 TAB 和 SHIFT+TAB 进行导航, SPACE BAR 进行选中和反选 <input type="radio"> 单选框 TAB 和 SHIFT+TAB 进行导航, UP/DOWN/LEFT/RIGHT 方向键进行切换选择 <select> 下拉选框 TAB 和 SHIFT+TAB 进行导航, ALT+DOWN 方向键展开下拉列表 , ECS 关闭下拉列表 , UP/DOWN 方向键进行选择 交互中一些 popup, dialog 操作 : 记住它们的 Trigger 节点,以便在它们关闭的时候焦点能够回到触发的节点 一些关于 Focus 的 BUG: <meta http-equiv="Content-type" content="text/html;charset=UTF-8"/> <h1> 设置了 overflow auto 的盒子在 FF4 下会获得焦点 </ h1> <div style="width:200px;overflow:auto;zoom:1;background:gray;"> <input type="text" /><a href="?">test</a>hello world, hello JAWS. </div> Tips for fix it: 设置该容器的 tabindex 属性值为 -1 <meta http-equiv="Content-type" content="text/html;charset=UTF-8"/> <h1>innerHTML 中设置为选中状态的 radio , 在 IE 中不能第一个获得焦点 </ h1> <a href="javascript:void(0);" id="x">show/hide</a> <div id="y" style="display:none;"></div> <SCRIPT LANGUAGE="JavaScript"> var dx = document.getElementById('x'), dy = document.getElementById('y'), html = '<input name="radio" type="radio" value="1"/>11111<input name="radio" type="radio" value="2"/>22222<input name="radio" type="radio" value="2"/>33333<input name="radio" type="radio" value="2"/>44444<input name="radio" id="spark" type="radio" value="2" checked="checked"/>55555'; dx.onclick = function() { if (dy.style.display == 'none') { dy.innerHTML = html; dy.style.display = 'block'; } else { dy.style.display = 'none'; } } </SCRIPT> Tips for fix it: 在插入 innerHTML 内容并显示时重置选中 radio 的状态: if (dy.style.display == 'none') { dy.innerHTML = html; dy.style.display = 'block'; dRadio = dy.getElementsByTagName('input'); for(var i=0;i<dRadio.length;i++){ if(dRadio[i].checked){idx=i;break;} } dRadio[0].checked = true; dRadio[idx].checked = true; } else { dy.style.display = 'none'; }