Gunnar Bittersmann: Problem mit Schreibweise eines Links (Validierung bei W3C)

Beitrag lesen

@@Jörg:

nuqneH

<a href="#" onClick="ausblenden( 'sortiment');ausblenden( …

Daraufhin habe ich die Schreibweise des Links geändert in:
<a href="javascript:ausblenden( 'sortiment');ausblenden( …

Das eine ist so schlecht wie das andere.

Durch @href="#" wird an den Seitenanfang gesprungen, das will man wohl nicht. Wenn’s gar kein Link ist, ist das @href-Attribut falsch.

Damit das a-Element dennoch per Tastatur anwählbar ist, sollte @tabindex="0" gesetzt werden. Und wenn man schon kein button-Element verwendet (Warum eigentlich nicht?), dann @role="button".

Genauso wie CSS-Code nicht im HTML-Code stehen sollte (keine @style-Attribute), sollte auch kein JavaScript-Code im HTML-Code stehen (keine @on…-Attribute). Besser dem Element eine ID geben und den Eventhandler im JavaScript registrieren:

<a id="ausblenden-button" tabindex="0" role="button"> bzw. <button id="ausblenden-button">

Qapla'

--
„Perfektion ist nicht dann erreicht, wenn es nichts mehr hinzuzufügen gibt, sondern wenn man nichts mehr weglassen kann.“ (Antoine de Saint-Exupéry)