腾讯网无障碍前端架构说明

标签: 腾讯网 无障碍 前端 | 发表时间:2013-01-28 12:12 | 作者:蓝飞
出处:http://www.clanfei.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. 推荐的导航结构:
        
    1. <h2 class="offscreen"></h2><!--h2~h6后面紧挨着ul或者ol,这样才会被认为是navigation bar,并且这里的hn出现在h1前面被视为符合要求的-->
    2. <ul>
    3. <li><a href="#">栏目1</a></li>
    4. <li><a href="#">栏目2</a></li>
    5. </ul>
    6. /*css style*/
    7. .offscreen {
    8. position: absolute;
    9. top: -30em;
    10. left: -300em;
    11. }
  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. 不能只用图形作为唯一的信息标识(比如星星评级,柱状图等)

检测工具

  1. Firefox Accessibility Extension
  2. Functional Accessibility Evaluator 1.1

备注

  1. 文章来源: http://www.qq.com/accessibility/
  2. 网页信息无障碍: http://baike.baidu.com/view/7380402.htm

相关 [腾讯网 无障碍 前端] 推荐:

腾讯网无障碍前端架构说明

- - 蓝飞技术部落格
每个页面的html标签要指定lang属性,. 采用定位的时候,将css去除,查看内容的阅读顺序是否符合有意义. 页面中必须包含一个title元素,并且不应为空. title中的内容应该少于60个字. title应该包含网站名字和页面的主题.

xhEditor v1.1.9 发布,无障碍XHTML在线编辑器

- FPb - cnBeta.COM
感谢Yanis.Wang的投递. xhEditor是一个基于jQuery开发的简单迷你并且高效的无障碍可视化XHTML编辑器,基于网络访问并且兼容IE6,IE7,IE8,IE9,Firefox 3.0+,Opera 9.6+,Chrome 1.0+,Safari 3.22+.

在桌面和移动端无障碍发布视频的方案整理

- - Web App Trend
HTML5 在视频发布方面具有很大优势,但是由于不同浏览器支持不同视频编码,因此某个单一的视频现在是难以在所有主流浏览器中播放的. 身兼开发人员、培训师、作者三职的 Rich Shupe 将在本文中阐述如何将 HTML5 和 Flash Player 联合起来使用,使得视频能够在最大范围内播放.

温州动车劫——媒体封面_腾讯新闻_腾讯网

- Robert Mao - 牛博山寨 编辑推荐

警惕PUA文化_今日话题_腾讯网

- -
PUA文化最初是所谓“搭讪的艺术”,但如今在国内很大程度上已经等于“祸害年轻女孩”. 在百度百科上,“PUA”这个词条已经有近百万的浏览量,不可谓不小,但依然有很多人完全不了解这是怎么回事. 不妨抄录下词条的简介――PUA,全称(Pick-up Artist),起初指的是一群受过系统化学习、实践、和不断自我完善情商的男性.

前端技术

- - CSDN博客综合推荐文章
随着互联网产业的爆炸式增长,与之伴生的Web前端技术也在历经洗礼和蜕变. 尤其是近几年随着移动终端的发展,越来越多的人开始投身或转行至新领域,这更为当今的IT产业注入了新的活力. 尽管Web前端技术诞生至今时日并不长,但随着Web技术的逐渐深入,今后将会在以下几方面发力. JavaScript的兄弟们.

3000中国家族财富榜:百度腾讯网易三家族上榜

- - TechWeb 今日焦点 RSS阅读
2012年榜单排名前10位的家族(新浪科技制图).    TechWeb编辑推荐:重庆商报讯 昨日,南方报业集团21世纪传媒旗下的《理财周报》发布2012年3000中国家族财富榜,三一重工梁稳根家族以406.80亿元身家首次蝉联中国首富,吴亚军家族财富404.69亿元,排名第二.   榜单显示,在大环境式微的情况下,各个行业的财富都出现了缩水情况,上榜的3000个中国最富家族在一年之中蒸发了5866.48亿元身家.

腾讯网饭否网等今日起试行微博实名注册

- - 网易国内新闻
南方日报讯 为贯彻落实党的十七届六中全会关于“发展健康向上的网络文化”、“加强对社交网络和即时通信工具等的引导和管理”等要求,按照中央的部署,根据我国有关法律法规的规定,我省广州、深圳市的腾讯网、金羊网、大洋网、深圳新闻网、奥一网以及嘀咕网、饭否网等7家开展微博客业务主要网站作为试点,从12月22日起,实.

如何防止子女过早发生性行为_今日话题_腾讯网

- -
这对父母看起来足够开明,也做了足够多的工作,但依然未能阻止女儿与男生开房,引发普遍担忧. 这篇由当事母亲撰写的网文中,叙述了一个并不复杂的早恋故事:一对夫妇倾注心血养育一对子女,两人都品学兼优,但不料14岁的女儿突然和同校的初三男生早恋了. 故事的发展有些极端,14岁的女儿死活不听劝,这对夫妇尽全力阻拦也没有起到作用,女儿最终跟男孩开房了.

美国制裁中兴 谷歌也成为受害者_科技_腾讯网

- -
腾讯科技讯 近日,美国政府以中兴通讯未遵守和解协议内容为由,宣布了对中兴的出口禁令. 在科技产业全球化的今天,美国制裁中兴,自然也会导致一大批美国公司受到影响. 据外媒最新消息,谷歌将成为这次制裁另外的一个“受害者”. 中兴是中国的电信设备制造商和手机厂商,谷歌是全球最大的网页搜索服务商以及手机操作系统开发商.