Web アクセシビリティ自動診断による一斉調査 / 2026年9月

自治体トップページの
アクセシビリティ実態調査

都道府県 47・政令指定都市 20・東京 23 区
計 90 自治体の公式サイトトップページを、同一の自動診断エンジンで一斉に診断した結果の集計です。

調査実施日
2026年9月11日
診断エンジン
Lente Scan(axe-core 4.11.4 + Lente Detect 1.6.5)
基準
WCAG 2.2 レベル AA(自動診断で判定可能な範囲)
画面幅
PC 1280px / SP 320px の両方

調査レポート2026年9月

自治体トップページの
アクセシビリティ実態調査

都道府県・政令指定都市・東京 23 区の全 90 自治体について、公式サイトのトップページに対し、Lente Scan による自動診断を実施しました。その結果、87 自治体(96.7%)で問題が検出されました。自動診断が判定できるのは WCAG 達成基準の 3〜4 割程度です。本レポートの数字は、その範囲で機械的に確認できた分に限られます。

87 / 90問題が検出された自治体
(96.7%)
92.2%達成基準 4.1.2「名前 (name)・役割 (role)・値 (value)」で
問題が検出された自治体
18.5 箇所1 ページあたりの検出箇所
(中央値・最大 146 箇所)

調査の要点問題が見つからなかったのは 90 自治体中 3 自治体

90 自治体のうち、機械的に判定できる範囲で問題が 1 件も検出されなかったのは 3 自治体にとどまりました。1 ページあたりの問題の種類は中央値で 4 種類、検出箇所は中央値 18.5 箇所です。最も多い自治体では 13 種類・146 箇所が検出されました。

問題が検出された自治体の割合は、区分によって大きく変わりません。しかも同じ実装が繰り返し見つかっています。たとえば最も多かった「リンクの遷移先に javascript: を使用」は、74 自治体・全ての区分で検出されました。区分を問わず同じ形の問題が並ぶことから、ウェブ制作の現場で広く使われている実装パターンの影響が大きいと考えられます。

区分別の内訳(中央値)
区分対象問題が検出された自治体問題の種類検出箇所
都道府県4746(97.9%)524
政令指定都市2020(100.0%)3.521
東京 23 区2321(91.3%)311

達成基準別9 割超の自治体で、支援技術に部品が伝わらない問題が出ている

検出された問題を WCAG 2.2 の達成基準ごとに整理すると、分布は明確に偏っています。4.1.2「名前 (name)・役割 (role)・値 (value)」が 92.2%、1.3.1「情報及び関係性」が 63.3% と突出しました。いずれも、支援技術に対して「この部品が何であるか」が正しく伝わらない類の問題です。

達成基準別・問題が検出された自治体の割合(n=90、複数該当あり)

達成基準ごとに、ひも付く検出項目の数は同じではありません。今回検出された 39 種類の項目のうち、4.1.2 には 18 種類、1.3.1 には 12 種類がひも付きます。項目の多い達成基準ほど、どれか 1 つでも該当すれば計上されるため検出率は高く出ます。上位の順位は、基準ごとの対象の広さも含んだものとして読んでください。

このうち 2.5.8(ターゲットのサイズ (最低限))は WCAG 2.2、1.4.10(リフロー)は WCAG 2.1 で追加された達成基準です。自治体が公的に求められている JIS X 8341-3:2016 は WCAG 2.0 に対応するため、この 2 つは JIS の範囲外です。ただし、JIS と同じ WCAG 2.0 の範囲に限っても、問題が検出されたのは 86 自治体(95.6%)で、全体の 87 自治体(96.7%)とほとんど変わりません。新しい達成基準を含めたことが結果を押し上げているわけではありません。

単独で最も多かったのは「リンクの遷移先に javascript: を使用」

個別の検出項目で最も多かったのは「リンクの遷移先に javascript: を使用」(リンク(<a>)の遷移先に javascript: を書く実装)で、74 自治体(82.2%)・のべ 724 箇所で検出されました。見た目はリンクでも、キーボードや支援技術からは「どこへ行くのか分からない要素」になります。ページ遷移はリンク、その場の操作はボタン(<button>)という使い分けで解消できる問題です。

