万字解析 WCAG 2.1 AA 网页内容无障碍指南(五):最后两章

欢迎订阅专栏:万字解析 WCAG 2.1 AA 网页内容无障碍指南

前言

本篇继续介绍第四章节 4. Robust 鲁棒性 和 第五章节 5. Conformance 一致性 中的规则。

WCAG 2.1 官方文档:Web Content Accessibility Guidelines (WCAG) 2.1 中文:Web内容无障碍指南 (WCAG) 2.1

4. Robust 鲁棒性

4.1 Compatible 兼容

4.1.1 Parsing 解析 A

使用标记语言实现的内容,元素要有完整的开始和结束标签,元素根据其规格进行嵌套,元素不包含重复的属性,任何ID都是唯一的,除非规范允许这些特性。

解读:要求页面HTML必须:有闭合标签,元素根据其规格进行嵌套,元素不包含重复的属性,任何ID都是唯一的。

4.1.2 Name, Role, Value 名称,角色,值 A

对于所有用户界面组件(包括但不限于:表单元素,链接和由脚本生成的组件),名称角色可以编程式确定;可由用户设置的状态、属性和值可以编程式设置;这些变化通知对用户代理包括辅助技术有效。

解读:要求页面所有元素,都必须有必要且正确的name、role、value、aria等属性。 尤其是rolearia俩属性,之前规范里经常用到,在不同作用元素,不同状态下都有特别的规范要求。

有些可以被AXE Tool扫描出来,比如缺少部分aria属性、role和aria值匹配不上等等,但是没办法扫描对不对。比如有个messagebar div应该需要设置role=alert,因为是提醒元素,但是你给设置了role=button,甚至role=article,Tool也不会扫描出来。

所以对于开发和测试要求是:

  1. 开发:需要理解role都有哪些值,aria都有哪些属性名,都是做什么用的,然后用在页面对应位置。
  2. 测试:用AXE Tool扫描、用NVDA读屏软件测试(因为这些属性也会影响读屏软件的识别),看读屏是否有问题。再测试深点,可能就得借助第三方团队测试了,在对指南了解不深缺乏经验的人来说,人工能测试的东西不多。

4.1.3 Status Messages 状态信息 AA

在使用标记语言实现的内容中,状态消息可以通过角色或属性以编程方式确定,使得它们可以通过辅助技术呈现给用户而无需获得焦点。

解读:指页面上的提示语、message bar等,需要有正确的role或其它属性,用来标识这个提示的类型、状态等。

跟上面说的一个问题,这里只是强调了部分状态类型的role,举例:

  • 表单项的错误提示语,需要用role=alert<div role="alert">message</div>
  • 页面列表数据总数、或者没有数据的提示语,需要用role=status<div role="status">5 results returned.</div>
  • 聊天记录状态信息,用role=log
html 复制代码
<div id="chatRegion" role="log" aria-labelledby="chatHeading">
  <h4 id="chatHeading">Chat History</h4>
  <ul id="conversation">
    <li>The latest chat message</li>
  </ul>
</div>

5. Conformance 一致性

本章节要求网页在布局、设计、交互等方面保持一致性,以提高用户的可预测性和可用性。这一原则包括多个准则和技术,例如:

  • 确保每个页面、及整个页面都符合AA等级标准。
  • 确保网页元素的标识和功能在整个网站中保持一致,使用相似的样式和排版来呈现相关的内容,以及提供一致的导航和交互方式等。
  • 确保每一个流程操作(为了完成活动而需要完成的一系列步骤)都要保持一致性。
  • 确保系统语言一致性。

通过遵循一致性原则,可以提高网站的可访问性和可用性,使用户更容易理解和使用网站的功能和内容。

总结

指南的第四五章内容很少。到这里,关于 WCAG 2.1 AA 网页内容无障碍指南中,全部5章节规则已经都介绍完了。

下一篇可能会讲讲国内外网站无障碍的支持情况,一些流行的第三方组件库的无障碍支持情况。以及如果你的网站有无障碍需求,以我的角度和经验,能给PM、开发、测试,分享一些经验希望能有所帮助。

相关推荐
前端拾光者27 分钟前
利用D3.js实现数据可视化的简单示例
开发语言·javascript·信息可视化
风尚云网1 小时前
风尚云网前端学习:一个简易前端新手友好的HTML5页面布局与样式设计
前端·css·学习·html·html5·风尚云网
木子02041 小时前
前端VUE项目启动方式
前端·javascript·vue.js
endingCode1 小时前
45.坑王驾到第九期:Mac安装typescript后tsc命令无效的问题
javascript·macos·typescript
佚先森2 小时前
2024ARM网络验证 支持一键云注入引流弹窗注册机 一键脱壳APP加固搭建程序源码及教程
java·html
Myli_ing2 小时前
HTML的自动定义倒计时,这个配色存一下
前端·javascript·html
I_Am_Me_3 小时前
【JavaEE进阶】 JavaScript
开发语言·javascript·ecmascript
℘团子এ3 小时前
vue3中如何上传文件到腾讯云的桶(cosbrowser)
前端·javascript·腾讯云
学习前端的小z3 小时前
【前端】深入理解 JavaScript 逻辑运算符的优先级与短路求值机制
开发语言·前端·javascript
前端百草阁4 小时前
【TS简单上手,快速入门教程】————适合零基础
javascript·typescript