id属性は、HTML文書中の文書中の特定の一要素へ与えた固有名です。
一つの文書中に一箇所のみ存在するとした要素(文書のヘッダ部分やフッタ部分, ナヴィゲーションなど)に対してid属性で固有名を与える事で、その要素の文書中での位置附けが明確になります。
加えて、id属性で固有名を与える事で、以下のような使い方も出来ます。
id属性はHTML 4.01以降で利用出来ます。
id属性はネットスケープ 4.x以前の旧型のユーザエージェントでは機能が限られたり一切機能しません。
携帯電話ではWAP 2.0準拠のブラウザを実装しているものであればid属性は実装されている筈です。
iモードのブラウザ 1.0端末及びボーダフォン在来機では機能しません。
id属性は、以下の要素以外で利用出来ます。
id属性のとれる値はマークアップ言語によって異なります。
HTML 4.01及びISO-HTMLの場合、id属性の値は以下の条件となります。
_, -, :, 及び . のみからなる文字列在来HTMLに於いては、id属性の値は常に小文字を大文字に変換して評価します。従って、大文字小文字の違いしかないid属性値(id, Id及びIDなど)を同じ文書で複数使ってはいけません。
尚、ISO-HTMLではid属性の値に用いる英字には大文字を使うべきとされております(ISO/IEO 15445:2000のDTDに依る)。
XHTMLでは、id属性の値はXML仕様書に従うと以下の条件となります。
_ または指定された非アスキィ文字で始まり、_, -, .及び指定された非アスキィ文字のみからなり、に限られます。
在来HTML(HTML 4.01及びISO-HTML)との違いは以下の通りです。
: は、XML仕様書にも名前に使える文字として含まれておりますが、実際には名前空間の区切り記号として使われるため、id属性の値としては_ で始める事も出来ます。但し、先頭が「xml」(大文字小文字を問わず)で始まる文字列はXMLでは予約されているため、使う事が出来ません。XMLの仕様書の付属書Bに依ると、半角英数字などの他にも以下の文字が利用出来ます。
漢字
〇( 0の漢字表現) 及び 仝 を含む。長音記号 ー 及び反復音符 々, ヽ, ヾ, ゝ, ゞ, 句読点, 括弧・カギ括弧類, ・, 〆など
これらの文字は、id属性値の先頭に用いる事も出来ます。
逆に、以下の文字(ユニコードが0xF900より大きく0xFFFEより小さい文字)は利用出来ません。
この他、以下のものも使えません。
_, -, . を除く半角アスキィ記号, 句読点, 括弧・カギ括弧類, ・, 〆など)特に ・ や 〆 は不用意に使う恐れがありそうで、注意した方が良いかも知れません。
XHTML文書を在来HTML互換文書として(MIMEタイプをtext/htmlとして扱う場合)、当該文書におけるid属性の値は在来HTMLの規則に合わせるべきでしょう。
その場合、HTML 4.01及びISO-HTMLの場合に準じますが、半角コロン「:」はXHTMLの制約に依り使えなくなります。