Collegamenti con destinazioni diverse
Silktide trova nella pagina collegamenti che condividono lo stesso testo ma puntano a destinazioni diverse. Quando due collegamenti dall'aspetto identico portano a luoghi diversi, le persone non possono distinguerli senza aprirli entrambi.
<!-- Due collegamenti "News" che portano a pagine diverse -->
<p>Scopri le ultime novità sui nostri prodotti: <a href="/products/news">News</a></p>
<p>Scopri le ultime novità sui nostri servizi: <a href="/company/news">News</a></p>
Perché è importante
Le persone che utilizzano un spesso visualizzano un elenco di tutti i collegamenti presenti nella pagina, fuori contesto. Due collegamenti che vengono entrambi annunciati come "News" ma portano a pagine diverse sono indistinguibili nell'elenco, quindi l'utente deve aprirli uno alla volta per scoprire dove portano. La stessa ambiguità riguarda le persone che utilizzano il riconoscimento vocale, che selezionano i collegamenti pronunciandone ad alta voce il nome.
Come risolvere il problema
- Assegna a ogni collegamento un testo visibile distinto che descriva la destinazione, ad esempio "Novità sui prodotti" e "Novità sull'azienda".
- Se il design non può essere modificato, aggiungi un'etichetta per distinguere i collegamenti senza modificare ciò che vedono gli utenti vedenti:
<!-- L'aria-label diventa il nome annunciato dai lettori di schermo -->
<a href="/products/news" aria-label="Novità sui prodotti">News</a>
<a href="/company/news" aria-label="Novità sull'azienda">News</a>
- In alternativa, inserisci nel collegamento testo aggiuntivo visivamente nascosto ma letto dai lettori di schermo, ad esempio uno
<span>formattato con una classe CSS riservata ai lettori di schermo. - Se i collegamenti sono funzionalmente equivalenti per l'utente, ad esempio se reindirizzano alla stessa pagina, il risultato.
Come Silktide esegue il controllo
- Trova ogni collegamento nella pagina, ignorando gli elementi esclusi dal controllo.
- Determina il di ciascun collegamento, ovvero il testo annunciato dalla , che include le etichette ARIA e il delle immagini, non solo il testo visibile.
- Normalizza la destinazione di ogni collegamento per il confronto: i frammenti (la parte dopo
#), le stringhe di query (la parte dopo?), lo schema dell'URL e le barre finali vengono ignorati. - Quando collegamenti con lo stesso nome accessibile puntano a più di una destinazione distinta, segnala tutti i collegamenti interessati.
Risoluzione dei problemi
I collegamenti a sezioni diverse della stessa pagina non vengono segnalati
Poiché i frammenti vengono ignorati nel confronto delle destinazioni, collegamenti come /guide#intro e /guide#pricing vengono considerati come diretti alla stessa destinazione. È intenzionale: entrambi portano alla stessa pagina.
I collegamenti che differiscono solo per i parametri di tracciamento non vengono segnalati
Le stringhe di query vengono ignorate nel confronto delle destinazioni, quindi /offers?src=header e /offers?src=footer vengono considerati come collegamenti alla stessa pagina, anziché a destinazioni diverse.