[1] 【XHTML】 XHTML を旧来の HTML UA でおそらくは扱える形で記述するための指針。 XHTML 1.0: The Extensible HyperText Markup Language C. HTML Compatibility Guidelines <http://www.w3.org/TR/xhtml1/#guidelines>
[2] [処理指令及び XML 宣言] 古い UA の中には、 処理指令をそのまま表示するものや、 XML宣言があるとその文書を HTML/XHTML ではない XML 文書として取り扱うものもあります。
ですから、処理指令や XML 宣言を使わないといいかもしれません。 (C.1)
[3] >>2 の場合、既定の符号化, すなわち
UTF-8
, UTF-16
になると附属書 C には書いてありますが、 HTTP
や MIME のような上位プロトコルから charset
情報が提供される場合はそうである必要もありません。
[4] [空要素] 空要素のタグは、 <br/> や <br></br> のような形ではなく、 <br /> と書くべきです。 (C.2)
[5] [要素最小化と空要素モデル] 強制空要素以外の空要素は最小化 (<p />) するべきではありません。 (C.3)
[6] [埋め込みスタイル・シート及びスクリプト]
&
, <
, ] ] >
,
--
が含まれるスタイル・シート, スクリプトは埋め込みではなく外部リンクにするべきです。
(C.4)
[7] [属性値中の改行] 属性値中の改行や複数の空白の連続は避けるべきです。 (C.5)
[8] [Isindex] head
要素中の
isindex
要素は複数個あるべきではありません。
(C.6)
[9] [ lang
及び xml:lang
両属性]
言語情報の指定には lang
属性と xml:lang
属性を両方指定するべきです。 (C.7)
[10] [素片識別子] id
属性を使うときはそれと対応させた
a
要素の name
属性を使用するべきです。 (C.8)
[11] [文字符号化] HTTP のような上位プロトコルや
meta
要素を使って文字符号化の情報を与えるべきです。
(C.9)
[12] [真偽型属性] 真偽型属性が最小化されていない形だとうまく扱えない古い UA があるので注意が必要です。 (C.10)
[13] [文書物体モデルと XHTML] DOM1 HTML を実装した UA では、
text/html
の XHTML 文書では、
HTML4 同様に要素型名などは大文字に正規化されます。
(附属書 C には明記されていませんが、意図としては多分) HTML 4 で開始タグが省略可能な要素 (tbody
とか。) は補われます。(C.11)
[14] [属性値中のアンド記号 (など)]
URI でよく使われるアンド記号は &
と書かなければなりません。
(C.12)
[15] [段階スタイル・シートと XHTML] CSS2 を使うときに、
tbody
など)
を選択子で使うときには文書実現値中でも明示します。#
(識別子) 選択子が使えます。.
(級) 選択子が使えます。text/html
の XHTML 文書には HTML 向けの、
XML 系の媒体型の XHTML 文書には XML 向けの適合性規則が適用されます。(C.13)
[16] [XML として供給する時に style
要素を参照する]
XML な媒体型の XHTML 文書では、
<?xml-stylesheet href="#css" type="text/css"?> ... <style type="text/css" id="css"> ... </style>
とするべきです。 (C.14)
[17] [空白文字] 幾つかの文字は XML では不正です。
例えば FORM FEED
とか。 (C.15)
[18] [名前文字参照 '
]
名前文字参照 '
は使うべきではありません。
(C.16)
text/html
として供給する X(HT)ML 文書は、可能な限りこの指針に従うのが望ましいでしょう。[22] 現状について。
>>2 (処理指令), >>10 (素片識別子),
>>11 (charset
),
>>12 (真偽値属性), >>14 (属性値で逃避):
本来、対応することが XHTML 1.0 だけでなく HTML 4
においても利用者エージェントの適合の条件であり、
状況は改善されているので、重要な条件ではない。
(XHTML の普通の方法で良い [>>2, >>10, >>12],
HTML でも XHTML でも同じ方法で良い [>>11, >>14])
>>4 (強制空要素のタグ): 完全な終了タグは、 互換性のために異なる解釈をする利用者エージェントが残っているので、 現在でも指針に従うべきである。 斜線の前の空白については、状況は改善されているので、 現在では文書がこの条件を満たす必要性はそれほど高くはない。
>>5 (非強制空要素の NET可能開始タグ +
null終了タグ):
従来の HTML 利用者エージェントは単に
nestc
を無視する
(か、もしかすると属性指定とみなす) ので、
現在でも (そしておそらく将来も)
指針に従うべきである。
>>6 (CDATA
要素内容):
CDATA
区間と埋め込まれた言語の注釈構文の組合せで問題を回避できないこともないが、
指針に従う方が楽であることは変わりない。
>>7 (属性値指定の空白),
>>17 (FORM FEED
),
>>18 ('
):
指針に従うのが良いが、問題になることはそれ程多くない。
>>8 (isindex
):
元から実害はないし、 isindex
は既に使われていない。
>>13 (DOM), >>15 (CSS): 著者は注意しましょう。
>>16 (xml-stylesheet
):
しかし実際にはほとんど使われていない。
(名無しさん 2005-10-18 09:16:22 +00:00)
[23] Appendix C and XHTML 1.1 (Shane McCarron 著, 版) <http://lists.w3.org/Archives/Public/public-xhtml2/2008Mar/0022.html> (名無しさん)