区分別では都道府県 78.7%・政令指定都市 90.0%・東京 23 区 82.6%で、最も高い区分と最も低い区分で 11.3% の開きがあります。

ただし、javascript: の扱いには幅があります。適切な実装とは言えない一方で、どの達成基準の不適合にあたるのか、そもそも不適合として数えるべきかは、専門家の間でも判断が分かれます。リンクとして操作でき、名前も役割も機械的に取得できるためです。本調査では検出した問題を重大度で振り分けており、この項目は最も軽い「軽微」に分類しています。件数の多さは、深刻さではなく広がりの指標として読んでください。

検出項目の上位(n=90)
内容自治体数検出箇所
リンクの遷移先に javascript: を使用74(82.2%)724
リストの直下にリスト項目以外の要素がある29(32.2%)54
ARIA ロールに必要な子要素が無い27(30.0%)52
支援技術から隠した領域にフォーカスが入る24(26.7%)350
操作できる部品が入れ子になっている23(25.6%)145
リンクに読み上げられる名前が無い23(25.6%)56
操作対象が小さすぎる・間隔が不十分22(24.4%)159

この調査の限界機械が見ているのは、全体の一部にすぎない

ここまでの数字は、すべて自動診断で機械的に判定できた範囲のものです。WCAG の達成基準には、文脈や意味の理解を必要とするものが多く含まれ、一般に自動診断が判定できるのは全体の 3〜4 割程度とされています。残りの達成基準は、そもそもこの調査が見ていない領域です。

そのうえで、今回のデータには別の限界も表れています。自動診断が見にいった項目の中にも、機械が結論を出せずに判断を保留したものがあるということです。たとえば文字色と背景色のコントラストでは、全 90 自治体で保留された箇所が見つかりました。背景が画像やグラデーションの場合、機械には実際の背景色が確定できないためです。

機械が問題と判定できた機械が判断を保留した
自動診断が見にいった項目のうち、機械が結論を出せた割合と保留した割合(n=90、いずれも該当した自治体の割合)

つまり、コントラストの問題が 8.9% だったことは「91% の自治体に問題がない」という意味ではありません。機械が判定できた分が 8.9% で、残りは人が見なければ分からない、ということです。本レポートのすべての数字は、この性質を持っています。

この調査は、個別の自治体を評価するものではありません。公表しているのは全体の集計値のみで、自治体ごとの結果は公表しません。

また、自動診断で問題が検出されなかったことは「アクセシビリティが確保されている」ことを意味しません。一方、検出された問題が事実であれば、その達成基準には適合していないことになります。ただし自動診断には誤検出が含まれ得るほか、不適合として数えるべきかの判断が分かれる項目も含まれます。適合性の最終的な判断には、人の目による確認が不可欠です。

調査方法再現できる形で記録しています

対象
都道府県 47、政令指定都市 20、東京 23 区の計 90 自治体の公式サイト(悉皆調査)
対象ページ
各自治体のトップページ 1 ページのみ(下層ページは対象外)
実施日
2026年9月11日
画面幅
PC 相当 1280px と スマートフォン相当 320px の両方で診断し、結果を統合
判定基準
WCAG 2.2 レベル AA。自治体が公的に求められている JIS X 8341-3:2016 は WCAG 2.0 に対応するため、本調査の結果には JIS の範囲外(WCAG 2.1・2.2 で追加された達成基準)も含まれます
診断エンジン
オープンソースの axe-core 4.11.4 と、リベロジックの独自エンジン Lente Detect 1.6.5 の併用(検出範囲は重複しないよう整理しています)。今回の検出箇所のうち 60.8% は Lente Detect によるもので、ターゲットのサイズ(2.5.8)・フォーカスの可視化(2.4.7)など axe-core だけでは検出されない達成基準を補っています
取得状況
90 自治体すべてでページを取得でき、欠測はありません

数値は上記の版・実施日時点のスナップショットです。診断エンジンや判定基準の更新により数値は変動するため、経年比較を行う際は同じ条件での再測定が必要です。

詳細集計ここからは、集計の内訳を項目ごとに示します

前半の調査レポートで示した数字の内訳です。結果は次の 2 つの区分で扱っています。

