以前のバージョンのHTML(HTML5より前)のほとんど(おそらくすべて)の属性は、のような値を持つ必要があったことを思い出しているようreadonly="readonly"
です。
これはHTML5とautofocus
属性に当てはまりますか?
回答:
HTMLでは、必要に応じて値の有無にかかわらずブール属性を使用します。オートフォーカスのようなW3Cのブール値は、そのように書くこともautofocus
、autofocus="autofocus"
またはautofocus=""
。
オートフォーカスが必要ない場合は、書かないでください。
XHTMLはすべての属性に値を必要とするため、混乱していると思いますattributes="values"
。
HTMLでのブール属性の使用に関する情報は次のとおりです。http: //www.whatwg.org/specs/web-apps/current-work/multipage/common-microsyntaxes.html#boolean-attribute
disabled="disabled"
です。タグを閉じる場合も同じことが言えます。HTMLでは、すべてのタグ(brやinputなど)を閉じる必要はありませんが、XHTMLは有効なXMLである必要があるため、タグも閉じる必要があります。
disabled="disabled"
です」。そして、SGMLが唯一の理由であり、XHTMLがsilly="silly"
単なるwhatever="true"
ではなくbool構文を持っている理由であり、HTMLがthis="false"
これがtrueを意味する唯一の理由です。:)
HTML5仕様を引用し、Pekkaを少し拡張します。
http://www.w3.org/TR/html5/forms.html#autofocusing-a-form-control:-the-autofocus-attribute:
オートフォーカス属性はブール属性です。
http://www.w3.org/TR/html5/infrastructure.html#boolean-attributes:
要素にブール属性が存在することは真の値を表し、属性が存在しないことは偽の値を表します。
属性が存在する場合、その値は空の文字列であるか、属性の正規名とASCIIの大文字と小文字を区別しない一致であり、先頭または末尾に空白がない値である必要があります。
結論:
以下は、有効で、同等で、真です。
<input type="text" autofocus />
<input type="text" autofocus="" />
<input type="text" autofocus="autofocus" />
<input type="text" autofocus="AuToFoCuS" />
以下は無効です:
<input type="text" autofocus="0" />
<input type="text" autofocus="1" />
<input type="text" autofocus="false" />
<input type="text" autofocus="true" />
falseの唯一の有効な構文は、属性がないことです。
<input type="text"/>
勧告
有効なXHTMLの記述に関心がある場合autofocus="autofocus"
は、を使用してください。これ<input autofocus>
は無効であり、他の選択肢は読みにくいためです。それ以外の<input autofocus>
場合は、短いので使用してください。