网页无障碍审核工具

使用Playwright和axe-core进行自动化网页无障碍审核,针对WCAG 2.1 A/AA标准。

  • by fveracoechea
  • Nix
  • 本地部署
  • 更新于
在 GitHub 查看 fveracoechea/playwright-a11y-mcp

使用说明

剧作家-11y-mcp

MCP服务器,用于根据WCAG 2.1 A/AA标准使用Playwright+axe内核进行自动web可访问性审计。

特征:

  • WCAG 2.1 A&AA合规性检查
  • 快速审计(目标<30s) networkidle 导航
  • 关键/严重违规行为的屏幕截图
  • 具有详细违规数据的结构化JSON输出

快速开始

# Install dependencies
bun install

# Start dev server (http://localhost:8080)
bun run dev

# Test with MCP Inspector
bunx @modelcontextprotocol/inspector

要求: 包子 在Linux/macOS上

如果缺少浏览器: bunx playwright install chromium

可用工具

a11y_audit_page

使用违规详细信息和屏幕截图执行完整的WCAG 2.1 AA审计。

{ "url": "https://example.com" }

a11y_get_summary

按影响程度(严重/严重/中等/轻微)快速总结违规行为。

{ "url": "https://example.com" }

a11y_test_page

在审核之前,进行简单的连接测试以验证URL是否可访问。

{ "url": "https://example.com" }

可用提示

generate-accessibility-report

将审计JSON转换为全面的Markdown报告,包括执行摘要、详细的违规行为和补救计划。

用途: 跑 a11y_audit_page 和 a11y_get_summary,然后将原始JSON输出传递给此提示符。

发展

bun run build              # Build for production
bun run prettier:check     # Check formatting
bun run prettier:write     # Auto-format code

代码指南: 看 代理商.md 了解样式规则、架构注释和最佳实践。

项目结构:

  • src/mcp.ts -服务器引导和工具注册
  • src/tools/ -MCP工具实现
  • src/utils/playwright.ts -浏览器自动化实用程序

HTTP端点

  • GET /healthcheck -健康检查(准备就绪时返回200)
  • POST /mcp -MCP JSON-RPC端点

故障排除

浏览器问题: bunx playwright install chromium
审核缓慢: 包含大量脚本的页面可能超过30秒的目标
空结果: 验证URL是否可访问并返回有效的HTML

安全

  • 仅导航到提供的URL(除了axe-core之外没有任意脚本执行)
  • 在无头Chromium中运行,没有持久存储
  • 避免扫描不受信任的本地文件URL