<label>: l'elemento "Etichetta di input"
L' elemento HTML <label>
rappresenta una didascalia per un elemento in un'interfaccia utente.
Associare un <label>
con un elemento <input>
offre alcuni importanti vantaggi:
- Il testo dell'etichetta non è solo visivamente associato al corrispondente input di testo; è anche programmaticamente associato ad esso. Ciò significa che, ad esempio, uno screen reader leggerà l'etichetta quando l'utente è concentrato sull'input del modulo, rendendo più facile per un utente di tecnologia assistiva capire quali dati devono essere inseriti.
- Quando un utente fa clic o tocca/tocca un'etichetta, il browser passa lo stato attivo all'input associato (l'evento risultante viene generato anche per l'input). Quell'area colpita aumentata per focalizzare l'input offre un vantaggio a chiunque tenti di attivarlo, compresi quelli che utilizzano un dispositivo touch-screen.
Per associare il <label>
con un elemento <input>
, devi dare all'elemento <input>
un attributo id
. Dopodiché <label>
ha bisogno di un attributo for
il cui valore sia lo stesso dell'id
dell'elemento <input>
.
In alternativa, puoi annidare <input>
direttamente all'interno di <label>
, nel qual caso gli attributi for
e id
non sono necessari perché l'associazione è implicita:
<label>Ti piace la pizza?
<input type="checkbox" name="pizza">
Gli elementi che possono essere associati a un elemento <label>
includono <button>
, <input>
(tranne type="hidden"
) , <meter>
, <output>
, <progress>
, <select>
e <textarea>
.
Attributi
for
Il valore dell'attributo for
deve essere un singolo id
per un elemento correlato al modulo etichettabile nello stesso documento dell'elemento <label>
. Pertanto, qualsiasi elemento <label>
può essere associato a un solo controllo modulo.
Il primo elemento nel documento con un attributo id
che corrisponde al valore dell'attributo for
è il controllo etichettato per questo elemento label
, se l'elemento con quell'id
è effettivamente un elemento etichettabile . Se non è un elemento etichettabile, l'attributo for
non ha effetto. Se sono presenti altri elementi che corrispondono anche al valore id
, più avanti nel documento, non vengono considerati.
A più elementi <label>
può essere assegnato lo stesso valore per il loro attributo for
; in questo modo il controllo del modulo associato (il controllo del modulo a cui forfa riferimento il valore) avrà più etichette.