1. LarsKasper.de
  2. Webdesign
  3. Tips

Rahmen um ausgewählte Links im Internet Explorer deaktivieren

Erläuterungen und Beispiele zu einer oft gestellten Frage (FAQ) in der Newsgroup de.comm.infosystems.www.authoring.misc (dciwam).

Frage

Wenn ich im Microsoft Internet Explorer auf einen Link klicke, erscheint ein gepunkteter Rahmen – wie kann ich diese Linkumrandung beseitigen?

Sie können nachfolgend ein Beispiel ausprobieren:

Beschreibung des Browserverhaltens

Der Internet Explorer (IE) zeigt mit dieser Umrandung an, daß dem Text- oder Grafiklink der Fokus gegeben ist. Die Browser Mozilla und Konqueror verhalten sich ebenso.

Einem HTML-Element, zum Beispiel Hyperlink-Anker (A) oder Texteingabefeld (INPUT), muß vom Nutzer der Fokus gegeben werden, damit er es aktivieren und benutzen kann. Das kann über den Mauszeiger oder Tastatureingaben wie Tabulator-Taste oder eine festgelegte Zugangstaste (access key, keyboard shortcut) geschehen.

Der Fokus bietet dem Nutzer eine wichtige Navigations- und Orientierungsmöglichkeit. Es empfiehlt sich daher nicht, die Fokus-Kennzeichnung abzuschalten!

Der Nutzer kann sonst nicht mehr erkennen, welcher Link aktuell den Fokus erhält. Die Kennzeichnung des Fokus-Links ist zum Beispiel eine gute Orientierungshilfe, wenn man mit der Zurück-Schaltfläche des Browsers auf eine zuvor besuchte Seite zurückspringt und dort der zuletzt ausgewählte Link die Fokusmarkierung erhält – womöglich in einer umfangreichen Auflistung von bereits besuchten Links.

Lösung mittels JavaScript

Die einzige bislang (im Jahr 2002) funktionierende Lösung zum Abschalten der Fokusumrandung im Internet Explorer 5 und 6 ist ein JavaScript, welches jedoch einen gravierenden Nachteil mit sich bringt: Die Tastaturnavigation mit der Tabulator-Taste ist dann für den Nutzer nicht mehr möglich!

<a href="linkziel.html"
   onfocus="if (this.blur()) { this.blur(); }"
>ein Link</a>

Sie können nachfolgend ein Beispiel ausprobieren:

Lösung mittels Cascading Style Sheets

Die Darstellung des Fokus soll sich zukünftig über die dynamische CSS2-Pseudoklasse :focus mit der Eigenschaft outline festlegen lassen. Aktuell ist das jedoch bis zum IE6 noch nicht möglich.

a:focus { outline: none; }

Sie können nachfolgend ein Beispiel ausprobieren:

Lösung mittels proprietärer Microsoft-Angaben

Microsoft stellt für HTML-Elemente das proprietäre Attribut hidefocus und für Scripte die Eigenschaft hideFocus zur Verfügung. Beide Methoden werden ab IE5.5 interpretiert, jedoch nicht von Versionen darunter. Diese Angaben sind in keinem HTML-Standard definiert und deshalb ist von ihrer Verwendung dringend abzuraten.

<a href="linkziel.html" hidefocus="true">ein Link</a>

Für Scripting:

<a href="linkziel.html"
onfocus="if (this.hideFocus == false)
            { this.hideFocus = true; }"
>ein Link</a>

Beispiele in separater Datei, da durch hier eingebundenen zuvor genannten Code dieses Dokument ungültig würde.

Fazit

Man sollte die Linkumrandung, die den Fokus eines Elementes anzeigt, nicht deaktivieren, da sonst wichtige Navigations- und Orientiertungsmöglichkeiten entfallen. Desweiteren sind die Möglichkeiten der Deaktivierung nicht einfach zu bewerkstelligen und funktionieren nur in wenigen Browsern.

Sollte – aus welchen Gründen auch immer – das Abschalten notwendig sein, so empfiehlt sich aktuell die JavaScript-Lösung, zukünftig bei besserer Unterstützung sollte jedoch die CSS-Methode genutzt werden.

Ressourcen und empfehlenswerte Webseiten

Sonstiges

Vielen Dank an Thomas Meinike für die Beleuchtung des Microsoft hideFocus-Scriptings. Desweiteren an zahlreiche Regulars in de.comm.infosystems.www.authoring.misc für hilfreiche Anmerkungen.

Gerne nehme ich Anregungen, Hinweise und Fragen per E-Mail entgegen: Lars Kasper, mail@LarsKasper.de