mcpField
A
A11yScope

A11yScope

本地服务
perceivable.github.io开发工具11 周前更新

关于 A11yScope

A11yScope 是面向 AI 编码 Agent 和开发者的 MCP 服务,用于在本地检查网页和 HTML 的 WCAG 2.2 AA 可访问性。它在 headless Chrome 中运行扫描,并返回带选择器和修复指引的规则检查结果。

主要功能

  1. 01扫描 URL、本地 HTML 和 HTML 字符串
  2. 02提供 31 项 WCAG 2.2 检查及指引
  3. 03结果包含选择器和代码片段
  4. 04区分待审核、通过和不适用状态
  5. 05使用本地 headless Chrome 扫描

适用场景

  1. 01开发时审查本地运行的页面
  2. 02集成前检查生成的 HTML
  3. 03查看可访问性问题并据此修复

MCP 相关

A11yScope 向 MCP 客户端提供 `scan_page`、`scan_html` 和 `list_rules`。客户端可扫描页面或标记内容,并查看适用的 WCAG 规则和检查结果。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"perceivable-a11yscope": {
"command": "npx",
"args": [
"-y",
"a11yscope-mcp"
]
}
}
}
启动命令npx -y a11yscope-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npma11yscope-mcp0.3.0

工具

3

收录的工具列表 · 更新于 2 周前

参数类型必填说明
urlstring是http(s) URL、file:// URL,或 HTML 文件路径(相对于服务器的工作目录)。
wait_msinteger否加载后额外等待的时间,适用于延迟渲染的页面。
include_passedboolean否同时列出没有发现问题的规则,每条规则附带 passed 或 inapplicable 状态及其检查数量。
include_reviewboolean否同时返回需要人工判断的项目(非失败项)。
viewport_widthinteger否
viewport_heightinteger否
max_findings_per_ruleinteger否限制每条规则返回的发现项数量。

详细介绍

a11yscope-mcp

为 AI 编码 Agent 提供 WCAG 2.2 AA 检查。使用与 A11yScope Chrome 扩展程序相同的引擎,并将其作为 MCP 服务公开,让 Claude Code、Cursor、Claude Desktop 和其他 MCP 客户端能够审核它们构建的页面并修复发现的问题。

在本地无头 Chrome 中运行。不会上传任何内容,无需账户,也没有遥测。

a11yscope on npm a11yscope MCP server on Glama

安装

Claude Code

claude mcp add a11yscope -- npx -y a11yscope-mcp

Cursor / Claude Desktop / 任意 MCP 客户端 — 添加到 MCP 配置中:

{
  "mcpServers": {
    "a11yscope": {
      "command": "npx",
      "args": ["-y", "a11yscope-mcp"]
    }
  }
}

需要 Node 20 或更高版本,以及基于 Chromium 的浏览器。安装时不会下载任何内容:首次扫描会使用机器上已有的 Chrome、Chromium、Edge 或 Brave;只有在未找到这些浏览器时,才会将 Chrome for Testing 构建版(约 150 MB,仅下载一次)下载到 Puppeteer 的缓存中。若要指定浏览器,请将 A11YSCOPE_CHROME 设置为可执行文件路径。

工具

工具功能
scan_page在无头 Chrome 中加载 URL 或本地 HTML 文件,并按规则分组返回违规项;每项都附有 CSS 选择器、HTML 片段,以及说明需要如何修改的消息。
scan_html对 Agent 刚生成的 HTML 字符串执行相同检查。如果标记引用了可访问服务器上的样式表,请传入 base_url;否则请将 CSS 内联,因为对比度检查需要计算后的样式。
list_rules列出 31 项检查,每项均包含其对应的 WCAG 2.2 成功标准、级别、影响和修复指南。

两个扫描工具都支持以下选项:include_review(需要人工判断的项目)、include_passed、max_findings_per_rule、视口大小。 scan_page 还支持 wait_ms,用于等待较晚才渲染的页面。 如果网站返回机器人检查页面(例如 Cloudflare 的“Just a moment…”),scan_page 会报错并拒绝扫描,而不会扫描该中间页面;扫描结果几乎没有问题,也毫无意义。

