Citant la spécification HTML5 et développant un peu Pekka:
http://www.w3.org/TR/html5/forms.html#autofocusing-a-form-control:-the-autofocus-attribute :
L'attribut autofocus est un attribut booléen.
http://www.w3.org/TR/html5/infrastructure.html#boolean-attributes :
La présence d'un attribut booléen sur un élément représente la valeur vraie et l'absence de l'attribut représente la valeur fausse.
Si l'attribut est présent, sa valeur doit être soit la chaîne vide, soit une valeur qui est une correspondance ASCII insensible à la casse pour le nom canonique de l'attribut, sans espace de début ou de fin.
Conclusion :
Les éléments suivants sont valides, équivalents et vrais :
<input type="text" autofocus />
<input type="text" autofocus="" />
<input type="text" autofocus="autofocus" />
<input type="text" autofocus="AuToFoCuS" />
Les éléments suivants ne sont pas valides :
<input type="text" autofocus="0" />
<input type="text" autofocus="1" />
<input type="text" autofocus="false" />
<input type="text" autofocus="true" />
L'absence de l'attribut est la seule syntaxe valide pour false :
<input type="text"/>
Recommandation
Si vous vous souciez d'écrire du XHTML valide, utilisez autofocus="autofocus"
, puisque <input autofocus>
n'est pas valide et les autres alternatives sont moins lisibles. Sinon, utilisez simplement <input autofocus>
car il est plus court.