方法说明:我们如何测量市政网站的无障碍程度
版本 1.1 · 2026年9月1日 · Maksim Galatin & Claude (Anthropic) · 采用 CC BY 4.0 许可
为什么需要一份单独的方法说明
世界上并不缺少自动化的无障碍测量。axe-core 之类的扫描器就在做这件事:成本低、可复现,衡量的是页面标记。
但关于「用键盘尝试走完这条路时究竟会发生什么」的数据几乎没有。规则集检查的是标记,它并不试图抵达目标。我们需要的是一次真正在活页面上按 Tab、并观察焦点落在何处的遍历。
我们同时进行两种测量,并将二者相互比较。它们之间的差距正是这项工作的主要成果,而这个差距只有当两种检测走的是完全相同的样本时才能得出。
第一部分:自动测量
样本如何选取
美国部分采用 CISA 机构维护的 .gov 官方域名登记册(cisagov/dotgov-data,CC0 许可,每日更新)。从中选取 City 与 County 类型的机构:51 个州与属地中的 11,659 条记录。
这与靠搜索拼凑出来的名单有重要区别。面对「这些城市是从哪里来的」这一提问,我们有一个一分钟即可核验的答案:整份官方登记册,而不是我们碰巧找到的那些。
欧洲部分采用 OpenStreetMap 中的市政机构,依据 amenity=townhall、office=government 及相关标签。
OpenStreetMap 由志愿者填写,各国的完整度并不相同。我们并不宣称覆盖了一个国家的全部市政当局;我们宣称的是,覆盖了所有在 OSM 中标注了网站的市政当局。这是两件不同的事,而后者可以核验。
如何检测
使用真实浏览器(通过 Puppeteer 驱动 Chromium),而不是 HTTP 请求。原因是:当今相当一部分网站由脚本装配而成,检查原始 HTML 测到的并不是人所看到的内容。
在每个网站上:打开页面并等待 domcontentloaded 事件;运行符合 WCAG 2.1 AA 的开放规则集 axe-core;记录每一条被触发的规则、出现次数与 DOM 选择器;寻找缴费页面并检查通往它的路径。
统计什么,如何统计
违规密度 = 被触发的规则数除以受检页面数。用密度而非绝对数量:大型网站页面更多,按违规总数比较等于因规模而受罚。
我们不做什么——这一点很重要
我们不会根据单个页面给整个网站定性,不把警告计为违规,也不用主观评价替代测量。自动化部分只回答一个问题——某条规则是否被触发,除此之外一概不答。
第二部分:键盘遍历
从这里开始的,是任何自动化审计都不做的事。
交给检测方的任务
仅用键盘走完一个想缴纳市政税费或罚款的人所走的路径。完全不碰鼠标。
由谁执行检测
遍历由真实 Chrome 浏览器中的软件代理执行,而不是坐在桌前的人。我们把这一点直说出来,因为下文所有数字该如何理解,取决于这个答案。
代理操作真实页面的方式与没有鼠标的人相同:按 Tab,读取焦点移动到了哪里,并在无处可移之处停下。它不解析原始 HTML,也不凭标记下判断——它走的是带有全部脚本、同意横幅与弹窗的活页面。
这样做带来了什么。 可复现性:同一次遍历可以重新运行并得到相同结果,而真人无法被安排去面对六万七千个页面,也无法在一个月后被要求重走同一条路径。还有规模:这种量级的测量根本无法靠人手完成——这正是此前不存在此类数据的原因。
这样做没有带来什么,我们予以承认。 代理不能替代屏幕阅读器用户,也不衡量页面是否易于理解。它只回答一个问题——单靠键盘能否在物理上抵达目标。我们并不宣称进行过有视障参与者的测试:那件事我们没有做。
每个网站记录哪些内容
| 字段 | 含义 |
|---|---|
| 到缴费的步数 | 到缴费表单需按多少次 Tab |
| 到缴费的秒数 | 这条路径花了多少时间 |
| 在何处中断 | 路径在哪个元素上变得无法继续 |
| 原因 | 究竟是什么造成了阻碍 |
| 字段是否有标签 | 表单字段是否与其说明文字相关联 |
| 对比度是否达标 | 缴费按钮上的文字是否可辨认 |
| 截图 | 中断处的画面 |
вердикт_человека | 遍历结果:通过、部分障碍、未通过。该字段名沿用历史命名,并在开放数据中保持一致 |
| 扫描器的判断 | 自动检测对该网站给出的判断 |
最后一个字段最为关键:它使得对同一对象的两次测量得以相互比较。
什么算作障碍
- 焦点不可见(outline: none)——无法判断自己身在何处
- 焦点陷阱——无法用键盘离开该元素
- 字段没有标签——屏幕阅读器无法说明该输入什么
- 不是按钮的按钮——带事件处理的 div 无法获得焦点
- 模态窗口无法用 Escape 键关闭
遍历样本如何选取
两组都要检测:既包括自动检测判定为无障碍的网站,也包括被它判定不合格的网站。否则得到的将是单向测量,只显示对我们有利的那一类错误。
第三部分:比较得出了什么
本研究的核心量值,是机器与遍历之间的差距,并且要在两个方向上分别测量:
虚假的安心——自动检测判定「无障碍」,而遍历走不通。
虚假的警报——自动检测判定不合格,而遍历能够走通。
截至 2026年9月1日 的工作进展
| 指标 | 数值 |
|---|---|
| 遍历记录数 | 95,524 |
| 已走完的市政当局 | 11,902 |
| 州与属地 | 51 |
| 带已核实截图的记录 | 83,212 |
| 扫描器与遍历的差距 | 53.8 % |
我们承认的局限
1. 美国普查已经结束——CISA 登记册全部走完,11,659 个网站中的 11,659 个。美国的数字已是最终结果;只有在纳入其他国家时才会变化,届时会明确说明。
2. 并非每条记录都有截图。页面根本没有打开的地方,本就无图可截。
3. 反机器人屏障不等于不可访问。屏障之后是什么我们并不知道,也不把它记为障碍。
4. 遍历不能替代真实用户。它只回答一个问题:单靠键盘能否在物理上抵达目标。 八种页面类型各有自己的目标:查找公开文件、提交 311 请求、到达付款步骤、查找会议记录、抵达主导航、查找职位、查找联系方式、查找日历事件。整体数字(74.6 % 未抵达,25.4 % 抵达)涵盖全部八个目标,而非其中之一。仅付款目标的抵达率为 19.0 %。
5. 四十次 Tab 的阈值是我们自己定的。其依据是成功路径的中位数为三次按键,但这终究是我们的选择,而非某项标准。 已做敏感性检验:阈值取 40、60 和 100 时数字完全相同——超过四十次按键无人抵达目标,成功路径的第 99 百分位为 35 次。更低的阈值确实会改变结果:取 30 时抵达比例下降 0.6 个百分点,取 20 下降 2.1,取 10 下降 5.7。核心数字同样变化:40 时为 53.8 %,30 时为 55.0 %,20 时为 57.6 %。因此四十是余量,而非实质性的建模选择。
6. 自动检测无法访问的网站,此前会整体掉出样本。这类网站共 787 个,其中包括整个纽约州;其中 230 个市政当局须在 2027 年 4 月 26 日前达标。我们正按同样的顺序——由大到小——单独对它们进行遍历。
7. 部分页面被检测了两次,我们计算了这会带来什么变化。遍历按轮次推进,同一地址有时会再次进入:这类记录有 348 条,占 95,524 条日志的 0.4 %。我们对每个「地址加页面类型」的组合只保留最新的一条记录,重新计算了全部比例。核心数字完全没有变化:前后均为 74.6 %;抵达比例前后均为 25.4 %。相差百分之一个百分点,我们在此说明,以免日后需要解释。
8. 观测值并不相互独立,我们对此做了测量。同一站点的八项任务彼此关联:构建不佳的站点往往八项全部失败。组内相关系数为 0.263,方差膨胀因子为 2.72——因此八项任务提供的并非八个独立观测,而是约三个。有效样本量为 17 272,而非 47 036 条可测记录。核心数字经此校正后的置信区间为 52.7 % [51.7; 53.8]。未校正时为 [53.2; 54.4],宽度几乎只有一半,而那将是不真实的。另外:若按市政当局而非按页面计数——每个站点一票——结果为 52.7 %,对比 53.8 %。相差 1.1 个百分点:结论不依赖于计数单位。
开放性
- 原始数据完整发布,包括对我们不利的记录
- 检测代码是开放的
- 附有遍历截图——每个受检页面各一张
- 早期版本中的错误直接写在方法说明里,而不是事后改写
我们也检测了自己
一项关于无障碍的研究,如果自己的网站都不可访问,那就一文不值。2026 年 8 月 27 日,我们用与市政网站完全相同的流程走了自己的全部四个网站:用键盘、在真实浏览器中,每一步都检查焦点是否可见。
| 网站 | 焦点轮廓 | 元素数 | 无名称 |
|---|---|---|---|
codeofdigitaleternity.com | solid 3px | 91 | 0 |
aifa.works | solid 2px | 104 | 0 |
aifa.digital | solid 3px | 67 | 0 |
radiocode.space | auto 1px | 46 | 0 |
我们也把在自己身上发现的问题单独说清楚。我们的代码中有 83 处 outline: none——正是这一行,在我们自己的研究里造成了全部中断的 31 %。它们之所以无害,只是因为被全局的 :focus-visible 规则覆盖了。这恰恰就是「写得不好」与「运行得不好」之间的区别,而我们用自己作了示范。
利益冲突披露
作者提供修复无障碍缺陷的服务。本研究为自筹经费。没有人付费以进入样本,也没有人付费以被排除在外。
如何引用
Maksim Galatin & Claude (Anthropic). Municipal Website Accessibility: Automated Scan versus Keyboard Traversal. AIfa Works, 2026. CC BY 4.0. aifa.works/research/methodology
反馈
如在方法或数据中发现错误,请来信:contact@codeofdigitaleternity.com
数据本身 — aifa.works/research/data