XHTML 1.1文書にmeta要素でtext/htmlを書くことについて

津田ふみかさんの日記XHTML1.1の MIME タイプ指定に、Re: XHTML1.1のMIMEタイプ(2)への言及がありました。

が、meta 要素の指定しか理解しない旧式のソフトもあるため meta 要素も記述するということが慣例となっています。私もそのような感覚で XHTML1.1 文書に meta 要素を記述していました。しかし「Re: XHTML1.1のMIMEタイプ(2)」を読んで、記述すべきでないという意見を知り、考えた結果削除することにしました。

あいやしばらく。Re: XHTML1.1のMIMEタイプ(2)で反対していたのは、application/xhtml+xmlmeta要素で設定することであって、text/htmlについては別に反対していないつもりなのですが。その前に書いたRe: XHTML1.1のMIMEタイプでも

そんな嘘を書くくらいだったら、application/xhtml+xmlにこだわらずに、meta要素でもtext/htmlと書く方がまだましではないでしょうか。

と書いているわけで。あれ、今読み返すと「まだまし」という言い方はちょっとひどいような(「書くほうがよいのでは」と訂正しておこう)。

実際のところ、Content-type: text/htmlで文書を提供するということは、従来のHTML向けのブラウザ(或いはUA)に対しての文書を提供する、ということになるかと思います。なので、引用した文でも述べられている通り、文字コードの判別においてmeta要素でしか判別できない古いブラウザのためにmeta要素で"text/html; charset=..."と書くことは意義のあることだと思います。

仕様としては「HTTPのレスポンスヘッダでcharsetを指定すれば十分であり、meta要素で指定する必要はない」とは言えますが。

(2004年2月7日)

北村曉 kits@akatsukinishisu.net