无障碍设计就是确保所有的用户都能轻松地访问你的内容。如果你的设计知识针对一群狭窄的用户群体,也就意味着你将所有失去具有永久残障或其他障碍的用户,所以你在开发网之初就应该确保可视设计具有无障碍性。接下来我们就来具体学习什么是无障碍设计(Web Accsessibility)。
您需要掌握:
首先我们阅读下面的材料,学习网页无障碍是什么,了解面向不同类型用户构建网站的挑战.
在学习网页无障碍之前,这里推荐两个学习阅读的文档指南:
Web Content Accessibility Guidelines (WCAG) 2.0 (opens new window):由研究无障碍性的专家制定的一组指导原则和最佳做法,目的在于有条理地向大众解释无障碍性的含义
WebAIM 清单 (opens new window):WCAG 是一组涵盖面特别丰富的指导原则,但是在日常开发和实际应用中使用起来可能会有点困难,所以,WebAIM 小组为了降低无障碍页面开发难度,提取了 WCAG 指南的精华,汇集了一份方便大家照着做清单
为了制作更友好的无障碍页面,我们有必要感受一下残障人士是如何浏览页面的。
阅读 屏幕阅读器指导 (opens new window),选择一款合适的屏幕阅读器,打开屏幕阅读器,开始浏览网站看看感受一下盲人是如何浏览网站的吧
首先我们学习语义化,学习如何将语义化添加到 HTML 中构建出无论是盲人还是运动障碍的人都能访问无障碍页面
为了让屏幕阅读器向用户呈现语音 UI,有意义的元素必须具有适当的标签或替代文本。标签或文本替代项为元素提供了可访问的名称,这是在可访问性树中表达元素语义的关键属性之一。
当元素的名称与元素的角色相结合时,它会提供用户上下文,以便他们可以了解正在与之交互的元素类型以及它在页面上的表示方式。如果名称不存在,则屏幕阅读器只会宣布元素的角色。想象一下,在没有任何附加上下文的情况下尝试导航页面并听到“按钮”、“复选框”、“图像”。这就是为什么标签和文本替代方案对于良好的、可访问的体验至关重要。
使用 Chrome 的 DevTools 可以轻松检查元素的可访问名称:
先来练习一下最基础的,实现你的第一个无障碍页面。
你现在需要制作一个科普星球知识的网页,复制我们给出来样例代码webaccessibility01.zip (opens new window),然后保存到本地。
使用 Chrome 无障碍开发者拓展程序检查这个网站元素,您将看到无障碍树结构 (opens new window)。显然这个页面对屏幕阅读器用户非常不友好的,比如用户不知道图片的内容,也不知道链接的信息
请你做出修改,让所有用户都访问页面,参考优化后无障碍树结构(opens new window)
任务需求
图标按钮在 Web 应用程序中非常常见,但它们通常存在可访问性问题。 请你使用 HTML、CSS 和 ARIA 使键盘和屏幕阅读器用户可以访问您的图标按钮。
复制我们给出来样例代码webaccessibility02.zip (opens new window),然后保存到本地。
按下 Cmd + Fn + F5 打开 VoiceOver,按下 tab 依次访问这三个按钮,您会发现只能正常访问第一个按钮,并且正确获得它是一个 github 按钮。第二个只能只能得知它是一个按钮,而第三个按钮都访问不到。
请你编码实现这三个按钮都能无障碍访问,参考优化后无障碍树结构(opens new window)
任务需求
现在我们对一个完整的网站进行无障碍设计,学会用合理的语义标签结构页面形成站点地图,以及优化键盘用户的使用体验,设计合适的焦点策略
您现在开发了自己的个人博客。首先,复制我们给出来样例代码 blog.zip (opens new window),然后保存到本地。
打开页面会发现个人博客存在以下几点问题:
请针对以上的问题,给你的个人博客给设计合理的焦点策略以及更语义化的结构。
任务需求
现在我们来创建创建可访问的表格,复制我们给出来样例代码 webaccessibility03.zip (opens new window),然后保存到本地。
这个表格对于普通用户可能没有任何问题,用户可以根据表格的外观快速获取表格传递的信息,但是对于屏幕阅读器用户可能就比较吃力,因为他们无法将行或列作为数据分组关联在一起。
任务需求
现在进一步了解 WAI-ARIA,明白他如何提供有效的语义,以便接下来在有需要的时候提供无障碍优化。
WAI-ARIA 是一项技术,它可以通过浏览器和一些辅助技术来帮助我们进一步地识别以及实现语义化,这样一来能帮助我们解决问题,也让用户可以了解发生了什么
接下来,我们来实现无障碍表单。复制我们给出来样例代码 webaccessibility04.zip (opens new window),保存到本地
任务需求
制作对色盲用户和屏幕阅读器用户友好的网页,确保所有文本满足最低色彩对比度,可以轻松改变用户的阅读体验,尤其是对有视觉障碍的用户来说。
同样复制我们给出来对比度练习样例代码 contrast.zip (opens new window),然后保存到本地。
如何发现低对比度文本
使用 Chrome DevTools 中 Lighthouse Audits (opens new window)面板中的 Accessibility Audit 或者其他无障碍检测工具,审核页面并修复您发现的任何对比度问题,根据审计报告中的问题一一修复,使视力不佳的用户能够更加轻松地访问网站。
根据得到的审核报告 (opens new window),查看第一个 article 元素的无障碍属性(ADT),如图所示 (opens new window),会发现它的对比度只有 1.5,同样检查第二个 article 元素 ,如图所示 (opens new window),对比度只有 1.27 对于红绿色盲很难识别文本。
任务需求
根据WebAIM 检查清单的第 1.4.3 条建议 (opens new window),正文和图片的最低对比度应为 4.5:1。对于大号文本(比默认文本大 120%或 150%或更大),对比度可以调整到 3:1 。
可见第一个和第二个 article 元素 AAA 对比度要求,请您修复对比度,使其都符合 AAA 对比度要求。
把你今天觉得做得最好的代码放在 Github 后进行提交。
依然把今天的学习用时,收获,问题进行记录
更多相关技术内容咨询欢迎前往并持续关注六星社区了解详情。
长按或扫描下方二维码,免费获取 Python公开课和大佬打包整理的几百G的学习资料,内容包含但不限于Python电子书、教程、项目接单、源码等等
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!