Mi sembra di ricordare la maggior parte (forse tutti) gli attributi nelle versioni precedenti di HTML (prima di HTML5) che richiedevano attributi per avere valori, come readonly="readonly".
È vero per HTML5 e per l' autofocusattributo?
Mi sembra di ricordare la maggior parte (forse tutti) gli attributi nelle versioni precedenti di HTML (prima di HTML5) che richiedevano attributi per avere valori, come readonly="readonly".
È vero per HTML5 e per l' autofocusattributo?
Risposte:
In HTML, usi attributi booleani con o senza valori come preferisci. Un booleano, per W3C, come l'autofocus può essere scritto così autofocuso autofocus="autofocus"o anche autofocus="".
Se non vuoi l'autofocus, non scriverlo.
Penso che si sono confusi perché XHTML richiede i valori per tutti gli attributi: attributes="values".
Di seguito sono riportate alcune informazioni sull'uso degli attributi booleani in HTML: http://www.whatwg.org/specs/web-apps/current-work/multipage/common-microsyntaxes.html#boolean-attribute
disabled="disabled". La stessa cosa vale per i tag di chiusura. In HTML non tutti i tag devono essere chiusi (es. Br o input) ma poiché XHTML deve essere XML valido, è necessario anche chiudere i tag.
disabled="disabled"". E SGML è l'unica ragione per cui XHTML ha la silly="silly"sintassi bool invece che solo whatever="true", e HTML è l'unica ragione per cui this="false"può significare questo = vero. :)
Citando la specifica HTML5 ed espandendo un po 'su Pekka:
http://www.w3.org/TR/html5/forms.html#autofocusing-a-form-control:-the-autofocus-attribute :
L'attributo autofocus è un attributo booleano.
http://www.w3.org/TR/html5/infrastructure.html#boolean-attributes :
La presenza di un attributo booleano su un elemento rappresenta il valore vero e l'assenza dell'attributo rappresenta il valore falso.
Se l'attributo è presente, il suo valore deve essere una stringa vuota o un valore che sia una corrispondenza ASCII senza distinzione tra maiuscole e minuscole per il nome canonico dell'attributo, senza spazi iniziali o finali.
Conclusione :
I seguenti sono validi, equivalenti e veri :
<input type="text" autofocus />
<input type="text" autofocus="" />
<input type="text" autofocus="autofocus" />
<input type="text" autofocus="AuToFoCuS" />
I seguenti non sono validi :
<input type="text" autofocus="0" />
<input type="text" autofocus="1" />
<input type="text" autofocus="false" />
<input type="text" autofocus="true" />
L'assenza dell'attributo è l'unica sintassi valida per false :
<input type="text"/>
Raccomandazione
Se ti interessa scrivere un XHTML valido, usa autofocus="autofocus", poiché <input autofocus>non è valido e altre alternative sono meno leggibili. Altrimenti, usalo <input autofocus>perché è più corto.
No , è sufficiente specificare l'attributo stesso. Era così anche in HTML 4 .
Un certo numero di attributi sono attributi booleani . La presenza di un attributo booleano su un elemento rappresenta il valore vero e l'assenza dell'attributo rappresenta il valore falso.
Se l'attributo è presente, il suo valore deve essere una stringa vuota o un valore che sia una corrispondenza ASCII senza distinzione tra maiuscole e minuscole per il nome canonico dell'attributo, senza spazi iniziali o finali.
Esempio:
<label><input type=checkbox checked name=cheese disabled> Cheese</label>