HTML Academy · Lektion

aria-hidden und aria-live

Blenden Sie dekorative Elemente aus und lassen Sie dynamische Inhalte von Screenreadern ausgeben

Lektion 4 von 412 Schritte

aria-hidden und aria-live ist eine kostenlose HTML Academy-Lektion auf CoddyKit. Dies ist Lektion 4 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.

aria-hidden

aria-hidden="true" entfernt ein Element aus dem Accessibility Tree – Screenreader überspringen es vollständig:

<!-- Decorative icon: visible but skip by screen readers -->
<span aria-hidden="true">★★★★☆</span>
<span class="sr-only">4 out of 5 stars</span>

<!-- Decorative separator -->
<img src="divider.svg" alt="" aria-hidden="true">

<!-- Note: aria-hidden does NOT affect visibility or tab focus
     A button with aria-hidden is still tabbable! -->

Einsatzbereiche von aria-hidden

Geeignete Einsatzbereiche für aria-hidden:

<!-- 1. Icons next to descriptive text -->
<button>
  <svg aria-hidden="true"><!-- icon --></svg>
  Save Document
</button>

<!-- 2. Repeated text in a card link -->
<a href="/blog/post-1">
  <span aria-hidden="true">Read more</span>
  <span class="sr-only">Read more: HTML5 Forms Guide</span>
</a>

<!-- 3. UI decoration (dots, decorative borders) -->
<span aria-hidden="true">•••</span>

Fallstrick bei aria-hidden

Wenden Sie aria-hidden niemals auf fokussierbare Elemente an:

<!-- BAD: button is in tab order but invisible to screen readers -->
<button aria-hidden="true">Close</button>

<!-- Users reach this via Tab but hear nothing
     They cannot tell if they're on a button or lost focus -->

<!-- If you want to hide from both: use hidden attribute -->
<button hidden>Close</button>

<!-- Or: disabled (but disabled removes from tab order) -->
<button disabled aria-hidden="true">Close</button>

aria-live

aria-live macht einen Bereich zu einer Live-Region – Änderungen werden automatisch angesagt:

<!-- polite: announce when user is idle -->
<div aria-live="polite" id="status"></div>

<!-- assertive: announce immediately, interrupting current speech -->
<div aria-live="assertive" id="errors"></div>

<script>
// Inject text to trigger announcement:
document.getElementById('status').textContent = 'File saved successfully.';
// Screen reader announces this without user moving focus
</script>

aria-live-Werte

Die drei aria-live-Werte:

  • off – Standard: Änderungen werden nicht angesagt
  • polite – wird angesagt, wenn Sie pausieren; für nicht dringende Aktualisierungen
  • assertive – wird sofort angesagt und unterbricht die aktuelle Ausgabe; für Fehler und wichtige Warnungen

aria-atomic

aria-atomic legt fest, ob die gesamte Region oder nur die geänderten Teile angesagt werden:

<div aria-live="polite" aria-atomic="true" id="timer">
  Time remaining: 05:00
</div>
<!-- aria-atomic="true": announce the whole div each update -->
<!-- Without it: only the changed text node is announced
     'Time remaining: 05:00' vs just '05:00' -->

<script>
setInterval(() => {
  document.getElementById('timer').textContent = `Time remaining: ${getTime()}`;
}, 1000);
</script>

aria-relevant

aria-relevant legt fest, welche Arten von Änderungen angesagt werden:

<div
  aria-live="polite"
  aria-relevant="additions text"   <!-- announce added content and text changes -->
  id="feed"
>
  <!-- New items added here -->
</div>
<!-- Values: additions, removals, text, all
     Default: additions text
     aria-relevant="removals" needed to announce deleted items -->

Bewährte Vorgehensweisen für Live-Regionen

Richtlinien für Live-Regionen:

  • Verwenden Sie pro Art der Ansage eine dauerhaft vorhandene Live-Region (nicht erstellen und wieder entfernen)
  • Beginnen Sie mit leerem Inhalt und fügen Sie Text ein, um eine Ansage auszulösen
  • Halten Sie Ansagen kurz – Screenreader unterbrechen die Ausgabe oder kommen sonst nicht hinterher
  • Für Ladestatus: Verwenden Sie polite
  • Für Formularfehler: Verwenden Sie assertive oder role="alert"

Muster für Toast-Benachrichtigungen

Toast-Benachrichtigungen mit Live-Regionen ansagen:

<div
  role="status"
  aria-live="polite"
  aria-atomic="true"
  id="toast-container"
  class="sr-only"
></div>

<script>
function showToast(message) {
  const container = document.getElementById('toast-container');
  container.textContent = '';
  // Force rerender for re-announcement:
  requestAnimationFrame(() => {
    container.textContent = message;
  });
}
</script>

aria-busy

aria-busy="true" gibt an, dass der Inhalt aktualisiert wird:

<div id="feed" aria-live="polite" aria-busy="false">
  <!-- content -->
</div>

<script>
const feed = document.getElementById('feed');
feed.setAttribute('aria-busy', 'true');

await loadContent();
feed.innerHTML = newContent;

feed.setAttribute('aria-busy', 'false');
// Only now does the live region announce the update
</script>

Kurztest

Wann sollten Sie aria-live="assertive" statt "polite" verwenden?

Zusammenfassung: aria-hidden und aria-live

Die wichtigsten Punkte zu ausgeblendeten Inhalten und Live-Regionen:

  • aria-hidden="true" – entfernt das Element aus dem Accessibility Tree (nicht auf fokussierbare Elemente anwenden!)
  • aria-live="polite" – sagt Änderungen an, wenn Sie gerade nichts tun
  • aria-live="assertive" – sagt Änderungen sofort an (für Fehler)
  • aria-atomic="true" – sagt bei einer Änderung die gesamte Region an
  • aria-busy – unterdrückt Ansagen während des Ladens
Kostenlos starten

Lerne HTML mit einem KI-Tutor — kostenlos

Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.

Kurse
40
Lektionen
159

Häufig gestellte Fragen

Ist die Lektion „aria-hidden und aria-live“ kostenlos?

Ja — der vollständige Text von „aria-hidden und aria-live“ 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-hidden und aria-live“?

Blenden Sie dekorative Elemente aus und lassen Sie dynamische Inhalte von Screenreadern ausgeben 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 4 von 4.

Wie lange dauert die Lektion „aria-hidden und aria-live“?

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