ANTIGRAVITY LABEN
記事一覧/連携・プラグイン
連携・プラグイン/2026-06-17上級

axe-core の検出をエージェントに渡して直す — アクセシビリティ改善を CI に組み込む実装メモ

axe-core で検出したアクセシビリティ違反を Antigravity のエージェントに渡し、検出→トリアージ→修正→再検証のループを CI に組み込む実装メモです。新規違反だけを止める差分ゲートと、エージェントの修正範囲を絞る設計を本番運用の形でまとめました。

antigravity367accessibilityaxe-coreplaywright2github-actions9ci-cd10premium13

プレミアム記事

import RelatedArticles from "@/components/RelatedArticles";

壁紙アプリの設定画面を更新してリリースした数日後、VoiceOver を使っている方から「保存ボタンが『ボタン』としか読み上げられず、何のボタンか分からない」というお便りをいただきました。アイコンだけの丸いボタンに accessibilityLabel を付け忘れていたのです。一画面なら目視で気づけますが、私自身、個人開発で複数のアプリと Web を並行して触っていると、リリースのたびに全画面を読み上げ確認する運用はまず続きません。

そこで今回は、axe-core でアクセシビリティ違反を機械的に検出し、その結果を Antigravity のエージェントに「直す対象」として渡し、検出からトリアージ、修正、再検証までを一つのループとして CI に組み込む方法をまとめます。ツールに判定させ、エージェントに修正させ、CI で歯止めをかける、という分業が要点になります。対象は主に Web フロントエンド(Dolice の Lab サイト群のような Next.js アプリ)を想定していますが、考え方はモバイルの自動アクセシビリティ検査にもそのまま移せます。

手動のアクセシビリティ点検が続かない理由

アクセシビリティの不具合は、機能バグのように画面が真っ白になって気づくものではありません。見た目には普通に動いています。だからこそ静かに溜まっていきます。コントラスト比が 4.5:1 をわずかに下回ったボタン、ラベルのない入力欄、フォーカスが飛ばない自作ダイアログ。どれも単体では小さく、目視レビューの最後にはたいてい力尽きます。

私が以前やってしまったのは、「リリース前にまとめて直す」という運用でした。結果として、直すべき項目が数百件に膨らみ、心理的に手が出せなくなりました。負債は溜めてから返すより、増やさない仕組みに寄せた方が、はるかに現実的だと感じています。axe-core を CI に置く目的は、まさにこの「増やさない」を機械に肩代わりさせることにあります。

ただ、検出するだけでは足りません。違反一覧を渡されても、レビューする側には「で、どう直すの」という負荷が残ります。ここに Antigravity のエージェントを噛ませ、違反の種類ごとに修正パッチの下書きまで作らせると、レビューが一気に前へ進みます。

ループ全体像 — 誰が検出し、誰が直し、誰が止めるか

このループは役割を最初に固定しておくと迷いません。三者の分担はこうなります。

  • axe-core(検出役): レンダリング後の DOM を走査し、WCAG のどのルールに違反しているかを機械可読な JSON で返します。判定は決定的で、揺れません。
  • Antigravity エージェント(修正役): 違反 JSON と該当箇所のソースを読み、修正の下書きを作ります。説明と提案が役目で、合否の判定はさせません。
  • GitHub Actions の差分ゲート(歯止め役): ベースラインと比べて「新しく増えた違反」があれば PR を止めます。既存の負債は別キューに回し、新規だけを確実にせき止めます。

検出と歯止めを決定的なツールに任せ、非決定的な部分(修正の発想)だけをエージェントに寄せるのが、CI の信頼性を保つコツです。エージェントに合否まで委ねると、同じ PR でも実行ごとに結果が変わり、ゲートとして機能しなくなります。

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
axe-core の違反 JSON を「エージェントが直せる修正タスク」に整形し、critical/serious だけに絞って初回の指摘を 240 件から 38 件へ現実的な数に落とす手順を持ち帰れます
新規違反だけを止める差分ゲートを GitHub Actions に組み込み、既存の負債を抱えたままでも「これ以上悪化させない」状態を今日から作れます
エージェントに修正を任せるときに ARIA を増やしすぎて壊す事故を防ぐ、修正範囲の制約とレビュー観点を実例つきで学べます
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Antigravity Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

連携・プラグイン2026-05-01
Antigravity × Lighthouse CI で Web パフォーマンス劣化を自動検出する — 予算・PR コメント・段階的ブロッキング戦略
Antigravity の AI と Lighthouse CI を GitHub Actions で結合し、パフォーマンス劣化を本番に出る前にせき止める実装ガイドです。予算設計から PR コメント、段階的ブロッキングまで本番運用で使える形でまとめました。
連携・プラグイン2026-06-13
Antigravity CLI(agy)を CI で非対話実行する — stdout が消える非TTY問題への対処
agy -p を GitHub Actions や cron で動かすと、ローカルでは見えていた出力が空になり、終了コードだけ 0 が返ることがあります。非TTY検出のしくみと、擬似TTY・テキスト出力の堅牢なパース・APIキー認証で確実に結果を受け取る設計をまとめます。
連携・プラグイン2026-03-27
Antigravity × GitHub で Pull Request レビューを AI 自動化する実践ガイド
Antigravity の AI エージェントを活用して GitHub Pull Request のコードレビューを自動化する方法を、環境構築からワークフロー設計まで丁寧に解説します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →