Parece que me lembro da maioria (talvez todos) dos atributos em versões anteriores do HTML (antes do HTML5) que exigiam que os atributos tivessem valores, como readonly="readonly".
Isso é verdade para HTML5 e o autofocusatributo?
Parece que me lembro da maioria (talvez todos) dos atributos em versões anteriores do HTML (antes do HTML5) que exigiam que os atributos tivessem valores, como readonly="readonly".
Isso é verdade para HTML5 e o autofocusatributo?
Respostas:
Em HTML, você usa atributos booleanos com ou sem valores conforme desejar. Um booleano, para W3C, como o foco automático, pode ser escrito assim autofocusou autofocus="autofocus"ou também autofocus="".
Se você não quer o foco automático, não o escreva.
Eu acho que você está confuso porque XHTML requer valores para todos os atributos: attributes="values".
Aqui estão algumas informações sobre o uso de atributos booleanos em HTML: http://www.whatwg.org/specs/web-apps/current-work/multipage/common-microsyntaxes.html#boolean-attribute
disabled="disabled". A mesma coisa vale para tags de fechamento. Em HTML, nem todas as tags precisam ser fechadas (por exemplo, br ou input), mas como o XHTML deve ser um XML válido, você também precisa fechar as tags.
disabled="disabled"". E SGML é a única razão pela qual XHTML tem a silly="silly"sintaxe bool em vez de apenas whatever="true", e HTML é a única razão pela qual this="false"pode significar this = true. :)
Citando a especificação HTML5 e expandindo um pouco no Pekka:
http://www.w3.org/TR/html5/forms.html#autofocusing-a-form-control:-the-autofocus-attribute :
O atributo autofocus é um atributo booleano.
http://www.w3.org/TR/html5/infrastructure.html#boolean-attributes :
A presença de um atributo booleano em um elemento representa o valor verdadeiro e a ausência do atributo representa o valor falso.
Se o atributo estiver presente, seu valor deve ser a string vazia ou um valor que não faz distinção entre maiúsculas e minúsculas ASCII para o nome canônico do atributo, sem nenhum espaço em branco à esquerda ou à direita.
Conclusão :
Os itens a seguir são válidos, equivalentes e verdadeiros :
<input type="text" autofocus />
<input type="text" autofocus="" />
<input type="text" autofocus="autofocus" />
<input type="text" autofocus="AuToFoCuS" />
Os seguintes são inválidos :
<input type="text" autofocus="0" />
<input type="text" autofocus="1" />
<input type="text" autofocus="false" />
<input type="text" autofocus="true" />
A ausência do atributo é a única sintaxe válida para false :
<input type="text"/>
Recomendação
Se você se preocupa em escrever XHTML válido, use autofocus="autofocus", pois <input autofocus>é inválido e outras alternativas são menos legíveis. Caso <input autofocus>contrário , use apenas porque é mais curto.
Não , basta especificar o próprio atributo. Era assim também em HTML 4 .
Vários atributos são atributos booleanos . A presença de um atributo booleano em um elemento representa o valor verdadeiro e a ausência do atributo representa o valor falso.
Se o atributo estiver presente, seu valor deve ser a string vazia ou um valor que não faz distinção entre maiúsculas e minúsculas ASCII para o nome canônico do atributo, sem nenhum espaço em branco à esquerda ou à direita.
Exemplo:
<label><input type=checkbox checked name=cheese disabled> Cheese</label>