Stufe
A
Seit
WCAG 2.1
Einträge
57 / 193
/ WCAG-Kriterium

2.5.3 Beschriftung (Label) im Namen

Die Wörter, die auf einer Schaltfläche oder an einem Feld stehen, müssen Teil des Namens sein, den assistive Technologie hört, damit jemand, der sie laut ausspricht, das gemeinte Bedienelement erreicht.

/ Was es verlangt

Ein Bedienelement hat zwei Namen. Der eine ist der Text, den man darauf sieht, der andere ist der zugängliche Name, den der Browser an assistive Technologie weitergibt. Das Kriterium verlangt, dass der zweite den ersten enthält, sobald ein Bedienelement eine sichtbare Beschriftung aus Text oder aus einem Bild von Text hat. Wer per Sprache arbeitet, spricht die Wörter auf dem Bildschirm aus, etwa „Suchen klicken“, und die Spracherkennung gleicht sie mit dem zugänglichen Namen ab. Lautet der Name anders, passiert nichts.

Der Name darf länger sein als die Beschriftung, solange die sichtbaren Wörter darin vorkommen, und das W3C empfiehlt, sie an den Anfang zu stellen. Groß- und Kleinschreibung sowie Satzzeichen müssen nicht übereinstimmen. Eine Schaltfläche, die nur ein Symbol zeigt, fällt nicht unter das Kriterium, weil sie keine Textbeschriftung hat, die der Name enthalten könnte. Ausnahmen nennt das Kriterium nicht. Ein Bedienelement fällt durch, wenn aria-label oder aria-labelledby den sichtbaren Text durch eine andere Formulierung ersetzt, auch durch ein gleichbedeutendes Wort.

/ Woran Seiten scheitern

  • Auf einer Schaltfläche steht „Suchen“, und im Code trägt sie aria-label="Produkte finden".
  • Ein Link „Weiterlesen“ erhält ein aria-label, das den Artikel beschreibt und das Wort „Weiterlesen“ weglässt.
  • Ein Feld ist sichtbar mit „Telefon“ beschriftet, und ein aria-label mit dem Wert „Kontaktnummer“ überschreibt diese Beschriftung.
  • Eine Schaltfläche aus einem Bild von Text zeigt „Senden“, und ihr Alternativtext lautet „Formular abschicken“.
  • Ein aria-labelledby-Attribut verweist auf versteckten Text, dessen Wortlaut vom sichtbaren Text des Bedienelements abweicht.

/ So prüfen Sie es selbst

  1. Gehen Sie die Seite durch und notieren Sie jedes Bedienelement, das Text zeigt: Schaltflächen, Links, Registerkarten und Felder mit sichtbarer Beschriftung.
  2. Suchen Sie im Quelltext der Seite nach aria-label und aria-labelledby. An diesen beiden Attributen weicht der Name am häufigsten vom sichtbaren Text ab.
  3. Untersuchen Sie jedes dieser Bedienelemente in den Entwicklerwerkzeugen des Browsers und öffnen Sie den Bereich Accessibility. Vergleichen Sie den berechneten Namen (Name) mit den Wörtern auf dem Bildschirm.
  4. Schalten Sie die Sprachsteuerung des Betriebssystems ein und sagen Sie „klicken“, gefolgt von den sichtbaren Wörtern. Ein Bedienelement, das nicht reagiert, müssen Sie sich genauer ansehen.

/ So beheben Sie es

  • Entfernen Sie das aria-label und lassen Sie den Text im Element button oder a als Namen gelten.
  • Wird ein längerer Name gebraucht, beginnen Sie ihn mit den sichtbaren Wörtern, zum Beispiel aria-label="Weiterlesen zum Jahresbericht" an einem Link, der „Weiterlesen“ zeigt.
  • Sie können den Namen auch gleich dem sichtbaren Text lassen und die Zusatzangabe über aria-describedby anhängen, das eine Beschreibung ergänzt, ohne den Namen zu ändern.
  • Bei einem Bild von Text tragen Sie in das alt-Attribut genau die Wörter ein, die im Bild zu sehen sind.
  • Benennen Sie ein Feld mit einem label-Element, das über das for-Attribut mit ihm verknüpft ist, und überschreiben Sie diese Beschriftung nicht mit aria-label.

/ Was unser Scanner prüft

Unsere Prüfung label-in-name läuft in der gerenderten Seite und erfasst per Tastatur erreichbare Bedienelemente. Stammt der zugängliche Name aus aria-label oder aria-labelledby, vergleicht sie ihn mit dem Text auf dem Bedienelement selbst, ohne Rücksicht auf Großschreibung und Satzzeichen, und meldet einen Namen, der diesen Text nicht enthält. Text in Bildern liest sie nicht, und sie vergleicht kein Feld mit einer Beschriftung daneben.

