Ho letto il w3.org HTML5 form spec, e sono rimasto sorpreso di vedere il seguente codice HTML:Se la specifica del modulo HTML5 w3.org annida un <input> all'interno di un genitore <label>, perché la maggior parte delle pagine li implementa come fratelli?
<p><label>Customer name: <input name="custname"></label></p>
<p><label>Telephone: <input type=tel name="custtel"></label></p>
<p><label>E-mail address: <input type=email name="custemail"></label></p>
vista semantico, questo mi confonde. Un <label>
non avrebbe più senso come un fratello di un <input>
, piuttosto che come un genitore?
In natura, sono più abituati a vedere la seguente configurazione:
<p>
<label for="customer_name">Customer name:</label>
<input id="customer_name" name="customer[name]">
</p>
so che una grande maggioranza di markup là fuori non è corretto, ma io sono interessato ad ascoltare i pensieri degli altri su quale dovrebbe essere la corretta convenzione.
Sono corretto, ma sembra che ogni generatore di markup e l'helper di forma che ho usato abbia violato essenzialmente i suggerimenti del W3, anche quelli che richiedono il supporto HTML5, facendo uso di convalide sul lato client e simili.
Pensieri?
Potrebbe un mod si prega di fare questo in un wiki comunità, non mi sembra di essere in grado. – Jeriko
Nota che mentre usi l'attributo 'for' va bene, l'esempio che hai fornito non lo è.Il valore dell'attributo 'for' deve corrispondere al valore di un' id' su un elemento, non al valore di un 'nome'. Vedi la citazione nella risposta di @ pbyrne. – Alohci
Ah sì, hai ragione. Il mio male, fisso. – Jeriko