以前のバージョンの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
HTML5仕様を引用して、Pekkaで少し拡張します:
http://www.w3.org/TR/html5/forms.html#autofocusing-a-form-control:-the-autofocus-attribute :
Autofocus属性はブール属性です。
http://www.w3.org/TR/html5/infrastructure.html#boolean-attributes :
要素のブール属性の存在は真の値を表し、属性の不在は偽の値を表します。
属性が存在する場合、その値は、空の文字列、または属性の正規名と大文字と小文字を区別しないASCIIで、先頭または末尾に空白を含まない)の値である必要があります。
結論:
以下は、有効、同等、およびtrueです。
<input type="text" autofocus />
<input type="text" autofocus="" />
<input type="text" autofocus="autofocus" />
<input type="text" autofocus="AuToFoCuS" />
以下はinvalidです。
<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>
を短くしてください。