確定違反
機械的に判定でき、誤検出の少ない項目。「問題が検出された」はこの区分を指します。「検出ページ数」は、その問題が 1 箇所以上検出された自治体の数で、同じ問題が同一ページに複数あっても 1 と数えます。
要手動確認
自動診断では判定しきれず、人の確認が必要と判定された項目。問題の有無ではなく「自動診断の限界」を示す数字として扱います。

診断エンジンは Lente Scan と同一の構成です。axe-core 4.11.4 に独自エンジン Lente Detect 1.6.5 を組み合わせ、判定基準の解説には WAS(Web Accessibility Specialist)保持者が整備した辞書(1.0.2)を用いています。

問題の広がり問題の種類数の分布と、区分ごとの比較

1 ページあたりの問題の種類(分布)

横軸は 1 つのトップページで検出された問題の種類数、縦軸はその自治体数です。0 種類(緑)は 3 自治体にとどまり、中央値は 4 種類でした。

区分ごとの比較

問題が 1 件以上検出された自治体の割合です。いずれの区分でも 9 割を超えており、区分による差は大きくありません。

区分別の集計(対象数・問題あり・中央値)
区分対象数問題ありの自治体問題の種類(中央値)検出箇所(中央値)検出箇所(最大)
都道府県4746(97.9%)524146
政令指定都市2020(100.0%)3.521113
東京 23 区2321(91.3%)31180
全体9087(96.7%)418.5146

区分ごとの傾向目立つ問題の種類は、区分によって入れ替わる

区分によって、目立つ問題は同じではありません。差が大きく、かつ偶然とは考えにくい(2 比率の差の検定で |z| ≥ 1.96)達成基準を挙げます。どの区分が一律に良い・悪いということではなく、項目ごとに入れ替わります。

区分間の差が大きい達成基準(問題が検出された自治体の割合)
達成基準都道府県政令指定都市東京 23 区差
フォーカスの可視化29.8%10.0%0.0%29.8%
区分間の差が大きい検出項目(問題が検出された自治体の割合)
検出項目都道府県政令指定都市東京 23 区差
ARIA ロールに必要な子要素が無い44.7%20.0%8.7%36.0%
リストの直下にリスト項目以外の要素がある34.0%45.0%17.4%27.6%
操作できる部品が入れ子になっている36.2%10.0%17.4%26.2%
ARIA の入力欄に名前が無い25.5%10.0%0.0%25.5%
画面に描かれていない要素がフォーカスを受け取る23.4%10.0%0.0%23.4%
ARIA 属性の値が不正17.0%10.0%0.0%17.0%

割合は各区分の対象数に対するものです。対象数の少ない区分では割合が動きやすいため、差の評価には 2 比率の差の検定を用い、|z| ≥ 1.96(およそ 5% 水準)のものだけを掲載しています。検定は最も高い区分と最も低い区分の 2 つを比べたものです。

達成基準別の詳細上位の達成基準が意味すること

確定違反が検出された自治体数を達成基準ごとに集計し、上位 4 つについて基準の要点を添えます。基準の解説は Lente Scan の辞書(WAS 保持者が整備)の要約です。

4.1.2名前 (name)・役割 (role)・値 (value)レベル A

すべての UI 部品に、支援技術が読み取れる名前・役割・状態が備わっている。

83 自治体(92.2%)で検出

1.3.1情報及び関係性レベル A

視覚的に伝わっている構造や関係性が、プログラム的にも伝わるようにマークアップする。

57 自治体(63.3%)で検出

2.4.4リンクの目的 (文脈内)レベル A

リンクテキスト単独で、または周囲のコンテキストと合わせて、各リンクの目的が判断できるようにする。

23 自治体(25.6%)で検出

2.5.8ターゲットのサイズ (最低限)レベル AA・WCAG 2.2 で追加

ポインタ操作のターゲットを 24×24 CSS ピクセル以上にするか、十分な間隔を確保する。

22 自治体(24.4%)で検出

