0Pricing
HTML Academy · Lektion

aria-label aria-labelledby und aria-describedby

Stellen Sie zugängliche Namen und Beschreibungen für Elemente bereit

aria-label aria-labelledby und aria-describedby ist eine kostenlose HTML Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des HTML Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der HTML Academy-Kurs umfasst insgesamt 4 Lektionen.

Warum zugängliche Namen wichtig sind

Jedes interaktive Element benötigt einen zugänglichen Namen — eine Textzeichenfolge, anhand derer assistive Technologien das Element identifizieren. Ohne zugänglichen Namen können Screenreader den Nutzern nicht mitteilen, welche Funktion ein Button oder Eingabefeld hat.

aria-label

aria-label stellt direkt am Element einen zugänglichen Namen als Text bereit:

<button aria-label="Close dialog">×</button>
<!-- The × character has no accessible meaning
     aria-label provides the name: 'Close dialog, button' -->

<input type="search" aria-label="Search products">
<!-- No visible label — aria-label provides the accessible name -->

aria-labelledby

aria-labelledby verweist auf ein anderes Element, das als zugänglicher Name dient:

<h2 id="section-title">Billing Information</h2>
<form aria-labelledby="section-title">
  <!-- Form's accessible name is 'Billing Information' -->
</form>

<!-- Multiple id references: -->
<button aria-labelledby="action-verb object-name">
  Delete
</button>
<span id="object-name" hidden>User Account</span>
<!-- Screen reader: 'Delete User Account, button' -->

aria-describedby

aria-describedby stellt eine ausführliche Beschreibung bereit (als Ergänzung zum Namen):

<label for="pwd">Password</label>
<input
  type="password"
  id="pwd"
  aria-describedby="pwd-hint"
>
<p id="pwd-hint">Must be 8+ characters with one uppercase letter and one number.</p>
<!-- Screen reader: 'Password [input]' then reads the description on focus -->

Beschriftung im Vergleich zur Beschreibung

Der Unterschied zwischen zugänglichem Namen und Beschreibung:

  • Zugänglicher Name — identifiziert das Element (aria-label, aria-labelledby oder label-Element)
  • Beschreibung — ergänzt den Namen um zusätzlichen Kontext (aria-describedby)
  • Screenreader geben Folgendes aus: Name, Rolle, Zustand → danach die Beschreibung

aria-label für Landmarken

Verwenden Sie aria-label, um mehrere Landmarken desselben Typs zu unterscheiden:

<nav aria-label="Primary">...</nav>
<nav aria-label="Breadcrumb">...</nav>

<!-- Screen reader landmark list:
     'Primary, navigation'
     'Breadcrumb, navigation' -->

<!-- When only one nav, aria-label is optional but still helpful -->

aria-labelledby für Abschnitte

Verknüpfen Sie Abschnitte mit ihren Überschriften, damit Screenreader den Kontext erkennen:

<section aria-labelledby="about-heading">
  <h2 id="about-heading">About Our Team</h2>
  <p>We are a team of passionate developers...</p>
</section>
<!-- Screen reader: 'About Our Team, region' when entering section -->

aria-label im Vergleich zu sichtbarem Text

aria-label überschreibt sichtbaren Text — gehen Sie vorsichtig damit um:

<button aria-label="Delete account permanently">
  Delete
</button>
<!-- Screen reader hears: 'Delete account permanently'
     Sighted user reads: 'Delete' -->

<!-- Best practice: visible text and aria-label should agree
     If possible, include extra context in visible text too:
     <button>Delete account permanently</button> -->

<!-- aria-label should start with the visible text when possible
     for speech recognition users who use voice commands -->

aria-describedby für Fehlermeldungen

Verknüpfen Sie Fehlermeldungen mit den zugehörigen Eingabefeldern:

<label for="email">Email</label>
<input
  type="email"
  id="email"
  aria-describedby="email-error"
  aria-invalid="true"
>
<span id="email-error" role="alert">
  Please enter a valid email address.
</span>
<!-- When input receives focus, screen reader reads:
     'Email [field], invalid. Please enter a valid email address.' -->

Mehrere Verweise mit aria-describedby

aria-describedby kann auf mehrere Elemente verweisen:

<input
  type="password"
  aria-label="New password"
  aria-describedby="pwd-hint pwd-strength"
>
<p id="pwd-hint">Must be 8+ characters.</p>
<meter id="pwd-strength" aria-label="Password strength" value="2" max="4">Medium</meter>
<!-- Both elements are announced as the description -->

Sichtbare und ausgeblendete Beschriftungen

Wenn eine sichtbare Beschriftung nicht möglich ist, verwenden Sie die Klasse sr-only:

<label for="search" class="sr-only">Search</label>
<input type="search" id="search" placeholder="Search...">

/* Visually hidden but in accessibility tree: */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

Schnelltest

Was ist der Unterschied zwischen aria-label und aria-labelledby?

Zusammenfassung: ARIA-Beschriftungen

Wichtige Grundlagen zur Benennung zugänglicher Elemente:

  • aria-label — direkter Textname für Elemente ohne sichtbare Beschriftung
  • aria-labelledby — verweist anhand der ID auf vorhandenen sichtbaren Text
  • aria-describedby — ergänzende Beschreibung (wird nach dem Namen vorgelesen)
  • Bevorzugen Sie sichtbare Beschriftungen und native HTML-label-Elemente
  • aria-label an Landmarken unterscheidet mehrere Bereiche desselben Typs

Häufig gestellte Fragen

Ist die Lektion „aria-label aria-labelledby und aria-describedby“ kostenlos?

Ja — der vollständige Text von „aria-label aria-labelledby und aria-describedby“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des HTML Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der HTML Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „aria-label aria-labelledby und aria-describedby“?

Stellen Sie zugängliche Namen und Beschreibungen für Elemente bereit Du übst HTML Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um HTML Academy zu starten?

Keine Vorkenntnisse erforderlich. HTML Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.

Wie lange dauert die Lektion „aria-label aria-labelledby und aria-describedby“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser HTML Academy-Lektion Code schreiben und ausführen?

Ja. Jede HTML Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Wann ARIA und wann natives HTML verwenden
  2. role button alert dialog und landmark
  3. aria-label aria-labelledby und aria-describedby
  4. aria-hidden und aria-live
← Zurück zu HTML Academy