dポイントプレゼントキャンペーン実施中!

HTML5では文中の半角不等号はちゃんと特殊文字として書くべき?


手打ちでHTML5でホームページを作ろうと思っているのですが、各ページの上部に
トップ > 日記 > 2010年
のような感じで、半角大なりを使っていました。
これはW3Cのバリデーションに合格できたのですが、プログラミングのページを作り、preで括ってそのままソースコードを書いたところ、半角小なりでエラーを吐かれました。

エラーが出た以上は半角小なりは使うべきではないのでしょうが、やはり大なりも使うべきではないでしょうか?
一応、特殊文字ではなくそのまま入力したほうが、見やすいという利点はあるんですが・・・

また、他にも「これは特殊文字で記述すべき」という記号はありますか?

A 回答 (3件)

& を文字として表示させたい場合は、& と書く必要があります。



ブラウザは & にアルファベットが続いたときにそれを実体参照だと認識します。
例えば、&lthtml とすると、&lthtml の実体参照を探し、存在しないのでそのまま表示します。(IE8-は「<html」と認識するようです)
全ての実体参照を認識していれば、使い分けられるのでしょうが、今後増えていかないとも限らない実体参照を覚えて使い分けるのは徒労だと思います。

<a href="./search?foo=a&lt;"></a>
ブラウザはhref属性値に "./search?foo=a<" があると認識します。
<a href="./search?foo=a&amp;lt;"></a>
こちらは、"./search?foo=a&lt;" と認識します。
属性値内でも実体参照は有効なので、& は出来るだけエスケープした方が良いでしょう。

<test> を文字列として表示する場合は、&lt;test&gt; と記述します。
こちらは比較的分かりやすいルールですが、ブラウザがメタキャラクタとして認識する文字は、やはりエスケープすべきだと思います。

<span title="&quot;test&quot;">test</span>
ダブルクオートで括られた属性値でダブルクオートを代入したい場合も、実体参照を使います。
シングルクオートも同じです。
テキストノード上では、クオートをエスケープしなくても問題はないような気もしますが、統一性を考えるとエスケープした方が良いかもしれません。

HTML Document Representation (ja)
http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401 …
8 The HTML syntax ? HTML5
http://www.w3.org/TR/2010/WD-html5-20100624/synt …

> また、他にも「これは特殊文字で記述すべき」という記号はありますか?
空白文字やCopyrightなどのUnicode文字でしょうか。

&#x0009; (タブ文字)
  &#xA0; (no-break space)
&#x200B; (zero-width space)
© (Copyright)

余談。
XHTML5になると実体参照文字はXML1.0規定のものに限定され、ほとんど数値参照で指定することになります。
http://www.y-adagio.com/public/standards/jis_xml …
    • good
    • 0
この回答へのお礼

No.3も読みましたが、こちらでまとめさせていただきます。

属性値までは考えていませんでした(笑)
2つ目の方にも答えていただきありがとうございます。

お礼日時:2010/07/06 23:00

#2です。



HTML予約文字のエスケープチェックは HTML-lint が行ってくれます。
HTML-lint はHTML5未対応ですが、エスケープチェッカーとしてなら十分使えると思います。

Another HTML-lint gateway
http://openlab.ring.gr.jp/k16/htmllint/htmllint. …
    • good
    • 0

HTML5というより、


HTML4でもXHTMLでも普通、
 半角(<) ----> $lt;
 半角(>) ----> &gt;
でしょ。
他にも
 半角(&) ----> &amp;
 半角(”) ----> &quto;
 半角(’) ----> &apos;
( 半角(スペース) ----> &blank; ) 
とか実体参照文字といいます。
    • good
    • 0
この回答へのお礼

ありがとうございます。
「特殊文字で~」っておかしいですね・・・
おっしゃるとおり実体参照のことです。

アンパサンドなどについてもそのような表記があるのは知っていますが、
そのような文字は普通、そのまま書いても問題になりませんよね。
(半角スペースは並べられなかったりしますが)
半角不等号以外に実体参照で表現すべき文字はありますでしょうか。

お礼日時:2010/07/06 15:37

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!