要約

すべての識別子が一意であることを確認することで、コンテンツのナビゲーションやアクセスに関する問題を防ぐことができます。

テクニック

例 1 — 一意性のためにUUIDを使用する

UUID は一意である可能性が非常に高いため、 id属性で使用されます。(X)HTML5 では、UUID は文字または数字で始めることができますが、XML 形式では文字で始まる必要があります。

<section id="fad1bb2a-ecdc-4cb5-886f-aedbd7cb2adb">
例2 — ニーモニック(簡略記憶記号)の使用

ニーモニックは、コンテンツを識別するのに役立つ命名規則です。この例の場合、 c01は「Chapter 1」に使用されます。ニーモニックは、コンテンツが移動またはリミックスされるたびに更新する必要があるため、多くの場合、適切な選択ではありません。

<section id="c01">
   <h2>Chapter 1</h2>

解説

ドキュメント内のすべてのid属性が一意でない場合、ユーザー エージェントはどの属性が参照されているかを理解できません。たとえば、ユーザーが特定のセクションに移動しようとしている場合、ユーザー エージェントはどのセクションに移動すべきかを判断できません。識別子を持つ最初のセクションにユーザーを移動させるか、ドキュメントの先頭でユーザーを放置するかのどちらかになります。

(X)HTML5 の識別子の唯一の要件は、一意であること以外に、スペースを含まないことです。

識別子がドキュメント全体で一意であることは必須ではありませんが、すべての識別子の一意性を確保することをお勧めします。

EPUB

(X)HTML5 では任意の文字列を識別子として使用できますが、XML および XHTML 1.1 のルールはより厳格です(たとえば、識別子は数字で始めることやコロンを含めることはできません)。たとえば、EPUB 2 出版物などで無効な識別子を使用すると、XML エラーが発生し、コンテンツではなくエラーが表示される可能性があります。

関連リンク