Legende dei fieldset
Silktide controlla che ogni gruppo di campi di un modulo dichiarato con un fieldset includa anche una legenda che descriva a cosa serve il gruppo. La legenda assegna un nome all'intero gruppo, così ogni opzione viene ascoltata nel contesto corretto.
In , l'elemento <fieldset> raggruppa controlli di modulo correlati, ad esempio un insieme di pulsanti di scelta, caselle di controllo o campi per l'indirizzo, mentre l'elemento <legend> ne è la didascalia.
<!-- Problema: il gruppo non ha una legenda -->
<fieldset>
<label><input type="radio" name="size" value="s"> Small</label>
<label><input type="radio" name="size" value="l"> Large</label>
</fieldset>
Perché è importante
Un visitatore vedente vede la didascalia del gruppo subito sopra le opzioni. Un utente di ascolta ogni opzione una alla volta e, senza una legenda, sente semplicemente "Small" e "Large", senza alcuna indicazione di cosa si sta scegliendo. La legenda viene annunciata quando l'utente entra nel gruppo, così domande come "Taglia della maglietta" sono comprensibili a tutti.
Come correggere il problema
Aggiungi un elemento <legend> come primo elemento all'interno di ogni <fieldset> e descrivi il gruppo in poche parole:
<!-- Corretto: la legenda identifica il gruppo -->
<fieldset>
<legend>Taglia della maglietta</legend>
<label><input type="radio" name="size" value="s"> Small</label>
<label><input type="radio" name="size" value="l"> Large</label>
</fieldset>
Mantieni brevi le legende: gli screen reader potrebbero ripetere la legenda per ogni campo del gruppo.
Come esegue i controlli Silktide
- Trova ogni elemento
<fieldset>in ogni pagina. - Segnala ogni elemento che non contiene un elemento
<legend>come figlio diretto.
Risoluzione dei problemi
La mia legenda esiste, ma viene comunque segnalata
Il <legend> deve essere un figlio diretto del <fieldset>. Una didascalia annidata all'interno di un altro elemento, ad esempio un contenitore <div>, non viene riconosciuta come legenda del gruppo, né da questo controllo né dalla .