◉GEMINI LABEN
●ARGON — gemini-4-argon が 10/13 に GA。複雑なコーディング・エージェント・数学・科学向けです●DEEP RES — deep-research-pro-preview-12-2025 は 10/23 に停止、残り6日。移行先は deep-research-preview-04-2026●NANO — gemini-nano-banana-2.1 が GA(10/06)。gemini-3.1-flash-image は非推奨で停止日は未発表です●MCP — ツール結果が 8.5万トークンに膨らんだ事例を、ADK で 310 トークンに包んで抑えた報告が出ています●FLASH — gemini-3.7-flash と 3.5-flash は新しい Flash モデルに自動で回されます(10/08)●NEW — クラッシュ報告を毎回ゼロから読ませない — 既知バグ早見表を先に grep し…●ARGON — gemini-4-argon が 10/13 に GA。複雑なコーディング・エージェント・数学・科学向けです●DEEP RES — deep-research-pro-preview-12-2025 は 10/23 に停止、残り6日。移行先は deep-research-preview-04-2026●NANO — gemini-nano-banana-2.1 が GA(10/06)。gemini-3.1-flash-image は非推奨で停止日は未発表です●MCP — ツール結果が 8.5万トークンに膨らんだ事例を、ADK で 310 トークンに包んで抑えた報告が出ています●FLASH — gemini-3.7-flash と 3.5-flash は新しい Flash モデルに自動で回されます(10/08)●NEW — クラッシュ報告を毎回ゼロから読ませない — 既知バグ早見表を先に grep し…
記事一覧/開発ツール
⟐ 開発ツール/2026-04-08上級

Gemini API でアクセシビリティ監査を自動化する — 誤検出に振り回されない設計

Gemini API で WCAG 2.2 の監査を自動化する実装。計算で出せる項目と AI に判断させる項目を分け、構造化出力・ベースライン差分・CI ゲートで誤検出を抑えながら継続運用に乗せる方法をコード付きで解説します。

gemini-api287accessibilitywcagweb-developmentautomation36python106

✦ プレミアム記事

個人開発で運用しているサイトに、Gemini API のアクセシビリティ監査を初めて走らせた夜のことを、今でもよく覚えております。

返ってきた JSON には、37 件の違反が並んでいました。胸が高鳴りました。ところが一件ずつブラウザで確かめていくと、コントラスト比 3.1:1 と断定された箇所は実測 7.2:1 で、まったく問題がありませんでした。逆に、フォーカスリングが背景に完全に溶けている本物の欠陥は、レポートのどこにも書かれていませんでした。

AI は画面を「見て」いるようで、ピクセルの色を測ってはいなかったのです。

この記事は、その失敗から組み直した監査パイプラインの記録です。要点は一つ。計算で確定する項目を、言語モデルに推測させないこと。この線引きを守るだけで、監査結果は「参考情報」から「CI で落とせる指標」に変わります。

AI に測らせてはいけないもの、任せるべきもの

WCAG の達成基準は、性質の異なる二種類に分かれます。数式で答えが一意に決まるものと、文脈を読まないと判断できないものです。

前者を言語モデルに投げると、もっともらしい数字が返ってきます。しかしそれは測定値ではなく、生成された数字です。一方、後者はルールベースのツールが最も苦手とする領域で、ここにこそ Gemini の価値があります。

レイヤー担当対象基準の例判定の根拠
決定論レイヤー Playwright + 計算コード 1.4.3 コントラスト比 / 2.5.8 ターゲットサイズ / 1.1.1 alt 属性の有無 / 3.1.1 lang computed style と矩形サイズから数式で確定
判断レイヤー Gemini API 1.1.1 alt テキストの妥当性 / 2.4.4 リンクテキストの明確さ / 1.3.1 見出しの意味的階層 / 1.4.1 色以外の手がかり 文脈・意味の理解が必要で、数式では表せない
参考レイヤー Gemini(スクリーンショット) 視覚的な違和感の指摘、レイアウト崩れの疑い 人間のレビューを呼び出すためのフラグとしてのみ扱う

同じ「1.1.1 非テキストコンテンツ」でも、alt が存在するかどうかは DOM を見れば一行で確定します。しかし alt="image1" が代替テキストとして役に立っているかは、周囲の文脈を読まなければ判断できません。前者を Gemini に、後者を正規表現に任せてしまうのが、最もよくある設計ミスです。

私が最初に踏んだのも、まさにこの落とし穴でした。本番運用に持ち込む前に気づけたのは、単に運が良かっただけだと思っております。

WCAG 2.2 と、自動化できる範囲の現実

WCAG 2.2 の達成基準は 80 を超えます。その全てを機械が判定できるわけではありません。四つの原則ごとに、自動化の相性は大きく違います。

原則代表的な基準決定論で確定AI の寄与
知覚可能コントラスト、テキスト代替高い代替テキストの質の評価
操作可能キーボード操作、ターゲットサイズ中程度フォーカス順序の妥当性
理解可能読みやすさ、入力支援低いエラーメッセージの具体性
堅牢マークアップの適合性高いほとんど不要

ルールベースのツールが検出できるのは、達成基準全体のおよそ 30〜40% と言われています。残りが人間の判断領域です。

Gemini を投入する狙いは、この「残り」の一部を機械可読な指摘に変えることであって、既に axe が正確に測れている領域を置き換えることではありません。ここを取り違えると、正しかった検査結果まで確率的になってしまいます。

✦

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

この記事の続きを読む

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

この記事で得られること
✦コントラスト比のような計算で確定する項目を AI に推測させないための、決定論レイヤーと判断レイヤーの分け方
✦response_schema と temperature 0.0 で監査 JSON の揺れを止め、再実行しても差分が出ない土台を作る実装
✦ベースライン差分と CI ゲートにより、誤検出でビルドを止めずに新規違反だけを確実に拾う運用手順
Stripe による安全な決済 · いつでもキャンセル可能
✦

この記事を購入する

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

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

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

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

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

関連記事

⟐ 開発ツール2026-09-15
承認ルールを書いたのに一度も一致していませんでした — policy を点検して回った記録
Gemini CLI の policy に書いた承認ルールが一度も一致していませんでした。照合対象が JSON 文字列だったこと、置き場所の階層が無効だったこと、無人実行で ask_user が deny になること。点検を機械化したスクリプトまで書き残します。
⟐ 開発ツール2026-08-21
通知文の長さ指示が英語版だけ効かなかった理由と、生成後に幅で詰める実装
日英2言語のプッシュ通知を Gemini に生成させたところ、英語版だけが実機で途切れていました。原因は文字数での長さ指示です。表示幅の実測値と、生成後に詰めるフィッティング実装をまとめました。
⟐ 開発ツール2026-08-10
ヘルプが答えていない質問を、Gemini に問題を作らせて先に見つける
ヘルプやFAQに書いてあるのに問い合わせが止まらないとき、その資料から問いを生成し、資料本文だけで答えられるかを判定する二段構えの点検パイプラインを作ります。呼び出し設計と費用の見積もりまで含めた実装手順です。