Il semble que je me souvienne de la plupart (peut-être de tous) les attributs des versions précédentes de HTML (avant HTML5) qui exigeaient que les attributs aient des valeurs, comme readonly="readonly"
.
Est-ce vrai pour HTML5 et l' autofocus
attribut?
Réponses:
En HTML, vous utilisez des attributs booléens avec ou sans valeurs à votre guise. Un booléen, pour W3C, comme l'autofocus peut être écrit comme ça
autofocus
ouautofocus="autofocus"
ou aussiautofocus=""
.Si vous ne voulez pas de mise au point automatique, ne l'écrivez pas.
Je pense que vous êtes confus parce que XHTML requiert des valeurs pour tous les attributs:
attributes="values"
.Voici quelques informations sur l'utilisation des attributs booléens en HTML: http://www.whatwg.org/specs/web-apps/current-work/multipage/common-microsyntaxes.html#boolean-attribute
la source
disabled="disabled"
. La même chose vaut pour la fermeture des balises. En HTML, toutes les balises n'ont pas besoin d'être fermées (par exemple, br ou input) mais comme XHTML doit être du XML valide, vous avez également besoin de balises de fermeture.disabled="disabled"
". Et SGML est la seule raison, pourquoi XHTML a lasilly="silly"
syntaxe booléenne au lieu de justewhatever="true"
, et HTML est la seule raison pour laquellethis="false"
peut signifier ceci = vrai. :)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 :
http://www.w3.org/TR/html5/infrastructure.html#boolean-attributes :
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.la source
Non , il suffit de spécifier l'attribut lui-même. C'était également le cas en HTML 4 .
Exemple:
<label><input type=checkbox checked name=cheese disabled> Cheese</label>
la source