GTM-MML4VXJ
Skip to main content

7.4.1.1 構文解析に関する達成基準

マークアップ言語を用いて実装されているコンテンツにおいては、仕様で認められているものを除いて、要素には完全な開始タグ及び終了タグがあり、要素は仕様に準じて入れ子になっており、要素には重複した属性がなく、かつ、どのID も一意的でなければならない。

引用元:JIS X 8341-3:2010「高齢者・障害者等配慮設計指針-情報通信における機器、ソフトウェア及びサービス-第3部:ウェブコンテンツ」

解説

HTMLのウェブページでは、ユーザーエージェント(ブラウザや支援技術など)がソースコードの構文を正確に解析できるように、仕様で認められている場合を除いて、HTMLのソースコードが次の4点を満たしていなければなりません。

  • 要素には完全な開始タグ及び終了タグがある
  • 要素は仕様に準じて入れ子になっている
  • 要素には重複した属性がない
  • どのIDも一意的である

HTMLのソースコードが文書型宣言で指定されたHTMLのバージョンに対して妥当(Valid)ではなくても、これら4つに関する問題がない限り、本達成基準を満たすことができます。しかし、バリデータを用いてHTMLのソースコードを検証した際に、この4つのいずれかに該当する構文エラーが見つかった場合には修正する必要があります。どれもユーザーエージェントがソースコードを正確に解析できなくなる可能性があるためです。これらに関係のない構文エラーについては、アクセシビリティの確保には関係がないとされています。

HTMLのソースコードを検証できるバリデータについては、『WCAG 2.0 実装方法集』の「G134: ウェブページをバリデートする」などを参照してください。

事例と実装

良い例 1:妥当(Valid)ではないが、4点を満たしたソースコード

HTMLのソースコードをバリデータを用いて検証した結果、いくつかの構文エラーを指摘されても、その中に4つのポイントに関するエラーがなければ、そのソースコードは本達成基準を満たしている。

良い例 2:妥当(Valid)なソースコード

HTMLのソースコードをバリデータを用いて検証した結果、構文エラーがなく、妥当(Valid)なソースコードであれば本達成基準を満たしている。ただし、本達成基準は、HTMLのソースコードが妥当(Valid)であることまでは求めていない。

悪い例 1:終了タグがない

div要素の終了タグがない。仕様で認められている場合を除いて、要素には完全な開始タグと終了タグがなければならない。例えば、W3Cのバリデータでは「LC」のエラーメッセージが出ます。

ソースコード例

< body >
< div class="wrapper" >
・・・
< div class="container" >
・・・
< /div >
< /body >

悪い例 2:重複している属性

input要素内でid属性が重複している。同一の要素内で同じ属性を重複させてはならない。例えば、W3Cのバリデータでは「Line 10, Column 35: duplicate specification of attribute "id"」のエラーメッセージが出ます。

ソースコード例

< input type="text" id="firstname" name="name" id="name" / >

悪い例 3:一意的ではないID(id属性値)

同じid属性値が同じHTMLファイルの中で繰り返し使用されている。id属性値は一意的(ユニーク)でなければならない。例えば、W3Cのバリデータでは「Line 10, Column 45: ID "name" already defined」のエラーメッセージが出ます。

ソースコード例

< label for="name" >姓:< /label >
< input type="text" name="name" id="name" / >
< label for="name" >名:< /label >
< input type="text" name="name" id="name" / >

参考情報

関連する達成基準

等級A