Accessible Accordion

Drei Fragen, sechs Tab-Stopps

Schaltfläche, Zustand, verborgener Bereich: drei Stellen, an denen Akkordeons scheitern.

Website prüfen
Beispiel im Prüfbericht Markierter Befund
Markierter Befund · Kritisch · WCAG 4.1.2Tauschen-Button ohne Namen

Zustand sichtbar machen

Ein Akkordeon muss dasselbe zeigen, sagen und fokussieren

Die Kopfzeile, der ARIA-Zustand und der Tab-Weg wechseln immer gemeinsam.

Konzeptdarstellung · dieselbe FrageZwei Zustände, drei sichtbare Folgen
geschlossenaria-expanded="false"
Rückgabe
hiddenKein Inhalt. Kein Tab-Stopp.
  1. 1 Die ganze Frage ist der Button-Name.
  2. 2 Der Zustand wird als „reduziert“ ausgegeben.
  3. 3 Der Link im Panel ist nicht erreichbar.
EnteroderLeertasteWechsel zwischen geschlossen und offen Eine Linie mit Pfeilspitzen in beide Richtungen verbindet die zwei Zustände.
offenaria-expanded="true"
Rückgabe

Sie haben 30 Tage Zeit.

Rücksendeschein anfordern
  1. 1 Der Fokus bleibt beim Öffnen auf der Frage.
  2. 2 Der Zustand wird als „erweitert“ ausgegeben.
  3. 3 Erst jetzt kommt der Link in den Tab-Weg.
Zwei IDs halten Kopf und Panel zusammen
Überschrift<h3><button>Rückgabeid="frage-rueckgabe"
aria-controls="antwort-rueckgabe"steuert
benannt durcharia-labelledby="frage-rueckgabe"
Inhaltsbereich<div role="region">Sie haben 30 Tage Zeit.id="antwort-rueckgabe"

role="region" und aria-labelledby sind optional. Sie helfen bei wenigen, gehaltvollen Panels; bei vielen kurzen Fragen erzeugen sie zu viele Landmarken.

Diese zwei Zeilen sind eine Transaktion

const offen =
  kopf.getAttribute('aria-expanded') === 'true';

kopf.setAttribute(
  'aria-expanded', String(!offen));
bereich.hidden = offen;

Visueller Inhalt und programmatischer Zustand dürfen nicht auseinanderlaufen. Der native button liefert Enter und Leertaste bereits mit.

Der Zustand entscheidet über den nächsten Tab-Stopp
Panel geschlossen
TabRückgabe
Button
TabRechnung
nächster Button
Panel geöffnet
EnterRückgabe
Fokus bleibt
TabRücksendeschein
Link im Panel

Pfeil auf und Pfeil ab zwischen den Kopfzeilen sind laut APG optional. Wenn Sie sie anbieten, müssen sie den Fokus zuverlässig verschieben; Tab bleibt der vollständige Grundweg.

Abnahme in vier Blicken

  • Sehen: Pfeil, Inhalt und Fokusrahmen zeigen den Zustand.
  • Hören: Name, „reduziert“ oder „erweitert“ werden angesagt.
  • Tasten: Enter und Leertaste schalten, Tab folgt dem sichtbaren Inhalt.
  • DOM:aria-expanded und hidden wechseln gemeinsam.

Aus dem Prüfbericht

Drei Stellen, drei Befunde

Zum Mitnehmen

Das Akkordeon, korrigiert

Drei Änderungen an einer Kopfzeile. Das Aussehen bleibt.

Korrektur in 2 Schritten ansehen
  1. Die ganze Kopfzeile zur Schaltfläche machen

    Der Fragetext im Button wird zu seinem Namen. Der Pfeil bleibt als verborgenes Symbol.

    KorrekturvergleichSchritt 1 · HTML

    Vorher

    <h3>
      Versandkosten
      <button type="button" aria-expanded="offen">
        <svg aria-hidden="true"><use href="#chevron"></use></svg>
      </button>
    </h3>

    Nachher

    <h3>
      <button type="button" aria-expanded="false" aria-controls="panel-versand">
        Versandkosten
        <svg aria-hidden="true"><use href="#chevron"></use></svg>
      </button>
    </h3>

    Markierte Zeilen wurden geändert

    So prüfen Sie es Tab auf die Kopfzeile. Ein Vorleseprogramm sagt „Versandkosten, Schaltfläche, reduziert“.

  2. Geschlossene Bereiche wirklich entfernen

    hidden nimmt den Bereich aus Anzeige und Tab-Reihenfolge. aria-hidden allein lässt Links erreichbar.

    KorrekturvergleichSchritt 2 · HTML

    Vorher

    <div id="panel-versand" aria-hidden="true" style="height: 0; overflow: hidden">
      <a href="/versand">Zur Versandtabelle</a>
    </div>

    Nachher

    <div id="panel-versand" hidden>
      <a href="/versand">Zur Versandtabelle</a>
    </div>

    Markierte Zeilen wurden geändert

    So prüfen Sie es Drücken Sie Tab bei geschlossenem Bereich. Der Fokus springt direkt zur nächsten Frage.

Werbung

Kostenloser Website-Barrierefreiheits-Check

Website auf Barrierefreiheit prüfen.

Technische WCAG-Warnsignale erkennen. Kritische Stellen zuerst prüfen.

Der Website-Check ist bereit.

Werbung

Ein letzter Schritt

Prüfen, bevor Sie gehen.

Finden Sie automatisch erkennbare Barrieren auf Ihrer eigenen Website.

Website prüfen

Kostenlos starten · keine Installation

Automatisches Screening. Tastaturbedienung und Screenreader bleiben manuelle Prüfung.