我构建了一个免费可访问性审计工具,实际上能够通过它自己的审计
Source: Dev.to
大多数免费可访问性工具本身就存在可访问性问题。
- WAVE – 一个没有键盘‑仅工作流的浏览器扩展。
- Lighthouse – 在 Chrome DevTools 中运行,使用屏幕阅读器的用户需要通过变通方式进行导航。
- axe DevTools(免费层) – 给出发现结果,但除非付费,否则没有 WCAG 对应映射。
我是一名在密歇根州大急流城的 CIS 学生,业余做自由网页可访问性工作。我需要一个在客户项目中真的能用的工具——结构化输出、WCAG‑映射的发现、严重程度分组——而不必为平台支付每月 200 美元。
于是我自己做了一个。
功能概述
MAS Accessibility Audit Toolkit 是一个免费、开源的桌面 GUI,使用 Python 和 Tkinter 构建。粘贴 URL,点击 Run Audit,即可在 60 秒内得到结构化的发现报告。
目前它实现了 14 项 WCAG 2.1 AA 检查模块:
- 替代文本检测
- 标题结构(h1 数量 + 层级顺序)
- 表单标签关联
- 语言属性存在性
- Tabindex 滥用(正值)
- 空链接和空按钮
- 自动播放媒体检测
- PDF 链接警告(未提示用户)
- 页面标题检查
- 重复 ID 检测
- 区域角色(main、nav、header、footer)
- 跳过导航链接检查
- 可访问性模式(通用链接文本、占位符充当标签、非交互元素上的 onclick、缺失表头、空目标)
还有 62 个模块 正在排队——包括颜色对比、屏幕阅读器模拟、平台检测以及触控目标 CSS 检查。
我最自豪的部分
审计工具本身是完全可访问的。一个不能通过自身审计的可访问性工具是站不住脚的。
可访问性特性
- 四种主题:暗色、亮色、高对比、色弱安全
- 色弱模拟模式:原色盲(Protanopia)、绿盲(Deuteranopia)、蓝盲(Tritanopia)、单色(工具内部)
- 阅读障碍字体预设 – 正常、放大、超大(跨会话持久化)
- 字体族和大小控制 – 14 pt 到 20 pt,用户可调,持久化保存
- 字间距和行高滑块 – 持久化保存
- 屏幕阅读器提示 – 在主题切换、扫描完成和错误状态时播报
- 非颜色前缀提示:
[!]表示错误,[OK]表示通过,[>]表示信息(因为仅靠颜色不足以传达信息)
这些在 WAVE、Lighthouse 或我使用过的任何免费工具中都不存在。一个能够审计自身可访问性的审计工具正是其存在的意义。
不能做的事
自动化工具只能捕获大约 30–40 % 的 WCAG 违规。MAS Toolkit 也在同一范围内。它仅进行 静态 HTML 分析,因此无法:
- 测试键盘交互
- 在真实辅助技术中评估屏幕阅读器的朗读效果
- 通过用户测试评估认知负荷
它是一个快速、结构化、带有 WCAG 映射的起点——但不能替代人工审查。我在每一次客户合作中都会提前说明这一点,审计报告也会明确记录。对范围的诚实是一项功能,而不是免责声明。
未来方向
下一阶段将加入 平台检测——识别客户站点是否使用受限的 CMS(Squarespace、Wix 等),并在每条发现前标记 PLATFORM RESTRICTED,因为对无法修改的站点提供开发者修复路线图毫无意义。
后续里程碑:
- 颜色对比检查
- 视口 meta 检查
- 触控目标 CSS 检查
- 带 Stripe 计费和团队访问的 Web SaaS 版本
试用
- GitHub:
- MIT 许可证 – 免费使用、分叉和二次开发。
如果你从事可访问性工作,并对模块列表、发现格式或其他任何方面有反馈——我正在公开构建这个工具,期待了解还有哪些缺失。