autofocus =“ autofocus”またはautofocusですか?


87

以前のバージョンのHTML(HTML5より前)のほとんど(おそらくすべて)の属性は、のような値を持つ必要があったことを思い出しているようreadonly="readonly"です。

これはHTML5とautofocus属性に当てはまりますか?



それらは似ていますが、異なる属性について質問しているため、わずかに異なることに同意します。
ダリル・ハイン

1
オートフォーカスは機能します。FF、オペラとChrome ..でそれをテスト
Sohailアリフ

回答:


94

HTMLでは、必要に応じて値の有無にかかわらずブール属性を使用します。オートフォーカスのようなW3Cのブール値は、そのように書くこともautofocusautofocus="autofocus"またはautofocus=""

オートフォーカスが必要ない場合は、書かないでください。

XHTMLはすべての属性に値を必要とするため、混乱していると思いますattributes="values"

HTMLでのブール属性の使用に関する情報は次のとおりです。http//www.whatwg.org/specs/web-apps/current-work/multipage/common-microsyntaxes.html#boolean-attribute


19
XHTMLに言及するための+1。XHTMLのXML準拠は、これまでにがあった唯一の理由disabled="disabled"です。タグを閉じる場合も同じことが言えます。HTMLでは、すべてのタグ(brやinputなど)を閉じる必要はありませんが、XHTMLは有効なXMLである必要があるため、タグも閉じる必要があります。
ティムビューテ2014年

4
「XHTMLがこれまでに存在した唯一の理由disabled="disabled"です」。そして、SGMLが唯一の理由であり、XHTMLがsilly="silly"単なるwhatever="true"ではなくbool構文を持っている理由であり、HTMLがthis="false"これがtrueを意味する唯一の理由です。:)
Szを。

52

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>場合は、短いので使用してください。


1
「気になるなら... XHTML」。 いいえ。 死なせて。
DemPilafian19年

22

いいえ、属性自体を指定するだけで十分です。HTML4でもそうだった。

多くの属性はブール属性です。要素にブール属性が存在することは真の値を表し、属性が存在しないことは偽の値を表します。

属性が存在する場合、その値は空の文字列であるか、属性の正規名とASCIIの大文字と小文字を区別しない一致であり、先頭または末尾に空白がない値である必要があります。

例:

<label><input type=checkbox checked name=cheese disabled> Cheese</label>

10
ティムに受け入れられた答えを与えました...彼はあなたよりも担当者を必要としています:)
ダリルハイン2010
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.