目次
フォームラベル不足
label-missingフォーム要素(input、select、textareaなど)にラベルが関連付けられていない問題です。placeholder属性だけではアクセシブルな名前として不十分です。
影響: スクリーンリーダーがフォーム要素の目的を伝えられず、視覚障害のあるユーザーがフォームを正しく操作できません。
問題のあるコード
HTML
<input type="text" placeholder="名前">
修正後のコード
HTML
<label for="name">名前</label>
<input type="text" id="name">
iframe title不足
iframe-titleiframe要素にtitle属性がない問題です。title属性がないと、埋め込みコンテンツの内容が何であるか判断できません。
影響: スクリーンリーダーユーザーがiframeの内容を把握できず、ページ内のナビゲーションが困難になります。
問題のあるコード
HTML
<iframe src="https://example.com/map"></iframe>
修正後のコード
HTML
<iframe src="https://example.com/map" title="所在地の地図"></iframe>
nested-interactive
nested-interactiveインタラクティブ要素(ボタン、リンクなど)が入れ子になっている問題です。HTML仕様では、インタラクティブ要素の中に別のインタラクティブ要素を配置することは禁止されています。
影響: 支援技術が正しく操作対象を認識できず、ユーザーが意図しない動作を引き起こす可能性があります。
問題のあるコード
HTML
<a href="/page">
<button>詳しく見る</button>
</a>
修正後のコード
HTML
<a href="/page" class="btn">詳しく見る</a>
landmark構造不足
landmark-regionページのコンテンツがlandmarkリージョン(header、nav、main、footerなど)に含まれていない問題です。セマンティックなHTML要素を使用せず、divのみで構成されているケースが該当します。
影響: スクリーンリーダーユーザーがページ構造を把握しにくく、目的のコンテンツへの移動が困難になります。
問題のあるコード
HTML
<div class="header">ヘッダー</div>
<div class="content">メインコンテンツ</div>
<div class="footer">フッター</div>
修正後のコード
HTML
<header>ヘッダー</header>
<main>メインコンテンツ</main>
<footer>フッター</footer>