典型提示词:“使用 a11yscope 扫描 http://localhost:3000 并修复所有违规项,然后再次扫描。”

解读结果

每条规则都会返回一个 status(failed、review、passed 或 inapplicable)和一个 checked 计数:规则目标类型的元素在 DOM 中的数量(img-alt 统计每个 <img>,link-name 统计每个链接,页面级规则为 1)。没有可检查内容的规则状态为 inapplicable,而不是 passed;因此,摘要会分别统计 rulesPassed 和 rulesNotApplicable。所以,“修复后重新扫描”有个值得留意的地方:如果 img-alt 的 checked 从 3 变为 0,说明图片被删除了,而不是添加了描述。excluded 表示规则跳过的已检查元素数量,这些元素可能因隐藏(aria-hidden、display:none)或装饰性用途(role="presentation")而被跳过。若某次扫描的 checked 为 3、excluded 为 0,之后变成 checked 为 3、excluded 为 3,说明图片被隐藏了,而不是添加了描述;真正的装饰性图片确实存在,因此这应作为问题交由人工判断。比较前后的 checked 和 excluded,不要只看违规数量。若替代文本是文件名或填充词(image、photo、icon……),则会被 img-alt-redundant 标记。

如果标记是片段(此时页面级检查描述的是该片段,而不是它将嵌入的页面),或没有样式表(此时对比度和焦点结果反映的是浏览器默认设置),scan_html 会添加 notes。

范围:顶层文档及其中任意深度的所有同源框架。框架中的发现会在选择器中带上框架路径(iframe#chat >>> button);页面级检查(语言、标题、h1、地标、跳过链接、标题顺序)则仅适用于顶层文档。跨源框架属于作者无法更改的第三方内容,因此会计入 summary.iframesNotEntered,并在备注中列出,不会进行扫描。开放的影子根也会以同样方式进入;任何在页面中运行的程序都无法读取封闭的影子根。

检查内容

文本替代内容(图片、表单标签、按钮、链接、框架、SVG)、颜色对比度(应用大号文本和粗体文本豁免,并合成半透明背景)、文档结构(语言、标题、各级标题、main 地标、跳过链接、表格、列表、重复 id),以及键盘、指针和 ARIA(缩放锁定、正值 tabindex、可聚焦的 aria-hidden 元素、嵌套交互控件、24×24 目标尺寸、自动播放、字幕、无效角色、必需的 ARIA 状态、自动补全、焦点可见性)。

我们以无障碍领域从业者构建的网站为基准进行校准:gov.uk、 webaim.org、deque.com、a11yproject.com 和 w3.org/WAI 均报告零项违规。这些网站上的任何报告都会先被视为我们的缺陷,直至证实并非如此;因此,你能提供的最有用反馈就是误报。

不会检查的内容

自动化检查只能发现大约三分之一的无障碍障碍。结果干净是个好兆头,但不代表符合标准。替代文本是否准确、页面对屏幕阅读器用户来说是否易于理解、键盘用户能否完成任务——没有工具能回答这些问题,本工具也不会声称自己可以。凡是无法判断的内容,都会返回 review,而不是通过或失败。本工具不能替代专家评估,也不会认证是否符合 EAA、ADA、KWCAG 或任何其他标准。

许可

版权所有 © 2026 Perceivable。可通过 npm 和 MCP 客户端免费安装和运行,包括商业用途。引擎源代码已发布,以便用户能够验证“没有内容离开你的设备”,而不必仅凭信任;但它并非开源,也未授予复制、修改、再分发或发布衍生作品的许可。完整条款请参阅本软件包中的 LICENSE 文件及仓库根目录下的 LICENSE 文件。问题和误报反馈: https://github.com/perceivable/a11yscope/issues.

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。