微信号:uedcss

介绍:产品学习者(前web前端开发追随者)

(转)腾讯网无障碍说明

2013-03-17 13:06 优设前端

腾讯网无障碍说明

12-27-2012 更新

频道、专题页快捷键列表(有相应提示则表示此页面已部署)

12-27-2012 建立

  • 按alt+Q 访问网页大纲(通过网页大纲,您可以在各个内容区域间进行快速切换)

新闻底层页快捷键列表(已部署频道:新闻、财经、娱乐、体育、公益、数码、科技、女性、时尚、健康)

09-29-2012 建立, 12-27-2012 更新

  • 按alt+0 访问无障碍说明链接

  • 按alt+1 访问首页链接

  • 按alt+2 访问导航

  • 按alt+3 访问正文

  • 按alt+4 访问评论

  • 按alt+5 访问相关新闻列表链接

  • 当听到“视频区域,按回车播放(视频载入可能需要几秒),在播放过程中,按空格键暂停或者继续,您也可以按Esc键跳出视频。”的时候,可根据相关提示进行操作。

  • 支持WAI-ARIA landmark

屏幕阅读器测试环境

  1. NVDA

  2. 争渡读屏软件公益版

  3. 永德读屏软件6.3

可访问性代码校验点参考

09-29-2012 建立, 11-09-2012 更新

基于Federal Acquisition Regulation中的508&Illinois Center for Information Technology and Web Accessibility,并且结合qq.com的实际环境

W3C要求

  1. 必须有DOCTYPE

  2. 必须指定字符编码

语言

  1. 每个页面的html标签要指定lang属性,<html xml:lang="zh" lang="zh">

线性阅读

  1. 不以表格作为布局使用

  2. 采用定位的时候,将css去除,查看内容的阅读顺序是否符合有意义

焦点与键盘

  1. 禁止移除焦点

  2. 不可禁用键盘操作

标题

  1. 页面中必须包含一个title元素,并且不应为空

  2. title中的内容应该少于60个字

  3. title应该包含网站名字和页面的主题

  4. 页面中必须包含至少一个h1,并且不能为空

  5. h1和title中应该包含有相同的某些词汇

  6. h1和title应该使用相同的词序(词序)

  7. h1的内容不应该仅仅来自于图片的alt属性值

hn

  1. 所有的hn应该在h1后面适当的嵌套

  2. 从h2开始,每一个hn前面至少有一个h(n-1),比如:h3前面至少有一个h2;h5前面至少有一个h4

  3. 页面中至少并只能包含一个h1。(html5中已经提倡可以使用多个hn)

  4. h1..h6元素应该在页面中用于构建信息

  5. h1..h6 或者 作用等于 (heading|region|main|secondary|navigation|banner|contentinfo|definition|note|seealso|search)的元素应该在页面中用于构建信息

  6. 每一个h1...h6必须有文字内容

  7. hn中的内容通常少于65个字

  8. h2...h6中除了img的alt属性外,还应该包含文字内容

  9. 相同级别的标题内容应该是唯一的。(比如:不能有两个h1的内容都是“腾讯网”)

菜单和导航

  1. ul是用来作为导航的最合适的元素,其次是ol

  2. 推荐的导航结构:

    <h2 class="offscreen" ></h2><!--h2~h6后面紧挨着ul或者ol,这样才会被认为是navigation bar,并且这里的hn出现在h1前面被视为符合要求的-->

    <ul>

    <li><a href="#">栏目1</a></li>

    <li><a href="#">栏目2</a></li>

    </ul>

    /*css style*/

    .offscreen {
    position: absolute;
    top: -30em;
    left: -300em;
    }

  3. 绝大多数的网页应该至少含有一个导航栏

  4. 每个map,ul,ol元素不要在最后一个h1之前,如果必须有个导航在标题之前,这个标题请用h2。(参见推荐的导航结构)

  5. 每一个嵌套的table,热点区域,ol,ul作为导航的话,他们的头部要有一个h2(或者是h2~h6,参见推荐的导航结构)

文本样式

  1. 请勿使用blink(闪啊闪的)和marquee(移动移动的)!!!会引发癫痫和视觉损伤

  2. 禁止使用font和center元素,请用css实现

  3. 斜体样式禁用i元素,标题用h1...h6,要强调的词、短语和句子,请用em实现

  4. 加粗字体样式禁用b元素,标题用h1...h6,要强调的词、短语和句子,请用em实现

  5. 下划线样式禁用u元素,标题用h1...h6,要强调的词、短语和句子,请用strong实现

列表

  1. 如果将p一行行的有顺序的排列,就该考虑是不是应该用有序列表了(ol)

  2. 如果将p一行行的排列,就该考虑是不是应该用无序列表了(ul)

  3. 如果列表嵌套深度大于5层的话,应该考虑用h1...h6这样的元素来进行转换。尤其是屏幕阅读器的用户

  4. 列表嵌套别超过5层