達成基準別・確定違反が検出された自治体数(全件)
達成基準名称レベル自治体数割合
4.1.2名前 (name)・役割 (role)・値 (value)A8392.2%
1.3.1情報及び関係性A5763.3%
2.4.4リンクの目的 (文脈内)A2325.6%
2.5.8ターゲットのサイズ (最低限) WCAG 2.2AA2224.4%
2.4.7フォーカスの可視化AA1617.8%
1.4.10リフロー WCAG 2.1AA910.0%
1.4.3コントラスト (最低限)AA88.9%
1.1.1非テキストコンテンツA77.8%
1.4.4テキストのサイズ変更AA33.3%
2.4.3フォーカス順序A33.3%
2.4.6見出し及びラベルAA33.3%

検出項目別何が、どれだけの自治体で検出されたか

検出された自治体数の多い順に上位 12 項目を示します。棒の色は重大度(重大 深刻 中程度 軽微)です。重大度は Lente Scan の区分で、達成基準のレベルとは別の軸です。

全項目の一覧(自治体数の多い順)
検出項目達成基準重大度出典自治体数割合総箇所
href に javascript: が使用されています。ページ遷移にはリンク(<a href>)を、アクションにはボタン(<button>)を使用してください4.1.2軽微Lente Detect7482.2%724
<ul>および<ol>の直下には<li>、<script>または<template>要素のみを含まなければなりません1.3.1深刻axe-core2932.2%54
特定のARIAロールには特定の子が含まれていなければなりません1.3.1重大axe-core2730.0%52
aria-hiddenが指定されている要素は、フォーカス可能であったり、フォーカス可能な要素を含んでいたりしてはなりません4.1.2深刻axe-core2426.7%350
対話的なコントロールはネストされていてはなりません4.1.2深刻axe-core2325.6%145
リンクには認識可能なテキストがなければなりません2.4.4, 4.1.2深刻axe-core2325.6%56
ターゲットサイズが24×24px未満かつ隣接ターゲットとの間隔が不十分です2.5.8中程度Lente Detect2224.4%159
tabpanel に対応する tab がありません4.1.2軽微Lente Detect1718.9%91
ページに <main> ランドマークがありません1.3.1深刻Lente Detect1617.8%16
要素にはサポートされているARIA属性のみを使用しなければなりません4.1.2重大axe-core1415.6%33
ARIA入力欄にはアクセシブルな名前がなければなりません4.1.2深刻axe-core1415.6%28
画面に描画されていない(サイズ 0 + overflow: hidden のコンテナ内の)要素がキーボードフォーカスを受け取ります2.4.7中程度Lente Detect1314.4%192
ARIA属性は有効な値に一致しなければなりません4.1.2重大axe-core1011.1%20
320px幅(PCで400%ズームした状態に相当)で横スクロールが発生し、コンテンツが見切れます1.4.10深刻Lente Detect910.0%28
要素は色のコントラスト比(最低限)の閾値を満たしていなければなりません1.4.3深刻axe-core88.9%40
role="tab" 内のインタラクティブ要素(a)はセマンティクスが失われます4.1.2中程度Lente Detect77.8%57
画像には代替テキストがなければなりません1.1.1重大axe-core77.8%29
同じロール「complementary」のランドマークが複数あり、名前で区別されていません1.3.1軽微Lente Detect77.8%18
<li>要素は<ul>または<ol>内に含まれていなければなりません1.3.1深刻axe-core66.7%43
同じロール「navigation」のランドマークが複数あり、名前で区別されていません1.3.1軽微Lente Detect55.6%18
ボタンには認識可能なテキストが存在しなければなりません4.1.2重大axe-core55.6%10
tabindex に1以上の正の値は推奨されません2.4.3中程度Lente Detect33.3%53
この要素は視覚的に非表示(opacity: 0)ですが、キーボードフォーカスを受け取ります。visibility: hidden の使用を検討してください2.4.7中程度Lente Detect33.3%31
特定のARIAロールは特定の親に含まれていなければなりません1.3.1重大axe-core33.3%14
見出しのテキストが空です(支援技術に伝わる見出し名がありません)2.4.6深刻Lente Detect33.3%4
入力ボタンには認識可能なテキストが存在しなければなりません4.1.2重大axe-core33.3%4
フォーム要素にはラベルがなければなりません4.1.2重大axe-core33.3%4
フレームにはアクセシブルな名前がなければなりません4.1.2深刻axe-core33.3%3
見出しレベルが h1 から h3 にスキップしています1.3.1軽微Lente Detect33.3%3
ズーム機能やテキストのサイズ変更は無効にしてはなりません1.4.4中程度axe-core33.3%3
要素には禁止されているARIA属性を使用してはなりません4.1.2深刻axe-core22.2%7
必須のARIA属性が提供されていなければなりません4.1.2重大axe-core22.2%5
select要素にはアクセシブルな名前がなければなりません4.1.2重大axe-core22.2%2
aria-controls の参照先が tabpanel ではなく group です4.1.2軽微Lente Detect11.1%5
同じロール「region」のランドマークに同じ名前「carousel」が複数あります1.3.1軽微Lente Detect11.1%4
ARIA属性は有効な名前に一致しなければなりません4.1.2重大axe-core11.1%3
この見出しは button の中にあるため、見出しとしてのセマンティクスが失われています1.3.1中程度Lente Detect11.1%2
<dl>要素は、適切な順序で並べられた<dt>および<dd>のグループ、<script>要素、<template>要素またはdiv要素のみを直接含んでいなければなりません1.3.1深刻axe-core11.1%1
行ヘッダーと列ヘッダーの両方がありますが、<th> に scope 属性がありません1.3.1軽微Lente Detect11.1%1

