我构建了一个免费可访问性审计工具,实际上能够通过它自己的审计

发布: (2026年3月18日 GMT+8 09:49)
5 分钟阅读
原文: Dev.to

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 许可证 – 免费使用、分叉和二次开发。

如果你从事可访问性工作,并对模块列表、发现格式或其他任何方面有反馈——我正在公开构建这个工具,期待了解还有哪些缺失。

0 浏览
Back to Blog

相关文章

阅读更多 »

下一个排列

问题描述:任务是计算给定数字数组的下一个排列。排列是相同元素的重新排列,而下一个…