ID属性値は一意である必要があります
修正方法
重複した ID 属性値の名前を変更します。
重複している ID は、ラベル (例: フォーム欄、表のヘッダーセル) のアクセシビリティを損なう可能性のある、よくある構文エラーです。
この問題を修正するには、ID の値を複数回使用している場合、確実に一意になるよう変更します。一意の ID
は各要素を他のものと区別し、有効ではないマークアップを防ぎます。そして、一つ目のインスタンスのみがクライアントサイドスクリプティングに処理される、あるいは支援技術は通常一つ目のみを正確に参照します。
適切なマークアップは最低でも一つのアクセシビリティの問題の原因を取り除きます。WCAG 1.0 では明確に仕様にそったマークアップを求める基準が存在していました。WCAG 2.0 では有効なマークアップをもう求めていません。ここでこの件について触れているのは、仕様にそったマークアップがアクセシビリティを確保するための近道であるためです。仕様にそっていないマークアップをする方法は何百通りもあります。これらの方法のほとんどは、例えば、エンコードされていないアンパサンドなど、アクセシビリティにとって通常重要ではありません。ただし、その他は重要で、後続の要素属性 ID のインスタンスが無視されるといった、支援技術がどのようにページと関わるかといったことや、エンドユーザーに向けてどのようにページをレンダリングするかといったことに関連した問題を起こす可能性があります。
マークアップコードを http://validator.w3.org にある W3C validator に送信し、素早く再利用された ID 属性値を特定するために HTML マークアップの妥当性を確認します。
なぜ重要なのか
ID 属性はページ内の要素を一意に識別します。ID を繰り返しても意味をなしません。
重複している ID は、二つ目のインスタンスをスクリーン・リーダーやクライアントサイドスクリプトがスキップすることにより、フォームや表のヘッダーセルなどのラベルのアクセシビリティを損なう可能性があります。アクセシビリティを損なっていない場合、これらはアクセシビリティの問題となりうる原因を取り除くことができる、一般的なマークアップの構文エラーです。
クライアントサイドスクリプティングの経験がある人は、ID を再利用すると、スクリプトによって唯一処理されるのは、通常その ID を用いる一つ目のインスタンスであることを知っています。同じように、支援技術が ID を参照するとき、最初のものだけが正確に参照される可能性があります。
ルールの説明
ID 属性に指定された値は、二つ目のインスタンスを支援技術が見逃さないよう、一意でなければなりません。別の言い方をすると、ID 属性は同じドキュメントの中で各要素を他の要素と区別するため、1回より多く使用できません。
仕組みについて (簡単に言うと)
id 属性を持つページ内の各要素が一意の id
属性値を持つことを確認します。