2026 OpenClaw 前端实战:
远程 Mac 解析 axe-core 可访问性 JSON 并生成 PR 可读摘要回传
前端与发布门禁要把 axe-core 接进评审,但 JSON 体积大、规则重复刷屏。本文给出远程 Mac 或 CI 可复现链路:落盘 axe-raw.json,OpenClaw 模板聚合成 pr_a11y_summary.md,按阈值决定退出码,Webhook 或合并请求评论回传;正文不写需 SSO 的控制台深链。延伸 Lighthouse 与 a11y 巡检、Source Map PR 摘要。
痛点:① 机读报告难贴 PR ② iframe 与重复节点淹没归属 ③ 令牌与 URL 散落。
本文目录:
| 运行方式 | 适用场景 | JSON 要点 |
|---|---|---|
| Playwright / Puppeteer 注入 axe | 多路由 E2E、需登录态 Cookie | 每 URL 一份或在末尾合并数组;带 timestamp |
| Cypress @axe-core/cypress | 组件与旅程录制成熟团队 | 与测试用例 id 对齐便于分诊 |
| @axe-core/cli 扫 Staging URL | 轻量门禁、无浏览器编排 | 单页深度优先;注意超时与重试 |
01 axe 运行方式与 JSON 输出
流水线或远程 Mac 代理仅写 .openclaw/reports/<git-sha>/,原始进 axe-raw.json,meta.json 记引擎版本与基址。跑前 waitForSelector 稳定懒加载与动画,减少与手测漂移。
出站白名单制品与预览域;完整 JSON 勿进聊天,只传摘要路径或脱敏片段。
.openclaw/reports/$(git rev-parse HEAD)/axe-raw.json 与 meta.json 同级。02 OpenClaw 解析规则模板
以 violations 为真源:按 id 聚合,impact 取最高档;每规则 nodes 去重选择器至多五条,附 WCAG tags。模板四段:元数据、影响排序表、Top 路由、复测命令。解析失败非零退出。
03 摘要字段与阈值
pr_a11y_summary.md 字段与门禁示例见下表;阈值文件应版本化入库。
| 字段 / 指标 | 摘要中写法 | 示例阈值(可调) |
|---|---|---|
critical 计数 |
单独小节置顶 | 必须为 0 方允许合并 |
serious 计数 |
表格列 + 代表 URL | ≤ 10 警告,> 10 失败 |
moderate |
折叠附录或工单链接 | 仅记录不挡发布 |
| 退出码策略 | 页脚一行声明 | 超阈 exit 1,解析失败 exit 2 |
04 与 Git 提供方评论回传(描述性集成步骤,无登录态 URL)
- 流水线注入合并请求编号(来自事件负载),勿手写魔法数。
- 用官方 CLI 或 REST 读取
pr_a11y_summary.md创建合并请求评论。 - 令牌存密钥库,单仓与评论写权限;终态前注入环境变量,勿写入日志。
- HTML 注释带构建号幂等;遇限流退避,可并行 Webhook 到 IM。
注意:只写仓库相对路径或公开预览链;勿贴需登录会话的控制台 URL。
05 报错 FAQ
violations 暴增:筛第三方 iframe,规则白名单;摘要单列「第三方」以免误判。
超时或空结果:查 VPN、DNS、是否被重定向登录页。
Lighthouse 与 axe 不一致:规则集不同;以 axe 为准时在 README 声明,URL 清单与 Lighthouse 巡检文对齐。
统一 axe 落盘 JSON,OpenClaw 模板出短 Markdown,critical / serious 控退出码,CLI 或 API 回传评论且不写登录态控制台 URL。远程 Mac 可与手测同机对照。