与WCAG相关的一些学习心得
1.什么是 WCAG?
WCAG全称Web Content Accessibility Guidelines 网页内容无障碍浏览准则,简单的说就是为了方便残障人士(包括低视患者,盲人,聋人,学习障碍,行动不便,认知障碍....)访问Web内容而制定的相关标准,可以使网站更加人性化。
举个例子,在WCAG准则2.3.2中规定:网页不包含任何闪光超过3次/秒的内容。
即不要设计会导致癫痫发作的内容(每秒3次以上的闪烁可能会使癫痫发作)。
WCAG具体内容和条例请参考Web内容无障碍指南2.0版(WCAG2.0)中文授权翻译。
2.可访问性测试工具WAVE
wave在线版,进去以后直接输入你想测的页面link即可,缺点是当你想测的页面需要登录时,他只会测到登录界面(即访问的第一个页面);
推荐使用火狐浏览器,在菜单栏里面搜索wave并安装插件,成功后工具栏将会出现WAVE图标(下图右上角绿色图标)。正常访问你要测试的页面然后点击此图标,WAVE将会自动测试当前页面,左侧显示存在的Errors和Alerts等错误信息,点击错误信息自动导航到该行代码并在页面下方显示。

3.Fix the Error
以下仅列出我遇到过的Errors以及solution!!
- 第一类Error:
Missing alternative text add attribute alt=“” ;
Linked image missing alternative text ;
Missing alternative textMore information ;
Image button missing alternative textMore information ;
Linked image missing alternative textMore information ;
solution :
给元素添加 alt=“” 属性;alt属性的作用是当页面图片不能正常显示时,会在图片位置显示alt的值。
example :
<img src="Logo.png" alt="Picture cannot be displayed" />
- 第二类Error:
Empty form labelMore information ;
Empty buttonMore information ;
Empty linkMore information ;
Empty form label ;
Empty link ;
Empty button ;
solution :
根据WCAG标准某些元素不能为空,但是在我的页面这些元素就应该是空的,所以我给他们中间加了一个不为空的span然后隐藏起来就不报错了。
如果大家有更好的solution,告诉我吧~
example :
<label><span display:none>null</span></label>
- 第三类Error:
Missing form label ;
Missing form labelMore information ;
solution :
给元素添加 aria-labelledby="" 属性;
aria-labelledby属性的作用:读屏软件会读出aria-labelledby的内容,方便视力有障碍的用户使用。
注意aria-labelledby值应该和id值相同。
example :
<input type="text" name="txtSubject" id="Subject" aria-labelledby="Subject" />
- 第四类Error:
Missing or uninformative page title ;
solution :
给页面添加title标题标签。
example :
<title>Home</title>
- 第五类Error:
Broken ARIA reference;
Broken ARIA referenceMore information;
solution :
报这类错误是因为aria-labelledby属性值与id值不相同。改成相同值即可。
example :
<input type="text" name="txtSubject" id="Subject" aria-labelledby="Subject" />
都是自己总结的,未经博主同意禁止转载。欢迎大家指正,补充~
:) 持续更新 ...
与WCAG相关的一些学习心得的更多相关文章
- 我的MYSQL学习心得(四) 数据类型
我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(五) 运 ...
- 我的MYSQL学习心得(六) 函数
我的MYSQL学习心得(六) 函数 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...
- 我的MYSQL学习心得(九) 索引
我的MYSQL学习心得(九) 索引 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...
- 我的MYSQL学习心得(十二) 触发器
我的MYSQL学习心得(十二) 触发器 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数 ...
- 我的MYSQL学习心得(十五) 日志
我的MYSQL学习心得(十五) 日志 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...
- 我的MYSQL学习心得(十六) 优化
我的MYSQL学习心得(十六) 优化 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...
- 我的MYSQL学习心得(十七) 复制
我的MYSQL学习心得(十七) 复制 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...
- effective java 学习心得
目的 记录一下最主要学习心得,不然凭我这种辣鸡记忆力分分钟就忘记白看了... 用静态工厂方法代替构造器的最主要好处 1.不必每次都创建新的对象 Boolean.valueOf Long.valueOf ...
- Linux学习心得之 Linux下命令行Android开发环境的搭建
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Linux学习心得之 Linux下命令行Android开发环境的搭建 1. 前言2. Jav ...
随机推荐
- Nginx处理请求的11个阶段(agentzh的Nginx 教程学习记录)
Nginx 处理请求的过程一共划分为 11 个阶段,按照执行顺序依次是 post-read.server-rewrite.find-config.rewrite.post-rewrite.preacc ...
- Truck Adblue Emulator For SCANIA
For sale online Truck Adblue Emulator For SCANIA See the price Where to buy? Truck Adblue Emulator F ...
- hdu1242 DFS基础(回溯的重要性)
题目大意:在迷宫里从a出发走到r,每走一格时间+1,但是遇到x时间还要额外+1,求最短的时间. 题解:直接dfs把每一个格子都走一遍,设置一个时间参数,走一格就+1,还要注意回溯和剪枝. 很多新手都会 ...
- Transparent PageRoute in Flutter for displaying a (semi-) transparent page
import 'package:flutter/widgets.dart'; class TransparentRoute extends PageRoute<void> { Transp ...
- log4J日志框架
log4j的配置:log4j是一个日志输出框架,就是用于输出日志的,主流框架大部分都是Log4j输出.Spring框架也可以通过Log4j输出日志 Log4j提供了强大的日志输出的自定义功能(1)通过 ...
- 二分优化lis和STL函数
LIS:最长上升子序列: 这个题我们很显然会想到使用dp, 状态设计:dp[i]代表以a[i]结尾的LIS的长度 状态转移:dp[i]=max(dp[i], dp[j]+1) (0<=j< ...
- WARN PageNotFound:208 - Request method 'POST' not supported
在地址栏输入网址访问页面 ,用的是GET方法. 在用ajax接收后台数据,根据返回值进行提示或页面跳转时报:WARN PageNotFound:208 - Request method 'POST' ...
- mongodb修改和删除操作
修改数据修改里面还有查询条件.你要该谁,要告诉 mongo.查找名字叫做小明的,把年龄更改为 16 岁:1 db.student.update({"name":"小明&q ...
- MySQL explain执行计划优化
https://www.linuxidc.com/Linux/2016-04/129965.htm
- 2019-4-21 - plan
设计模式 idea中demo 在test1中使用单例测试ok