Schritt für Schritt zu barrierefreien Tooltips 
veröffentlicht in 2015
zuletzt bearbeitet in
Ein Tooltip ist ein kurzer Text, der normalerweise als Popup erscheint, wenn Nutzende mit dem Mauszeiger über ein Element fahren. Tooltips können mit dem title-Attribut an jedes HTML-Element angehängt werden. Es gibt nur wenige Ausnahmen, bei denen ein mit dem title-Attribut erstellter Tooltip nicht angezeigt wird (zum Beispiel bei einem iframe-Element).
In diesem Beitrag blicken wir zunächst auf das title-Attribut in HTML und weisen auf einige Probleme der Barrierefreiheit hin. Anschließend geben wir einige Tipps zum Einsatz von Tooltips. Anschließend erstellen wir zwei barrierefreie, autorendefinierte Tooltips mit HTML und ARIA, betrachten dann verschiedene CSS-Lösungen und fügen schließlich einen Event-Handler gemäß den Web Content Accessibility Guidelines (WCAG) 2.2 hinzu.
Das Problem von Title-Attributen
Das Title-Attribut ist nicht sonderlich barrierefrei. Das betrifft verschiedene Gruppen von Nutzenden: Wenn Sie Inhalte vor Nutzenden von Mobiltelefonen und Tablets sowie vor Nutzenden von Assistenztechnologien und Nutzenden, die ausschließlich mit der Tastatur arbeiten, verbergen möchten, verwenden Sie das title-Attribut. So schrieb es Steve Faulkner bereits 2013.
Im Hinblick auf die Barrierefreiheit bieten TitleAttribute folgenden Gruppen von Nutzenden unzureichende Unterstützung:
- Tastaturnutzende
- Da Tastaturnutzende nur aktive Elemente wie Links oder Formulare fokussieren können, können Browser Tooltips nur für solche fokussierbaren Elemente anzeigen. Der Inhalt von
TitleAttributen wird aber dennoch bei der Fokussierung per Tastatur nicht angezeigt (vor einiger Zeit gab es im Internet Explorer einige Ausnahmen für Formularelemente). - Nutzende von Screenreadern
- Browser legen den Inhalt eines
title-Attributs aktiver Elemente als "accessible description" im Accessibility-Tree ab. In einem Screenreader wird die "accessible description" üblicherweise an den Linknamen angehängt, wenn der Link per Tab-Taste fokussiert wird. Dies kann in bestimmten Situationen hilfreich sein, jedoch navigieren Nutzende von Screenreadern nicht unbedingt mit der Tab-Taste, weil dadurch nicht fokussierbare Inhalte übersprungen werden. Eintitle-Attribut kann dennoch bei Links, Formularen und anderen aktiven Elementen in einem Screenreader ermittelt werden. - Nutzende von Vergrößerungssystemen
Die Verwendung eines Vergrößerungssystems kann dazu führen, dass Tooltips nicht mehr gelesen werden können. Tooltips mit einem
title-Attribut werden nur angezeigt, wenn sich der Mauszeiger über dem auslösenden Element befindet. Durch die Verwendung eines Vergrößerungssystems kann der tatsächlich sichtbare Teil des Ansichtsbereichs erheblich reduziert werden. In diesem Fall müssen Nutzende den Mauszeiger bewegen, um den Bildschirmausschnitt zu verschieben und den vollständigen Text zu lesen. Sobald sich der Mauszeiger jedoch über dem Tooltip befindet, wird der Tooltip vom Browser ausgeblendet.Tooltip in einem Vergrößerungssystem bei 5-facher Vergrößerung
Hinweis: Die Vergrößerungsstufen variieren stark; 20-fache, 30-fache oder sogar höhere Vergrößerungen sind durchaus möglich. Je höher die Vergrößerung, desto kleiner der angezeigte Bildschirmausschnitt.
Wenn Sie noch nicht überzeugt sind, dass Tooltips problematisch sein können, vielleicht überzeugt Sie der HTML-Standard. HTML rät von der Verwendung des title-Attributs ab:
Relying on the title attribute is currently discouraged as many user agents do not expose the attribute in an accessible manner as required by this specification (e.g., requiring a pointing device such as a mouse to cause a tooltip to appear, which excludes keyboard-only users and touch-only users, such as anyone with a modern phone or tablet).
Überdenken Sie den Einsatz von Tooltips
Wenn Sie Tooltips auf Ihren Webseiten einsetzen möchten, sollten Sie sie zurückhaltend einsetzen. Im Web finden Sie zahlreiche Empfehlungen, wann Tooltips sinnvoll sind und wann nicht, zum Beispiel:
- Fügen Sie keine wichtigen Informationen in Tooltips ein. Informationen, die für die Erledigung einer Aufgabe erforderlich sind, müssen für alle Nutzende jederzeit zugänglich sein.
- Vermeiden Sie redundante oder überflüssige Texte in Tooltips. Solche Tooltips wirken bestenfalls ablenkend.
- Halten Sie Tooltips kurz. Tooltips sind bestenfalls als Erinnerung oder als kurze Umformulierung einer bestehenden Beschriftung geeignet.
- Tooltips sollten keine anderen relevanten Inhalte überlagern. Beispielsweise sollte der Tooltip die Beschriftung eines Formularfelds nicht verdecken.
Am wichtigsten ist es aber, dass Tooltips nur beschreibenden und nicht notwendigen Text enthalten und aktive Elemente wie Links und Formularfelder etwas detaillierter beschreiben. für HTML-Konformität dürfen Tooltips mit dem title-Attribut letztendlich nur solche Informationen enthalten, die bereits auf der Webseite vorhanden sind.
CSS zur Hilfe?
Mit CSS können Sie Werte in HTML-Attributen auslesen und als Pseudo-Element auf einer Webseite darstellen. Das können Sie mit einem title-Attribut auch machen, nur werden Sie dadurch manchmal in der Situation kommen, dass zwei Tooltips angezeigt werden. Besser ist es, wenn Sie ein Attribut einsetzen, das nicht (auch) vom Browser angezeigt wird. Im folgenden Beispiel wird ein Tooltip bei Hover und Fokus angezeigt:
Im CSS wird der Inhalt des autorendefinierten data-tooltip-Attributs als Pseudo-Element sichtbar gemacht. Damit wird der Tooltip bei Maus- und Tastaturbedienung gleichermaßen angezeigt. Sie können mit Schritt 3 dieses Beitrags fortsetzen. Das Ergebnis dieses Beispiels unterscheidet gar nicht so sehr von den noch vorzustellenden Lösungen. Allerdings, so einfach die Lösung mit CSS ist, sie widerspricht den wichtigen Grundsatz, Inhalte nur mit HTML umzusetzen.
Anforderungen an die Barrierefreiheit
Ein barrierefreier Tooltip muss folgende Anforderungen erfüllen. Denken Sie insbesondere an Tastaturnutzende und Nutzende von Assistenztechnologien wie Screenreader und Vergrößerungssysteme:
- Verwenden Sie korrekte Semantik (HTML und ARIA).
- Stellen Sie sicher, dass der Tooltip per Tastatur angezeigt werden kann. Stellen Sie sicher, dass der Tooltip nicht ausgeblendet wird, solange der Zeiger über dem auslösenden Element bzw. dem Tooltip schwebt oder der Fokus auf dem auslösenden Element steht.
- Stellen Sie sicher, dass alle Nutzende den Tooltip per Light Dismiss einfach schließen können.
Die letzten drei Anforderungen stammen aus Erfolgskriterium 1.4.13 der WCAG 2.2. Beachten Sie, dass neben diesen drei Aspekten noch weitere Anforderungen für barrierefreie Tooltips erfüllt sein müssen. Beispielsweise müssen Tooltips auch Kontrastanforderungen erfüllen oder sich an die Textgröße anpassen.
Wir werden uns Schritt für Schritt an eine gute Umsetzung eines Tooltips herantasten. Wir werden mit zwei Beispielen arbeiten: einen Link und ein Eingabefeld.
Der Beitrag "Schritt für Schritt zu barrierefreien Tooltips" besteht aus folgenden einzelnen Webseiten:
- HTML und ARIA (1/3)
Beim Erstellen eines autorendefinierten Tooltips sollten Sie zuerst sicherstellen, dass der HTML-Code von einem Screenreader verstanden wird.
- Tooltip geräteunabhängig ein- und ausblenden (2/3)
Tooltips müssen geräteunabhängig nutzbar sein. Stellen Sie insbesondere sicher, dass der Hover-Zustand auf den Tooltip ausgeweitet wird, damit Nutzende den Mauszeiger über den Tooltip bewegen können, ohne dass der Tooltip verschwindet.
- Light Dismiss für die Tastatur (3/3)
Stellen Sie sicher, dass ein autorendefinierter Tooltip per Tastatur per Light Dismiss einfach ausgeblendet werden kann.
Der folgende Begriff auf dieser Seite wird im Glossar definiert:Beschriftung
Blättern zur nächsten oder vorherigen Seite
- Beim Erstellen eines autorendefinierten Tooltips sollten Sie zuerst sicherstellen, dass der HTML-Code von einem Screenreader verstanden wird. HTML und ARIA (1/3)
- Um einen Zwischenzustand zwischen "aktiviert" und "nicht aktiviert" für Kontrollfelder semantisch auszuzeichnen, kann mit role="checkbox" und aria-checked gearbeitet werden. Das aria-checked-Attribut