powered by TechFeed
表示モード
Deep Dive

Webアクセシビリティツリーの品質が6年間の改善傾向から逆転——AIエージェントの57.2%を占めるボットトラフィック時代に何が起きているか

6月25日、Search Engine Journalが「The Accessibility Tree Is How AI Agents Read Your Site & It's Breaking」と題した記事を公開した。AIエージェントがWebサイトをアクセシビリティツリー経由で読み取る仕組みと、そのツリーの品質が2026年に初めて悪化に転じた実態を詳しく紹介している。

6月25日、Search Engine Journalが「The Accessibility Tree Is How AI Agents Read Your Site & It's Breaking」と題した記事を公開した。AIエージェントがWebサイトをアクセシビリティツリー経由で読み取る仕組みと、そのツリーの品質が2026年に初めて悪化に転じた実態を詳しく紹介している。


ボットがWebトラフィックの過半数を占めた

2026年5月30日〜6月5日の週、Cloudflare RadarはHTMLコンテンツへのHTTPリクエストのうち57.2%が自動化されたボットによるものだと計測した。人間は42.8%に過ぎない。Cloudflare CEOのMatthew Princeはこの「逆転」を2027年と予測していたが、1年以上早く到来した。

このボットトラフィックの大半は単なるスクレイパーではない。実際のユーザーのためにページを操作するAIエージェントが占める割合が急増している。そしてそのAIエージェントが依存している構造が、6年間続いた改善傾向から逆転した。


AIエージェントはアクセシビリティツリーを読む

アクセシビリティツリーとは、ブラウザがDOMから構築する「ページの意味的な骨格」だ。スクリーンリーダー(視覚障害者向けの読み上げソフト)が20年間依存してきた仕組みであり、W3CのWAI-ARIA 1.2でも「UIの構造を表すアクセシブルなオブジェクトのツリー」として定義されている。

パイプラインは単純だ:HTML → DOM → アクセシビリティツリー → スクリーンリーダー/AIエージェント

数千ノードあるDOMは、見出し・リンク・ボタン・フォームフィールド・ランドマーク・画像の代替テキストなど「意味のある要素」だけに圧縮される。各ノードは以下の4つのプロパティを持つ。

プロパティ 内容
Role(役割) 要素の種類 ボタン、ナビゲーション、リスト項目
Name(名前) 参照される呼び名 「もっと読む」というリンク、ラベルなしのアイコンボタンは名前なし
State(状態) 現在の状態 チェック済み、展開、無効、選択中
Description(説明) 名前以外の追加文脈 ツールチップのような補足説明

エージェントはこのツリーを使って「何をクリックできるか」「どのフォームに何を入力するか」を判断する。

なぜスクリーンショットではなくアクセシビリティツリーなのか

エージェントがブラウザを操作する方法は主に3つある。

  • アクセシビリティツリーのみ:MicrosoftのPlaywright MCPはビジョンモデルを使わず「構造化データのみで動作する」と明記している
  • ビジョン優先:OpenAIのComputer-Using Agent(Operatorの基盤モデル)はスクリーンショットを主に使う
  • ハイブリッド:アクセシビリティツリーをベースに、Canvasレンダリングなどツリーで捉えきれない部分に視覚モデルを補助的に使う

ツリーが好まれる理由は明快だ。スクリーンショットはトークンを大量消費し、ビジョンモデルが「どのピクセルがボタンか」を推測しなければならない。ツリーはコンパクトなテキストで、役割と名前が明示されている。

OpenAIもPublishers and Developers FAQの中で「ChatGPT AtlasはARIAタグを使ってページ構造とインタラクティブ要素を解釈する」と明言し、サイトをアクセシブルにすることを推奨している。スクリーンショット主体のエージェントを持つOpenAIでさえ、だ。


2026年、Webのアクセシビリティが初めて悪化した