/ Wer es verletzt, nach unseren eigenen Messungen

Gemessene Stellen, die dieses Kriterium verletzen, meiste Vorkommen zuerst
StelleSektorVorkommenWert
San Franciscocity · US1928
Nürnbergcity · DE182
Szkoła Główna Handlowaeducation · PL1812
Gliwicecity · PL1713
Poznańcity · PL171
Politechnika Łódzkaeducation · PL165
Deutsche Bahntransport · DE95
Baltimorecity · US87
Elblągcity · PL720
Leipzigcity · DE626
PKP Intercitytransport · PL62
Policjagovernment · PL512
Tychycity · PL520
Warszawski Uniwersytet Medycznyeducation · PL513
Bostoncity · US46
Uniwersytet Mikołaja Kopernikaeducation · PL46
Hamburgcity · DE323
LA Metrotransport · US317
Las Vegascity · US38
Muzeum Narodowe w Warszawieculture · PL311
Warszawacity · PL320
Narodowy Instytut Dziedzictwaculture · PL26
Philadelphiacity · US28
State of Georgiagovernment · US253
Universität Heidelbergeducation · DE221
Uniwersytet Ekonomiczny w Krakowieeducation · PL215
Uniwersytet Łódzkieducation · PL29
Austincity · US120
Biblioteka Narodowaculture · PL116
Bundesagentur für Arbeitgovernment · DE116
Bundesministerium für Bildung und Forschunggovernment · DE18
Bundestaggovernment · DE117
Cook Countygovernment · US113
Denvercity · US151
Deutsche Rentenversicherunggovernment · DE15
Gdańskcity · PL12
Hannovercity · DE110
Houstoncity · US17
Indianapoliscity · US118
Komisja Nadzoru Finansowegogovernment · PL117
Library of Congressculture · US130
Ohio State Universityeducation · US16
Opolecity · PL18
Pacjent.gov.plhealth · PL19
Phoenixcity · US11
Prezydent RPgovernment · PL115
Płockcity · PL152
Robert Koch-Instituthealth · DE110
Rzecznik Praw Obywatelskichgovernment · PL142
Social Security Administrationgovernment · US1-
Stuttgartcity · DE16
Travis Countygovernment · US137
Universität Hamburgeducation · DE136
Uniwersytet Śląskieducation · PL19
Veterans Affairsgovernment · US133
Zakład Ubezpieczeń Społecznychgovernment · PL127
Zielona Góracity · PL17

Eine Seite je Stelle, automatisch im Wochenrhythmus gemessen. Behebungen seit dem letzten Durchlauf erscheinen beim nächsten, und jede Eintragsseite bietet ein Recht auf Gegendarstellung.

/ Fragen zu diesem Kriterium

Was ist der Unterschied zwischen sichtbarer Beschriftung und zugänglichem Namen?

Die Beschriftung ist das, was man auf oder neben dem Bedienelement sieht: Text oder ein Bild von Text. Der zugängliche Name ist das, was der Browser an assistive Technologie meldet, berechnet aus dem Inhalt des Elements, einem label-Element, dem Alternativtext, aria-label oder aria-labelledby. Meist sind beide gleich. Sie gehen auseinander, wenn ein ARIA-Attribut den sichtbaren Text überschreibt.

Muss der zugängliche Name genau dem sichtbaren Text entsprechen?

Nein. Der Name muss den sichtbaren Text enthalten und darf weitere Wörter hinzufügen. Das W3C rät, die sichtbaren Wörter an den Anfang zu stellen, weil manche Spracherkennung vom Anfang des Namens her abgleicht. Unterschiede bei Großschreibung und Satzzeichen zählen nicht. Ein Name, der ein sichtbares Wort durch ein Synonym ersetzt oder weglässt, erfüllt das Kriterium nicht.

Gilt das Kriterium Beschriftung im Namen auch für Schaltflächen mit Symbol?

Nur wenn das Bedienelement Text zeigt. Eine Schaltfläche, auf der nur eine Lupe zu sehen ist, hat keine sichtbare Beschriftung, der Name hat also nichts zu enthalten und das Kriterium greift nicht. Einen zugänglichen Namen braucht sie trotzdem, nach 4.1.2 Name, Rolle, Wert. Steht neben dem Symbol Text, muss dieser Text im Namen vorkommen.