記事個別表示 (4238)
これは「水無月ばけらのえび日記 : 最新のHTMLって何?」に関連するコメントです。
[4238] Re: ご指摘、感謝します
ばけら (2007年5月18日 2時53分)
ご丁寧にありがとうございます。
せっかくですので、修正後の内容について何点か補足しておきます。
>DOCTYPE宣言とは、そのHTMLがどのバージョンのHTMLで記述されているのかを示す記述で、HTMLの最初(1行目)に記述しなければならないものです。例えば、以下のように記述します。
文書型宣言は 1行目に記述しなければならないということはありません。文書型宣言より前に空白、改行、コメント、処理命令などを書くことができます。もっとも、ブラウザによっては、先にコメントなどがあるとうまく読めないという悲しい実装になっていることもあるようですが……。
>文字化けを防ぐためにも、どの文字コードを用いて記述されているのかを明示しておく方が望ましいのですが、文字コードは、head要素内にmeta要素を使って記述します。先頭ではありません。
文字符号化方式の指定は、HTTP 応答ヘッダの Content-Type フィールドの中で行います。
HTML4.01 5.2.2 Specifying the character encoding では head要素に meta を記述して文字符号化方式を指定する方法についても言及されていますが、その記述は以下のようなものです。
To address server or configuration limitations, HTML documents may include explicit information about the document's character encoding; the META element can be used to provide user agents with this information.
「サーバの設定に限界がある場合には meta要素で指定しても良い」というニュアンスです。meta で指定することは推奨されていません。
ちなみに、XHTML については XHTML media types (http://www.w3.org/TR/xhtml-media-types/) でもっと明確に議論されています。
>解答: [選択肢3] 装飾はスタイルシートで記述すべきだから
(snip)
>[選択肢1] ブラウザによっては対応していないから
>ブラウザによっては対応していない可能性もありますが、それが理由ではありません。
これは s要素でなければ問題ないのですが、s要素を取り上げてしまうとやっかいです。s要素には、別の観点から使わない方が良いとする議論があるからです。
s要素は、内容の取り消しや削除などを表現するために使用される傾向にありますが、装飾がなくなると、意図と全く異なる受け取られ方をしてしまうおそれがあります。たとえば、200円のものを180円に値下げしたときに
<s>200</s>180円
とすると、打ち消し線が表示される環境では意図が通じるのですが、打ち消し線を表現できない環境では
200180円
と読めてしまうおそれがあります。ですから、何かが取り消されたという情報を打ち消し線だけで表現するのは危険です。
この問題は、s要素を del要素に置き換えたり span style="text-decoration: line-through" に置き換えても回避できませんから、「s要素は使わずにスタイルシートで記述する」では解決になりません。「ブラウザによっては対応していない」ことの方が問題だと考えられます。
……もっとも、HTML4.01 の仕様書はそこまで言っていないので、「仕様が非推奨としている理由は?」という問いであれば、まあ間違いではないのかもしれません。
これは「水無月ばけらのえび日記 : 最新のHTMLって何?」に関連するコメントです。
全読: [4227]Re: 「最新のHTMLって何?」からのスレッド(12件)]