Platzhalter-Links
Silktide findet Links, die auf # verweisen – eine Webadresse, die „oben auf dieser Seite“ bedeutet. Diese sind meist Platzhalter: Links, die hinzugefügt wurden, bevor ihr Ziel existierte und nie aktualisiert wurden – oder Links, die zweckentfremdet werden, um Skripte auszulösen.
<!-- Zurückgelassener Platzhalter: führt ins Leere -->
<a href="#">Mehr erfahren</a>
<!-- Link wird missbraucht, um ein Skript auszuführen -->
<a href="#" onclick="openMenu()">Menü</a>
Warum das wichtig ist
Eine Person, die auf einen #‑Link klickt, erwartet, irgendwohin zu gelangen; stattdessen scrollt die Seite einfach nach oben – das wirkt kaputt. Wenn dieses Muster verwendet wird, um auszulösen, führt es auch in die Irre: Ein kündigt ihn als Link an und verspricht Navigation, tatsächlich verhält er sich aber wie eine Schaltfläche – und wenn Skripte nicht laden, passiert gar nichts.
Diese Links sind häufig Überbleibsel: eine Vorlage, die mit Platzhalter‑Navigation ausgeliefert wurde, oder ein „Coming soon“-Link, den niemand erneut überprüft hat.
So beheben Sie das Problem
- Wenn der Link irgendwohin führen soll, setzen Sie sein
hrefauf das echte Ziel. - Wenn er ein Skript auslöst, ersetzen Sie ihn durch ein
<button>, wie es für Aktionen erwarten:
<!-- Vorher: ein Link, der sich als Schaltfläche ausgibt -->
<a href="#" onclick="openMenu()">Menü</a>
<!-- Nachher: eine echte Schaltfläche, beliebig gestaltbar -->
<button onclick="openMenu()">Menü</button>
- Wenn der Link keinen Zweck erfüllt, entfernen Sie ihn oder ersetzen Sie ihn durch einfachen Text.
- Wenn ein
#‑Link tatsächlich beabsichtigt ist – zum Beispiel von einem Framework eingefügt, das ihn zuverlässig erweitert –, Sie den Fund, damit er nicht erneut gemeldet wird.
So prüft Silktide dies
- Alle herkömmlichen Links auf jeder Seite finden.
- Jeden melden, dessen
hrefgenau#ist.
Links zu benannten Positionen auf der Seite, z. B. #news, sind legitim und werden nicht gemeldet.
Fehlerbehebung
Der Link funktioniert, weil JavaScript ihn verarbeitet
Für Mausnutzer funktioniert es, solange Skripte korrekt geladen werden, aber gegenüber Hilfstechnologien kündigt es sich weiterhin als Link an und scrollt beim Ausfall des Skripts weiterhin nach oben. Ein <button> verhält sich in all diesen Fällen korrekt; wenn eine Änderung des Markups unpraktikabel ist, genehmigen Sie den Fund.
Das # stammt von einem Framework- oder CMS‑Baustein
Menü- und Tab‑Komponenten in einigen Frameworks und -Themes geben standardmäßig href="#" aus. Prüfen Sie die Dokumentation der Komponente, ob sich stattdessen eine Schaltfläche oder ein echtes Ziel ausgeben lässt.