出典の「axe-core」は Deque Systems のオープンソースエンジン、「Lente Detect」はリベロジックの独自エンジンによる検出です。総箇所は全自治体での検出箇所の合計です。

検出エンジン別自動診断で見える範囲は、エンジン構成で変わる

本調査は 2 つの診断エンジンを併用しました。国際的に広く使われているオープンソースの axe-core と、リベロジックが開発した独自エンジン Lente Detect です。両者は同じ問題を二重に数えないよう検出範囲を整理してあるため、下の内訳に重複はありません。

エンジン別の確定違反(n=90)
エンジン検出項目の種類検出された自治体総検出箇所
axe-core 4.11.42269(76.7%)906
Lente Detect 1.6.51785(94.4%)1,406
合計3987(96.7%)2,312

axe-core で確定違反が検出されなかった自治体は 21 ありましたが、そのうち 18 自治体では Lente Detect が問題を検出しています。検出箇所で見ると、全体の 60.8% が Lente Detect による検出でした。

Lente Detect だけが検出した達成基準

本調査の条件では、次の 5 つの達成基準は Lente Detect だけが検出しました。いずれかで問題が検出された自治体は 45 自治体(50.0%)です。ターゲットのサイズ・フォーカスの可視化・リフローなど、要素の見え方や操作性にかかわる達成基準が中心です。

Lente Detect だけが検出した達成基準(問題が検出された自治体数)
達成基準名称レベル自治体数割合
2.5.8ターゲットのサイズ (最低限) WCAG 2.2AA2224.4%
2.4.7フォーカスの可視化AA1617.8%
1.4.10リフロー WCAG 2.1AA910.0%
2.4.3フォーカス順序A33.3%
2.4.6見出し及びラベルAA33.3%

axe-core は WCAG の達成基準に直接ひも付かない推奨事項(ベストプラクティス)を無効にして実行しています。判定の基準を辞書に揃えるための設定で、有効にすれば検出数は変わります。また 2 つのエンジンは担当する範囲を分けて動かしているため、この内訳はエンジンの優劣を比べたものではありません。

要手動確認の内訳機械が判断を保留した達成基準

人の確認が必要と判定された箇所が 1 つ以上あった自治体の数です。問題の有無ではなく、自動診断だけでは適合を判断できない範囲がどれだけあるかを示します。

方法に関する注記診断条件と、再現のための情報

診断条件

再現のための情報

実施日
2026年9月11日
axe-core
4.11.4
Lente Detect
1.6.5
辞書
1.0.2
基準
WCAG 2.2 レベル AA
画面幅
PC 1280px / SP 320px

公表の方針

付録 A調査対象一覧

対象 90 自治体の公式サイトトップページ。並び順は対象リストの順(結果とは無関係)です。

都道府県(47)

政令指定都市(20)

東京 23 区(23)