无障碍检查与手动审核#
作为我们致力于使该主题具备无障碍访问性的承诺的一部分,我们对 Kitchen Sink 下的所有页面运行了自动化检查。
每次在 GitHub 上创建拉取请求时,都会运行无障碍检查。如果拉取请求未通过此检查,我们将禁止将其合并到代码库中。
在本地运行检查#
如果您正在本地开发主题,在您的计算机上运行无障碍检查的最简单方法是:
tox run -m a11y
技术细节#
用于编写和运行无障碍检查的两种主要技术是 Playwright for Python 和 axe-core。
Playwright 是类似库 Puppeteer 的继任者。它提供了一种以编程方式控制网页浏览器打开、操作、检查和测试网页的方法。Axe-core 是一套以 JavaScript 程序编写的无障碍检查工具。该程序旨在注入到网页中。一旦注入,它会检查页面是否存在常见的无障碍问题,例如低对比度文本。无障碍测试套件使用 Playwright 将 Axe-core 注入到 Kitchen Sink 页面以及本文档中的其他几个关键页面中。还编写了一些其他 Playwright 脚本来确保某些主题组件可以仅通过键盘访问。所有的测试目前都存放在名为 test_a11y.py 的文件中。
备注
“非常欢迎为测试套件添加更多可访问性检查的贡献。
还将这些测试作为持续集成流程的一部分,因此在将新更改合并到主题之前,它们会在云端运行。使用以下工具:
GitHub Actions 用于在云端配置机器
tox
用于在这些机器上安装所需的依赖项Pytest
与 Playwright 插件一起运行测试。
在文件 CI.yml 中搜索字符串 "accessibility",以了解我们如何配置 GitHub Actions。
已知限制与手动审核#
深知自动化检查远不能替代全面的无障碍审核和测试,因此还对主题文档中的三个页面进行了无障碍审核。将这些发现汇总在 GitHub 上的一个议题中,2024 年 5 月 PyData 主题审核结果。
几乎所有问题都已修复,但当然,某些内容可能会出现问题 / 已经出现问题,并且有些问题可能从未被发现,因此如果您发现任何无法访问的内容,请创建 GitHub 议题。