Bedienung & Interaktion · Beschriftung

Beschriftung im Namen: Warum sichtbares Label und zugänglicher Name zusammengehören

Jedes Steuerelement hat zwei Beschriftungen: das sichtbare Label, das alle lesen, und den zugänglichen Namen, den Software ausliest. Wer per Sprache steuert, sagt „Klick Senden" und trifft den Button nur, wenn beide übereinstimmen. Das Erfolgskriterium 2.5.3 „Beschriftung im Namen"(englisch „Label in Name", Stufe A) verlangt genau das: Der zugängliche Name muss den sichtbaren Text enthalten. Diese Seite zeigt, warum das so wichtig ist und wo der häufigste Fehler steckt.

  • 9 Minuten Lesezeit
  • Stand: Juni 2026

Label und Name: zwei Dinge, ein Steuerelement

Auf dem Bildschirm siehst du bei einem Button das Wort „Senden". Das ist das sichtbare Label. Daneben trägt derselbe Button einen zugänglichen Namen(englisch accessible name ), den Hilfstechnologien auslesen. In den meisten Fällen sind beide gleich, sie müssen es aber nicht sein, und genau da entsteht das Problem.

Wer eine Spracherkennung nutzt, navigiert über das, was sichtbar ist. Der Befehl lautet „Klick Senden". Die Software vergleicht das gesprochene Wort mit dem zugänglichen Namen des Buttons. Stimmt der Name nicht mit dem sichtbaren Label überein, schlägt der Befehl fehl, obwohl die Person genau das gesagt hat, was auf dem Button steht. Auch Screenreader-Nutzer:innen profitieren: Was sie hören, sollte zu dem passen, was daneben sitzende Sehende vorlesen.

Sprachbefehl trifft nur bei übereinstimmendem Namen Schaubild mit zwei Buttons. Beide zeigen sichtbar das Label „Senden". Beim oberen Button ist der zugängliche Name ebenfalls „Senden": Der Sprachbefehl „Klick Senden" trifft, gekennzeichnet mit einem Haken. Beim unteren Button lautet der zugängliche Name „Formular absenden": Der Sprachbefehl „Klick Senden" verfehlt ihn, gekennzeichnet mit einem Kreuz. Derselbe Sprachbefehl, zwei Ergebnisse Befehl: „Klick Senden" Senden sichtbares Label: „Senden" Name: „Senden" trifft Senden sichtbares Label: „Senden" Name: „Formular absenden" verfehlt
Schaubild: Beide Buttons zeigen „Senden". Nur beim oberen stimmt der zugängliche Name mit dem Label überein, also trifft der Sprachbefehl. Beim unteren weicht der Name ab, der Befehl scheitert.

Was das Kriterium verlangt

Der Wortlaut ist kompakt: Bei Steuerelementen mit einer Beschriftung, die Text oder Bilder von Text enthält, muss der Name den visuell dargestellten Text enthalten. „Enthalten" heißt: Der sichtbare Text muss im zugänglichen Namen vorkommen, am besten wortgleich und in derselben Reihenfolge. Als beste Praxis empfiehlt das W3C, dass der zugängliche Name mit dem sichtbaren Label beginnt.

Ein Sonderfall ist wichtig: Fehlt einem Steuerelement der zugängliche Name komplett, obwohl ein sichtbares Textlabel da ist, verstößt es gleichzeitig gegen 2.5.3 und gegen 4.1.2 „Name, Rolle, Wert". Ohne Namen gibt es nichts, das den sichtbaren Text enthalten könnte.

Wie der zugängliche Name entsteht

Der zugängliche Name wird nicht willkürlich gewählt, sondern nach der Accessible Name and Description Computation berechnet, einer eigenen W3C-Spezifikation. Sie legt fest, welche Quellen in welcher Reihenfolge zählen. Sobald eine höher priorisierte Quelle einen Namen liefert, werden die darunterliegenden ignoriert. Das ist der Grund, warum ein aria-label ein sichtbares Label verdecken kann.

Woher der Name kommt (vereinfachte Reihenfolge)
Priorität Quelle Wirkung auf 2.5.3
Hoch aria-labelledby Überschreibt alles. Verweist es auf das sichtbare Label, ist alles gut, sonst riskant.
Hoch aria-label Überschreibt das sichtbare Label. Hauptursache für Abweichungen, mit Vorsicht einsetzen.
Mittel Verknüpftes <label> oder Button-Text Der Normalfall. Sichtbarer Text wird automatisch zum Namen, Label und Name stimmen überein.
Niedrig title , Platzhalter Nur als Notnagel. Platzhalter ersetzt kein echtes Label.

Ein Detail mit großer Wirkung: aria-describedby fließt nicht in den Namen ein, sondern in die Beschreibung. Kontext wie Hilfetexte, Überschriften oder Gruppen-Beschriftungen gehören also in die Beschreibung, nicht in den Namen. So bekommen Screenreader-Nutzer:innen die Zusatzinfo, ohne dass der Name für Sprachnutzer:innen unbrauchbar wird.

Die häufigste Falle: aria-label

Der mit Abstand häufigste Verstoß, dokumentiert als Fehler F96, entsteht aus guter Absicht: Ein Team will den Namen „aussagekräftiger" machen und hängt ein aria-label an, das vom sichtbaren Text abweicht. Damit ist das sichtbare Label für die Sprachsteuerung verschwunden.

buttons.html · Verstoß und Korrektur

 <!-- ✕ Verstoß (F96): Name enthält das Label „Senden" nicht --> 
<button aria-label="Formular absenden">Senden</button> <!-- ✓ Ideal: kein aria-label nötig, Text ist der Name --> 
<button>Senden</button> <!-- ✓ Erlaubt: Name beginnt mit dem sichtbaren Label --> 
<button aria-label="Senden und zur Übersicht">Senden</button>

Die offiziellen ausreichenden Techniken des W3C heißen G208(den Text des sichtbaren Labels in den Namen aufnehmen) und G211(den Namen an das sichtbare Label angleichen). Beide laufen auf dieselbe Faustregel hinaus: Wenn ein sichtbares Label existiert, lass den nativen Mechanismus arbeiten und übersteuere ihn nur dann mit ARIA, wenn du den sichtbaren Text vollständig übernimmst.

Sonderfälle: Symbole, Satzzeichen, Klammern

Nicht jeder sichtbare Buchstabe ist ein Label im Sinn dieses Kriteriums. Entscheidend ist, ob der Text etwas in menschlicher Sprache ausdrückt. Die wichtigsten Sonderfälle:

Sonderfälle und wie der Name damit umgeht
Fall Sichtbar Sinnvoller Name
Symbolische Zeichen Icons mit „B", „I" für Fett und Kursiv Die Funktion benennen, etwa „Fett" oder „Kursiv", nicht den Buchstaben.
Satzzeichen und Großschreibung „Vorname:" oder „Weiter…" „Vorname" beziehungsweise „Weiter" genügen. Doppelpunkt und Auslassungspunkte sind optional.
Text in Klammern „Name (erforderlich)" „Name" reicht als Name. Den Pflicht-Status aber separat programmatisch ausgeben (1.3.1).
Mathematische Ausdrücke „11×3=33" oder „A>B" Wortgleich übernehmen. Hier tragen die Symbole Bedeutung, nicht ausschreiben.

Ein Mythos

Mythos

„Ein aria-label macht einen Button immer barrierefreier."

Oft das Gegenteil. Ein aria-label überschreibt den sichtbaren Text als zugänglichen Namen. Weicht es vom Label ab, können Sprachnutzer:innen den Button nicht mehr per sichtbarem Text ansprechen, und Screenreader-Nutzer:innen hören etwas anderes, als daneben steht. Bei vorhandenem sichtbaren Label ist der beste Name meist gar kein zusätzliches ARIA: Der sichtbare Text wird automatisch zum Namen. ARIA-Namen sind ein Werkzeug für Sonderfälle, kein Standard-Reflex.

Auf einen Blick

So prüfst du ein Steuerelement schnell gegen 2.5.3:

Den Namen liest du am einfachsten mit dem Accessibility-Inspector des Browsers oder eines Screenreaders aus. Den genauen Berechnungsweg beschreibt die Accessible-Name-Spezifikation des W3C.