Ordine del focus
Silktide individua gli elementi che sovrascrivono l'ordine in cui gli utenti da tastiera si spostano nella pagina. Per impostazione predefinita, premendo Tab si passa attraverso i link e i controlli dei moduli nell'ordine in cui compaiono nel codice della pagina; un attributo tabindex positivo impone un ordine personalizzato, che è quasi sempre un errore.
<!-- Fa sì che questo campo venga raggiunto prima di tutto il resto della pagina -->
<input tabindex="1" name="search">
Perché è importante
Gli utenti da tastiera si aspettano che il tasto Tab permetta di attraversare una pagina in un ordine prevedibile, corrispondente a ciò che vedono. Un tabindex positivo altera quest'ordine: il focus passa prima agli elementi numerati e poi torna su tutto il resto, facendo saltare il da una parte all'altra della pagina. Inoltre, è fragile: l'aggiunta successiva di un nuovo elemento richiede di rinumerare tutto e spesso l'ordine si interrompe quando le pagine cambiano.
Come correggere il problema
- Rimuovi i valori positivi di
tabindexe lascia che sia l'ordine naturale dell' a determinare l'ordine di navigazione con il tasto Tab. - Se l'ordine naturale crea confusione, riordina gli elementi nel codice HTML (usando i CSS per la disposizione visiva) invece di cercare di correggerlo con
tabindex. - Gli altri valori di
tabindexrestano validi e non vengono segnalati:tabindex="0"rende un elemento raggiungibile tramite la tastiera nella sua posizione naturale, cosa utile per i controlli personalizzati.tabindex="-1"rimuove un elemento dalla navigazione con il tasto Tab, cosa utile per gli elementi che ricevono il focus tramite script, come le finestre di dialogo.
Come Silktide esegue questo controllo
- Individua ogni elemento della pagina con un attributo
tabindexesplicito. - Segnala ogni elemento il cui
tabindexè maggiore di 0, come possibile problema da verificare. - I valori pari o inferiori a 0 non vengono segnalati.
Risoluzione dei problemi
Usiamo intenzionalmente valori positivi di tabindex
In rari casi, l'ordine del codice di una pagina non può corrispondere al suo ordine logico e i valori positivi di tabindex sono l'unica soluzione. Se hai verificato che l'ordine di navigazione è corretto passando attraverso la pagina con il tasto Tab, puoi contrassegnare il risultato del controllo come verificato.