链接

  1. 避免使用脱离文章上下文无法理解的文字链接(比如最常用的“详细”的文字)

  2. 如果一个链接包含一个图片和文字,并且alt中的内容和文字匹配(相同),那么alt的属性应该为空

  3. 避免使用小于16*16的图片作为链接

  4. 避免把链接密密麻麻的放在一起(指的是链接链接...链接这种吧)

  5. 确保不同的链接地址用不同的链接文字(也就是说最好避免重复的锚(链接)文字)

  6. 确保相同的链接地址用相同的链接文字(如果多个链接都指向http://www.qq.com,那么这些链接都应该使用相同的锚(链接)文字。如果有的是“腾讯”,有的是“腾讯网”,有的是“腾讯网首页”,这样就不合适了,况且对SEO也不合适)

  7. 避免文字链接少于四个字(在中文网站中这一点很难避免)

  8. 内部的锚点目标要有tabindex="-1"。这是由于当内部链接被激活时,IE可以移动焦点

  9. 如果锚点目标是a或者表单等可以获得焦点的元素,如果使用tabindex="1",在使用tab键切换的时候就会被跳过

  10. 最安全的tabindex属性是0,但是非焦点元素在获得焦点的时候会激活outline,ie中会显示虚线,且无法使用样式去除。

图片

  1. 宽或高不到8px或者没有alt的图片(特别是装饰性的图片)应该被移除,css技术可以用来控制样式

  2. alt是用来描述图片的,而非单纯的新闻标题或者名词

  3. alt属性不应包含图片的文件名

  4. alt值不应包含冗长的信息(如果很长可以使用<img longdesc="很长很长的内容很长很长的内容" />)

  5. 每个img要有alt

  6. 不能只依赖图片上的文字信息

  7. banner、头图上的文字信息必须在代码中有所体现

Objects

  1. 每个applet元素应有alt值

  2. 每个embed元素应有alt值

  3. 每个object应包含文字内容

表单

  1. ID必须唯一,特别是表单

  2. 每一个fieldset应该有一个legend元素

  3. 每个label必须有文字内容

  4. 每个legend必须有文字内容

  5. 每一个有效的label (legend + label)必须是唯一的(也就是说<label for="唯一"></label>)

  6. label不应该包裹select和textarea元素(平时我们可能会这样书写<label><select /></label>)

  7. 当input = images是必须有alt或者titile属性,且不为空

  8. 每一个button必须包含文字内容

  9. 核实文本域、密码、下拉框、textarea和按钮的时候,最好设置为相对字体

  10. 禁止让表单元素不能获得焦点

  11. 如果input、select、textarea、button的title被定义了,一定不能为空

  12. type等于button、reset、submit的input必须要有value或者title

  13. 最好为每一个表单元素定义一个label并且指向他的id或者拥有title

  14. 必须填写的字段,在代码层面一定要有所体现,推荐:<abbr title="required">*</abbr>

框架

  1. 不应使用隐藏或者引入空的frame

  2. 每个frame必须有一个title属性用来介绍这个frame的作用,隐藏的frame可以将title设置为"hidden 1", "hidden 2", "hidden 3," 等等

  3. frameset中的每一个frame的title要有内容

事件

  1. 有onmouseover行为的焦点的元素应有类似onfocus的相同效果解决方案

  2. 有onmouseout行为的焦点的元素应有类似onblur的相同效果解决方案

  3. 鼠标的onmousedown, onmouseup 和onmousemove功能,要有相应的键盘解决方案(比如用keydown、keyup、onblur)

  4. 没有焦点的元素的onmouseover 或 onmouseout 应该用css中的:hover来实现(可惜ie6不给力)

  5. onClick事件应该绑定在有能有焦点的元素上

  6. onChange事件不应使用在select元素上,会导致自动改变焦点或者载入到一个页面中

accesskey属性

  1. 属性值必须是唯一的

  2. 不要与浏览器本身的快捷键重复,比如:IE中的A C E F H J M P R T V X Home;chrome中的E F D;firefox:B E F H S T V 另外有的插件会把自己安装在菜单栏里,并且绑定一个字母作为快捷键

  3. 最好不要使用字母

缩放

  1. 禁止使用-webkit-text-size-adjust:none,推荐使用-webkit-text-size-adjust:100%,保证在小尺寸IOS设备上的字体比例

  2. 在chrome中使用-webkit-text-size-adjust:none实现小于12px的文字的信息一定不能是重要信息

颜色

  1. 禁止在html标签中使用color属性,用css来实现

  2. 颜色对比对最少应是3:1

  3. 颜色对比度最佳值是7:1

  4. 不能只用颜色作为唯一的信息标识(比如股票中的红涨绿跌)

  5. 不能只用图形作为唯一的信息标识(比如星星评级,柱状图等)

 
优设前端 更多文章 banner的故事 在一个产品经理眼中,微信应用号会做成什么样? 产品体验报告的思路应该怎么写? 阿里交互专家深度解析To B 和 To C产品设计差异 为什么初中没毕业的都当了创业狼,大学毕业的都成了打工狗?
猜您喜欢 Python编程语言的发展简史 敏捷破冰之旅(九) 丰厚奖金,海量订单——“天猫·喵葩”互动创意大赛报名启动 探究 LayoutInflater setFactory 谈谈工作 - 神州数码篇