Naar inhoud springen
SilktideHelp

Placeholderlinks

Silktide vindt links die verwijzen naar #, een webadres dat "het bovenste deel van deze pagina" betekent. Dit zijn meestal placeholders: links die zijn toegevoegd voordat hun bestemming bestond en nooit zijn bijgewerkt, of links die zijn misbruikt om scripts te activeren.

<!-- Achtergebleven placeholder: leidt nergens nuttigs naartoe -->
<a href="#">Lees meer</a>

<!-- Link misbruikt om een script uit te voeren -->
<a href="#" onclick="openMenu()">Menu</a>

Waarom dit belangrijk is

Een bezoeker die op een #-link klikt, verwacht ergens naartoe te gaan; in plaats daarvan scrolt de pagina alleen naar boven, waardoor de link kapot lijkt. Wanneer dit patroon wordt gebruikt om te activeren, misleidt het ook ondersteunende technologie: een kondigt de link aan als een link en wekt daarmee de verwachting van navigatie, terwijl de link zich in werkelijkheid gedraagt als een knop. En als scripts niet kunnen worden geladen, gebeurt er helemaal niets.

Deze links zijn vaak achtergebleven: een template met placeholdernavigatie die is gepubliceerd, of een link met de tekst "binnenkort beschikbaar" waar niemand meer naar heeft omgekeken.

Hoe je dit oplost

  1. Als de link ergens naartoe moest gaan, laat je href naar de echte bestemming verwijzen.
  2. Als de link een script activeert, vervang je deze door een <button>, want dat is wat verwacht voor acties:
<!-- Voorheen: een link die zich voordoet als een knop -->
<a href="#" onclick="openMenu()">Menu</a>

<!-- Daarna: een echte knop, opgemaakt zoals je wilt -->
<button onclick="openMenu()">Menu</button>
  1. Als de link geen doel dient, verwijder je deze of vervang je deze door platte tekst.
  2. Als een #-link echt bedoeld is, bijvoorbeeld omdat deze wordt ingevoegd door een framework dat de link betrouwbaar uitbreidt, , zodat deze niet opnieuw wordt gemeld.

Hoe Silktide dit test

  1. Zoek op elke pagina naar elke conventionele link.
  2. Meld elke link waarvan href precies # is.

Links naar benoemde posities op de pagina, zoals #news, zijn legitiem en worden niet gemeld.

Problemen oplossen

De link werkt voor muisgebruikers zolang scripts correct worden geladen, maar wordt nog steeds als link aangekondigd aan ondersteunende technologie en scrolt nog steeds naar boven als het script mislukt. Een <button> gedraagt zich in al deze gevallen correct; als het aanpassen van de markup niet praktisch is, keur je de bevinding goed.

De # komt uit een framework- of CMS-component

Menu- en tabcomponenten in sommige frameworks en -thema's geven standaard href="#" uit. Raadpleeg de documentatie van de component om te zien hoe je in plaats daarvan een knop of een echte bestemming kunt weergeven.

Meer informatie

Laatst bijgewerkt

Was deze pagina nuttig?