2026 OpenClaw フロント実戦:
リモート Mac で axe-core 可観 JSON を解析し、PR 可読の a11y 要約まで返す
リモート Mac の CI で axe-core の JSON を正規化し OpenClaw が PR 用 Markdown を書く。ログイン前提 URLは貼らない。併読:Lighthouse・ベースライン a11y、ビジュアル回帰 → PR 要約。
01 axe の実行方式と JSON 出力
Playwright/Cypress の injectAxe+checkA11y、または @axe-core/cli でプレビュー URL を走査。リモート Mac では Chromium/WebKit と Node をピン留めし CI と一致させる。成果物はスクショではなくJSON。保存は .openclaw/reports/<git-sha>/a11y/、manifest.json に axe 版・ブラウザ・URL 一覧。失敗時もアーティファクトを残し OpenClaw が要約可能にする。
- 並列:ルートをシャードしマージ時はソートキー固定。
- タイムアウト:第三者 iframe でワーカーが止まらないようページ上限を設定。
02 OpenClaw 解析ルールのテンプレ
HTML スクレイプは禁止。レポートの読取と「a11y_normalized.json → pr_a11y_summary.md」の節立てをプロンプトで固定。事実転写と修正案はラベル分離。節の例:件数サマリ、上位ルール、代表ノード(短い HTML)、WCAG、再テストコマンド、豁免。数値ポリシーは YAML 横に置く流れはバンドル閾値と PR 要約と同型。
03 要約フィールドと閾値
正規化は ruleId、impact、wcagRefs、公開 helpUrl、failureSummary、targetSelectors、url、fingerprint。HTML 断片は短く、PII を PR に載せない。
| ポリシー層 | 閾値の例 | CI の振る舞い |
|---|---|---|
| Serious | 0 件 | 失敗+要約にルール列挙。 |
| Moderate | ≤ 予算(例 3) | 警告/失敗はフェーズ次第。豁免はチケット必須。 |
| Minor | 報告のみ | マージ非ブロック。上位五件まで PR に。 |
| 該当なし | — | 省略可。走査 URL 数のみ。 |
閾値は YAML 隣で版管理。schemaVersion を上げて古いコメントと区別する。
04 Git 提供方へのコメント返却(記述的な統合手順)
手順の説明はREST+リポジトリ限定トークンで書く。GitHub は fine-grained/App で pull requests: write、GitLab は project token の api のみ。環境変数の PR/MR 番号へ Markdown を POST し一コメントに集約。本文のリンクは公開 helpUrl/WCAG に限定し、SSO ダッシュボードの URL は貼らない。方針で禁止なら内部 Webhook が Git API を代理する。
冪等:<!-- openclaw-a11y:$SHA --> で既存を検索して更新。リトライ:429/5xx は指数バックオフ+ジッター最大五回。ログにシークレットを出さない。
05 トラブルシュート FAQ
違反ゼロでおかしい:ロード前 DOM/クローズドシャドウを疑い、待機を足す。件数ブレ:広告・同意バナー・タイマー。時計・ロケール固定、第三者ブロック。捏造セレクタ:テンプレで targetSelectors 逐語のみ、Schema で CI 先行検証。401/403:スコープ・フォーク可視性・pull_request_target の落とし穴。信頼できないコードは Webhook 経由。コメント過長:例を削り JSON はアーティファクトへ。
axe → JSON → 正規化 → OpenClaw → 閾値 → Git API 冪等返却。実機検証も同じ Mac ならレンタル向き。
常時オンで a11y ゲートを回すには料金とヘルプ(SSH/VNC)を確認し、購入・レンタルはログイン不要です。トップから導線を辿れます。ブログ一覧。
axe-core・OpenClaw・PR 要約を 24 時間体制で
ホーム、料金、購入・レンタル(ログイン不要)、ヘルプセンター。フロント自動化の関連記事:Playwright E2E 自動修正、E2E ログトリアージ、ブログ索引。