Vai al contenuto
SilktideAiuto

ID validi delle etichette per i frammenti

Silktide controlla le etichette dei moduli che fanno riferimento a un altro elemento tramite ID e segnala le etichette il cui ID non esiste in alcun punto della pagina. Un'etichetta che non punta a nulla non può identificare alcun elemento.

In , un elemento <label> identifica un campo del modulo impostando il proprio attributo for sull'id del campo. Questo controllo verifica solo che l'ID a cui si fa riferimento esista in un punto qualsiasi della pagina; un controllo correlato, ID validi delle etichette, va oltre e verifica che l'elemento di destinazione sia un campo del modulo a cui sia possibile associare un'etichetta.

<!-- Problema: nessun elemento nella pagina ha id="food" -->
<label for="food">Cibo preferito</label>

Perché è importante

Un'etichetta con un riferimento non valido non svolge alcuna funzione: un non può collegarla ad alcun campo, quindi il campo a cui l'etichetta doveva riferirsi viene annunciato senza un nome e facendo clic sull'etichetta non viene più portato il focus su di esso. Poiché l'aspetto della pagina rimane invariato, questi problemi in genere compaiono senza essere rilevati quando gli ID vengono rinominati o il markup viene ristrutturato; solo un controllo automatizzato può individuarli.

Come risolvere il problema

  1. Trova l'elemento che l'etichetta doveva descrivere e imposta il valore for dell'etichetta sull'id esatto di quell'elemento (gli ID distinguono tra maiuscole e minuscole):
<!-- Corretto: l'etichetta punta a un ID esistente -->
<label for="food">Cibo preferito</label>
<input type="text" id="food">
  1. Se all'elemento di destinazione manca l'id, aggiungine uno.
  2. Se l'etichetta è un residuo che non descrive più nulla, rimuovila.

Come Silktide esegue il controllo

  1. Trova ogni elemento <label> con un attributo for non vuoto in ciascuna pagina.
  2. Cerca in un punto qualsiasi della pagina un elemento il cui id corrisponda.
  3. Segnala l'etichetta se non esiste alcun elemento di questo tipo.

Per saperne di più

Ultimo aggiornamento

Questa pagina è stata utile?