用户登录

技术文章

外部链接将在新标签页打开。

把无障碍声明当工程资产管理:ACCESSIBILITY.md 的版本、责任人与失效率

一句话回答

GitHub 开始高亮仓库中的 ACCESSIBILITY.md,并帮助维护者记录无障碍目标、已知障碍、支持环境、贡献者期望和报告流程。但文件有位置不等于内容长期有效。本文建议用三个维度管理它:随代码版本化、指定责任人与升级路径、把声明中的断言变成可定期核对的条目,并用一个可测量的核查表跟踪失效情况。文中给出的是管理方法建议,不是 GitHub 的格式规范;高亮的具体展示规则本次材料未提供。

核心要点 TL;DR
  • ACCESSIBILITY.md 的价值取决于它是否可追溯、可问责、可判定过期,而不仅仅在于是否存在。
  • 把声明中的每条陈述写成可核对的断言,附核对方式和上次核对日期,才能计算失效率。

把无障碍声明当工程资产管,就是要求它满足三个条件:能被追溯(版本)、能被问责(责任人)、能被判定过期(失效率)。GitHub 在 2026 年 11 月 5 日的博客中说明,平台会高亮仓库中的 ACCESSIBILITY.md 文件,并帮助维护者记录无障碍目标、已知障碍、支持环境、贡献者期望和报告流程(GitHub Blog)。这解决的是“声明放在哪里”;“放进去之后怎么不失效”仍要由项目自己设计。下文的字段与流程都是管理建议,并非 GitHub 规定的格式;高亮的具体展示规则、是否对文件结构有要求,本次材料未提供,待核实。

版本:让声明和代码使用同一条时间线#

把文件放在仓库根目录,与 README、LICENSE 同级,让它的每次修改都经过 PR 评审、进入 commit 历史。“这句话是什么时候写的、谁改的、为什么改”可以直接从版本历史回答,不需要额外的文档系统。

  • 写入两类时间:核对日期(最近一次重新验证的时间)和适用范围(覆盖哪条发布线,例如“2.x”)。
  • 避免“当前版本”“最新浏览器”这类会随时间偏移的措辞,改成可判定的表述。
  • 版本化不是给文件加编号,而是让每次修改都能 diff、能回滚、能追到评审记录。

责任人:单一 owner 加一条升级路径#

用 CODEOWNERS 指定声明的评审人只是第一步。owner 还必须具备修复能力,或者能明确把问题转给能修复的人。建议在文件中写清四个字段:负责人、备份负责人、报告渠道、响应目标(例如“5 个工作日内确认收到”)。

常见的反模式是只写“如有问题请联系维护者”。这既没有指定人,也没有时限,无法判定是否履约。

失效率:把陈述变成可核对的断言#

这里的失效率指:声明中的断言在抽查时不再成立的比例。它值得记录,是因为一份写着“支持某屏幕阅读器”但实际已不支持的声明,比没有声明更糟——用户会按错误预期使用产品,然后把失败归因于自己。

做法是把每条陈述拆成可验证的条目,标注核对方式和上次核对结果。下表是结构示例,其中的数值均为占位,不代表任何真实项目:

断言核对方式周期上次核对
键盘可完成主流程人工走查每个次要版本占位日期
对比度符合声明级别自动扫描 + 人工复核每次 UI 变更占位日期
已知障碍列表仍准确人工复核 issue每季度占位日期

核对频率应按发布节奏定,而不是按自然年。若某条断言连续多次核对失败,应把它从“支持”移到“已知障碍”,而不是让它留在原地。公开失效率会带来压力,但只有公开才可能被外部用户纠正。

一个最小文本模板#

下面是 Markdown 文本模板,不是可执行代码,未运行任何校验工具;字段按上文建议组织,可按项目裁剪。

# 无障碍声明

适用范围:2.x 发布线
最近核对:YYYY-MM-DD
负责人:@maintainer-a(备份:@maintainer-b)
报告渠道:issue 模板「无障碍问题」
响应目标:5 个工作日内确认收到

## 目标
- (本发布线承诺做到的事)

## 已知障碍
- (当前不满足、且用户可感知的问题,附 issue 链接)

## 支持环境
- (经过核对的操作系统、浏览器、辅助技术组合)

## 贡献者期望
- (提交 UI 变更时需要附带的无障碍检查)

## 核对记录
- YYYY-MM-DD:核对人,结论,变更

边界:声明不能替代什么#

声明不能替代实际修复,也不能替代法律或采购场景下的合规文件。它的作用是让外部用户知道当前状态和反馈路径,让内部知道哪些承诺正在被跟踪。把这三件事分开写,比在一份文件里同时承担所有职能更可持续。

参考来源

  1. Accessibility statements now have a home on GitHub

以上为本文写作时的参考资料,引用观点以原文为准。

作者:沐小悠

本文约 4 分钟读完 · 关键词:ACCESSIBILITY.md、无障碍声明、开源维护、工程资产、CODEOWNERS

更多文章 GET 示例接口

「」标签下的其他文章