WebAIM Millionは毎年、上位100万ホームページを対象にアクセシビリティを自動分析するプロジェクトだ。2026年2月版のレポートは厳しい数字を示した。

  • 95.9%のホームページにWCAG(Webアクセシビリティ指針)の違反が検出。前年の94.8%から増加。WebAIMは「過去6年間の小さな改善傾向が逆転した」と表現している
  • ホームページあたりの検出エラー数:56.1件(前年比10.1%増
  • ホームページあたりの要素数:1,437個(前年比22.5%増

1年で要素数が22.5%増加するのは異常だ。要素が増えるほど構造が壊れる場所も増える。

最も多いエラーがツリーを無効化する

最頻出のアクセシビリティ障害は、エージェントにとってそのままデッドエンドになる。

障害の種類 影響ホームページ率 エージェントへの影響
低コントラストのテキスト 83.9% ビジョン系エージェントにも見えない
alt属性なしの画像 53.1% 画像が意味を持たない
フォームのラベルなし 51% 何を入力すべきかわからない
空のリンク 46.3% 役割はあるが名前がない(案内板のないドア)
空のボタン 30.6% 存在は見えるが何をするボタンかわからない
ドキュメント言語の未指定 13.5% 誤った言語処理が適用される

上位100万のホームページのうち46.3%に空のリンク30.6%に空のボタンが存在する。エージェントにとってこれらは「見えているが使えないUI」だ。

WebAIMはレポートでこう述べている:

「これらわずかな種類の問題に対処するだけで、Web全体のアクセシビリティは大幅に改善する」


悪化の原因は「vibe coding」か

WebAIMはこの複雑性の増大を「サードパーティのフレームワークやライブラリへの依存増加、および自動化・AI支援コーディング("vibe coding")」に帰因している。

「vibe coding」とは、開発者がコードの細部を逐一確認せずAIに生成を委ねる開発スタイルを指す俗称だ。コードの量が増え、ページのデプロイが速くなる一方で、「この要素に名前と役割が正しく設定されているか」を確認する人間がいなくなっている構図がある。

WebAIMのデータが示す要素数の急増(前年比22.5%増)は、この仮説と整合する。AIが生成するコードはビジュアルとして破綻しないことを優先しがちで、アクセシビリティツリー上の正確性——ボタンに名前があるか、フォームにラベルが紐付いているか——は検証されないまま出荷されやすい。自動テストやaxe-coreのような静的解析ツールをCIパイプラインに組み込まない限り、この種の問題は人間のレビューでも見落とされる。

皮肉な構図だ。人間がAIを使って、AIが読めないWebを大量生産している。


ARIAの逆説:下手に付けると悪化する

ARIAはHTMLだけでは表現しきれない役割・名前・状態をアクセシビリティツリーに補完する属性セットだ。しかしWebAIMのデータは皮肉な事実を示す。ARIAが存在するページの平均エラー数は59.1件、存在しないページは42件だ。

間違ったARIA属性は「空白」を残さない。「自信を持って間違った情報」でツリーを埋める。エージェントにとって「正直な空白」より「誤情報の確信」の方がはるかに危険だ。

W3CのARIAの第一原則はこう定める:「必要なセマンティクスと動作がすでに組み込まれたネイティブHTML要素を使えるなら、要素を流用してARIAを追加するのではなく、ネイティブ要素を使え」。まずセマンティックなHTMLを書く。ARIAはその後の話だ。


自分のアクセシビリティツリーを確認する方法

ChromeのDevTools公式ドキュメントによれば、手順は2分で終わる。

  1. DevToolsを開き、Elementsパネルで要素を選択し、Accessibilityタブを開く → 計算されたロール・名前・状態が確認できる
  2. "Show accessibility tree"トグルをオンにすると、DOMツリーがページ全体のアクセシビリティツリー表示に切り替わる

コードで確認したい場合はPlaywrightのARIAスナップショットが使える。ページのアクセシビリティツリーをYAML形式で出力する機能で、Playwright MCPのようなエージェントが実際に受け取る構造にほぼ一致する。

確認のポイントはシンプルだ。ページ上の重要なアクションについて、ツリーに正しいロールと明確な名前を持つノードが存在するか。 「購入」ボタンがツリー上でアクセシブルな名前のないgeneric要素として現れているなら、エージェントはそのボタンを見つけても使えない。


詳細はThe Accessibility Tree Is How AI Agents Read Your Site & It's Breakingを参照していただきたい。