Platshållarlänkar
Silktide hittar länkar som pekar på #, en webbadress som betyder "högst upp på den här sidan". Det här är vanligtvis platshållare – länkar som lagts till innan deras mål fanns och aldrig uppdaterats – eller länkar som kapats för att utlösa skript.
<!-- Platshållare som lämnats kvar: leder ingenstans användbart -->
<a href="#">Läs mer</a>
<!-- Länk som missbrukas för att köra ett skript -->
<a href="#" onclick="openMenu()">Meny</a>
Varför det här är viktigt
En besökare som klickar på en #-länk förväntar sig att komma någonstans. I stället rullar sidan bara längst upp, vilket uppfattas som att länken är trasig. När mönstret används för att utlösa vilseleder det även hjälpmedel: en meddelar att det är en länk och lovar navigering, när den i själva verket fungerar som en knapp – och om skripten inte kan laddas gör den ingenting alls.
De här länkarna är ofta rester: en mall som levererats med platshållarnavigering eller en länk med texten "kommer snart" som ingen återvänt till.
Så här åtgärdar du det
- Om länken var tänkt att leda någonstans, ange den riktiga destinationen i dess
href. - Om den utlöser ett skript, ersätt den med en
<button>, vilket är vad förväntar sig för åtgärder:
<!-- Före: en länk som låtsas vara en knapp -->
<a href="#" onclick="openMenu()">Meny</a>
<!-- Efter: en riktig knapp, utformad precis som du vill -->
<button onclick="openMenu()">Meny</button>
- Om länken inte fyller någon funktion, ta bort den eller ersätt den med vanlig text.
- Om en
#-länk verkligen är avsiktlig – till exempel om den infogas av ett ramverk som förbättrar den på ett tillförlitligt sätt – resultatet så att det inte rapporteras igen.
Så testar Silktide detta
- Hitta alla vanliga länkar på varje sida.
- Rapportera varje länk vars
hrefär exakt#.
Länkar till namngivna positioner på sidan, till exempel #news, är giltiga och rapporteras inte.
Felsökning
Länken fungerar eftersom JavaScript hanterar den
Den fungerar för musanvändare när skripten laddas korrekt, men den meddelas fortfarande som en länk till hjälpmedel och rullar fortfarande längst upp när skriptet misslyckas. En <button> fungerar korrekt i alla dessa situationer. Om det är opraktiskt att ändra uppmärkningen kan du godkänna resultatet.
# kommer från ett ramverk eller en CMS-komponent
Meny- och flikkomponenter i vissa ramverk och -teman genererar href="#" som standard. Kontrollera komponentens dokumentation för att se om det finns ett sätt att rendera en knapp eller en riktig destination i stället.