Link segnaposto
Silktide individua i link che rimandano a #, un indirizzo web che significa "la parte superiore di questa pagina". Di solito si tratta di segnaposto: link aggiunti prima che la loro destinazione esistesse e mai aggiornati, oppure di link usati impropriamente per attivare script.
<!-- Segnaposto rimasto: non porta da nessuna parte di utile -->
<a href="#">Leggi altro</a>
<!-- Link usato impropriamente per eseguire uno script -->
<a href="#" onclick="openMenu()">Menu</a>
Perché è importante
Un visitatore che fa clic su un link # si aspetta di essere portato da qualche parte; invece, la pagina scorre semplicemente verso l'alto, dando l'impressione che qualcosa non funzioni. Quando questo schema viene usato per attivare , fuorvia anche le tecnologie assistive: un lo annuncia come un link, promettendo una navigazione, quando in realtà si comporta come un pulsante; inoltre, se gli script non vengono caricati, non succede nulla.
Questi link tendono a essere residui: una configurazione che includeva una navigazione segnaposto o un link "prossimamente" che nessuno ha mai aggiornato.
Come risolvere il problema
- Se il link doveva portare da qualche parte, imposta il suo attributo
hrefsulla destinazione reale. - Se attiva uno script, sostituiscilo con un
<button>, che è l'elemento previsto dalle per le azioni:
<!-- Prima: un link che finge di essere un pulsante -->
<a href="#" onclick="openMenu()">Menu</a>
<!-- Dopo: un vero pulsante, con lo stile che preferisci -->
<button onclick="openMenu()">Menu</button>
- Se il link non serve a nulla, rimuovilo o sostituiscilo con testo semplice.
- Se un link
#è effettivamente intenzionale, ad esempio perché viene inserito da un framework che lo gestisce in modo affidabile, il risultato in modo che non venga segnalato di nuovo.
Come esegue il controllo Silktide
- Individua ogni link convenzionale in ciascuna pagina.
- Segnala quelli il cui attributo
hrefè esattamente#.
I link verso posizioni specifiche della pagina, come #news, sono legittimi e non vengono segnalati.
Risoluzione dei problemi
Il link funziona perché JavaScript lo gestisce
Funziona per gli utenti che usano il mouse quando gli script vengono caricati correttamente, ma viene comunque annunciato come un link alle tecnologie assistive e continua a far scorrere la pagina verso l'alto quando lo script non funziona. Un <button> si comporta correttamente in tutti questi casi; se modificare il markup non è pratico, approva il risultato.
Il carattere # proviene da un componente di un framework o di un CMS
I componenti per menu e schede di alcuni framework e temi generano href="#" per impostazione predefinita. Consulta la documentazione del componente per sapere come visualizzare un pulsante o una destinazione reale.