Jetzt erzähl mir mal, was das mit <a href="javascript:"> zu tun hat, anstatt ständig leere Dogmen zu wiederholen.
Zitat aus der wikipedia:
http://de.wikipedia.org/wiki/Hyperlink
Als Hyperlink [ˈhaɪpɚlɪŋk], auch kurz Link (engl. für Verknüpfung, Verbindung, Verweis), bezeichnet man einen Verweis auf ein anderes Dokument innerhalb eines Hypertextes, der automatisch durch das „Hypertextsystem“ verfolgt werden kann.
Der Begriff wird meist auf das World Wide Web bezogen.
Das Konzept von Hyperlinks entspricht funktional dem Querverweis oder der Fußnote aus der konventionellen Literatur, bei der das Ziel des Verweises allerdings in der Regel manuell aufgesucht werden muss.
Man spricht von einem verlinktem Dokument, wenn es mindestens einen Hyperlink enthält, der auf ein Drittes gerichtet ist.
wenn ich also <a href="javascript:" />oder <a href="#" onclick="" /> verwende, nutze ich das element nicht entsprechend seinr ursprünglichen bedeutung bez seinem entsprechenden zweck - ich nutze ihn um das von dir genannte spezielle verhalten eines links (automatisch gesetzter tabindex, focus, hover, active) zu nutzen obwohl es da rein um eine funktionalität/visuelle eigenschaft geht, die vom element erzeugt wird = präsentation
wenn ich eine überschrift ohne umbruch dahinter haben will, verwende ich ja auch nicht <b>blah</b> weil die standardeigenschaften von <b /> besser geeignet dafür sind, was ich visuell haben will - man nimmt das dafür gedachte, semantisch richtige elmente und passt es visuell seinen bedürfnissen an
<a /> element kein anker ist und auch kein verweis auf eine andere seite, dann wird er nicht im sinne seines eigentlichen verwendungszwecks gebraucht und das ist eine geschichte, die man nicht tut
genausowenig nutzt man blockquote für einrückungen oder defintionslisten für bildergalerien und fieldsets und legends für die aufteilung von seiten obowhl in der tat fieldset und legend eigenschaften an den tag legen, die sich mit anderen elementen so nicht reproduzieren lassen