SITEMAP [初めてのホームページ講座] [逆引きHTML] [0.ワンポイント] [12.属性値には""を付けるべきか?]

HTMLの参考書 スタイルシートの参考書

逆引きHTMLリファレンス

0. ワンポイント

0-12. 属性値には""を付けるべきか?

世間の著書でたまに見かける内容です。またある著書では、必ず属性値には""(ダブルコーテーション)を付けなければならないとまでさせれている、 属性値の扱いは本当はどうなっているのでしょう。

属性値とは、HTML文法上の属性の値を意味するものです。 HTML文法では、一般にタグと呼ばれているものを「要素」、その要素内で詳細な情報を定義するものを「属性」と言います。 この属性は一般的に「属性値」を1つ乃至複数持ちます。 その属性値は、文字や数値などを持つことができ、これらの指定する文字や数値に""を付けるべきとされている場合が多くあります。

さて、真相は本家W3Cに頼るのが一番です。

ここからW3Cからの引用です。(英文) http://www.w3.org/TR/REC-html40/intro/sgmltut.html#h-3.2.2

By default, SGML requires that all attribute values be delimited using either double quotation marks (ASCII decimal 34) or single quotation marks (ASCII decimal 39). Single quote marks can be included within the attribute value when the value is delimited by double quote marks, and vice versa. Authors may also use numeric character references to represent double quotes (") and single quotes ('). For double quotes authors can also use the character entity reference ".

要約すると、SGMLでは全ての属性値はダブルコーテーションかシングルコーテーションで囲まなければならない。 シングルはダブルで囲むことができ、シングルでもダブルでも使用して良い、となっています。 続いて、

In certain cases, authors may specify the value of an attribute without any quotation marks. The attribute value may only contain letters (a-z and A-Z), digits (0-9), hyphens (ASCII decimal 45), and periods (ASCII decimal 46). We recommend using quotation marks even when it is possible to eliminate them.

ただし、半角の「a-z」「A-Z」「0-9」「-」「.」だけで構成した場合は、省略可能である、とされています。 また、

Attribute values are generally case-insensitive. The definition of each attribute in the reference manual indicates whether its value is case-insensitive.

大文字、小文字についてはどちらでも良い、となっています。

ここから判断すると、数値のみの属性値の場合は「""」を付ける必要がなく、一般的にカラーコードやURLの場合のみ必ず必要になるようです。 また、ダブルに拘る必要もなく、シングル「''」でも良いようです。

普段は「半角英数字のみで構成する場合以外は必ず付ける」と覚えておいて、それを確実に実践しましょう。 それに自信が無い場合は、必ず付けるようにしておけば間違いがなくなることでしょう。

ちなみに私は、数字以外は必ず付けるように心掛けています。

[Go To Top]

Copyright(C)1998 T.Miyazaki , All Rights Reserved.