Popover in HTML

Ein Hinweis, der auch angesagt wird

Auslöser und Inhalt: zwei Stellen am nativen Popover.

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

Natives HTML, sichtbar erklärt

Ein Popover ist eine Verbindung, kein schwebender Kasten

Ein Name, eine ID und die richtige Zustandsart reichen für die Browsermechanik. Die Grafik zeigt, was dabei im Dokument, in der obersten Ebene und im Fokuspfad passiert.

DokumentOberste EbeneFokuspfad

Dokumentebene

VersandStandard · 2–3 Werktage
Container mit overflow: hidden

Oberste Ebene

id="versand-hinweis"Versandart

Standardversand erreicht Sie in 2 bis 3 Werktagen.

Zu den VersandkostenSchließen
Verbindung zwischen Auslöser und Popover Eine Linie verbindet den benannten Fragezeichen-Auslöser mit der gleichen ID am Popover. Ein zweiter Pfad führt vom Auslöser zu Link und Schließen-Schalter.
1 · ID-Verbindungpopovertarget zeigt auf id.
2 · FokusreihenfolgeNach dem Auslöser folgen die Elemente im geöffneten Popover.
3 · Nicht abgeschnittenDie oberste Ebene liegt außerhalb des Überlauf-Ausschnitts.

HTML · vollständig

ohne JavaScript
<button type="button"
  popovertarget="versand-hinweis"
  aria-label="Hinweis zur Versandart">
  <span aria-hidden="true">?</span>
</button>

<aside id="versand-hinweis"
  popover="auto"
  aria-labelledby="versand-titel">
  <h2 id="versand-titel">Versandart</h2>
  <p>Standardversand erreicht Sie in
    2 bis 3 Werktagen.</p>
  <a href="/versand/">
    Zu den Versandkosten
  </a>
  <button type="button"
    popovertarget="versand-hinweis"
    popovertargetaction="hide">
    Schließen
  </button>
</aside>

Das sichtbare Fragezeichen erklärt seinen Zweck nicht. Deshalb benennt aria-label den Auslöser; das dekorative Zeichen bleibt verborgen. Das benannte aside gibt dem ergänzenden Inhalt eine passende Struktur.

CSS · mit sicherem Rückfall

Anchor Positioning
#versand-hinweis {
  margin: 0;
  padding: 1rem 1.25rem;
  max-inline-size: 24rem;
  border: 2px solid currentColor;
  background: Canvas;
  color: CanvasText;
  position-area: block-end span-inline-end;
}

#versand-hinweis::backdrop {
  background: transparent;
}

button:focus-visible,
#versand-hinweis a:focus-visible {
  outline: 3px solid currentColor;
  outline-offset: 3px;
}

popovertarget stellt auch die implizite CSS-Ankerbeziehung her. Unterstützt ein Browser position-area, liegt der Hinweis am Auslöser. Andernfalls greift die bedienbare, zentrierte Standardposition des Browsers.

Der Browser übernimmt

Zustand und Weg

  • Ein- und Ausblenden in der obersten Ebene
  • implizite Beziehungen für aria-details und aria-expanded
  • Light Dismiss und Escape bei auto
  • Einordnung des Popovers in die Tab-Reihenfolge

Sie entscheiden

Bedeutung und Fokus

  • einen verständlichen Namen für den Auslöser
  • semantische Elemente und sinnvolle Lesereihenfolge
  • sichtbare Fokusmarkierungen und einen Schließen-Schalter
  • autofocus nur, wenn der Inhalt sofort Fokus braucht

Prüfprotokoll

So prüfen Sie es

  1. Tab

    Der Fokus erreicht den Fragezeichen-Auslöser. Das Vorleseprogramm nennt „Hinweis zur Versandart“.

  2. Enter

    Das Popover erscheint. Im Accessibility-Baum steht am Auslöser der geöffnete Zustand; im Quelltext brauchen Sie kein eigenes aria-expanded.

  3. Tab

    Der nächste Fokus liegt auf „Zu den Versandkosten“, danach auf „Schließen“. Beide Fokusmarkierungen sind sichtbar.

  4. Escape

    Das Popover verschwindet und der Fokus kehrt zum Auslöser zurück. Prüfen Sie zusätzlich das Schließen per Klick außerhalb und über den Schließen-Schalter.

Technische Quellen

Die Details zu Zustand, Fokus, Semantik und Positionierung stammen aus den aktuellen Plattformbeschreibungen.

Aus dem Prüfbericht

Zwei Stellen, zwei Befunde

Zum Mitnehmen

Das Popover, korrigiert

Ein aria-label am Auslöser, ein Attribut weniger am Inhalt.

Korrektur in 2 Schritten ansehen
  1. Dem Auslöser einen Namen geben

    Das Symbol bleibt sichtbar und für Vorleseprogramme ausgeblendet. aria-label liefert das Wort, das vorgelesen wird.

    KorrekturvergleichSchritt 1 · HTML

    Vorher

    <button popovertarget="hinweis">
      <span aria-hidden="true">?</span>
    </button>

    Nachher

    <button popovertarget="hinweis" aria-label="Hinweis zur Versandart">
      <span aria-hidden="true">?</span>
    </button>

    Markierte Zeilen wurden geändert

    So prüfen Sie es Fahren Sie mit der Tab-Taste auf das Fragezeichen. Ein Vorleseprogramm sagt „Hinweis zur Versandart, Schaltfläche“.

  2. aria-hidden am Popover entfernen

    Der Browser blendet ein geschlossenes Popover selbst aus. Bleibt aria-hidden stehen, erreicht die Tab-Taste Links, die nicht vorgelesen werden.

    KorrekturvergleichSchritt 2 · HTML

    Vorher

    <div id="hinweis" popover aria-hidden="true">
      <p>Versand in 2 bis 3 Werktagen.</p>
      <a href="/versand/">Zu den Versandkosten</a>
    </div>

    Nachher

    <div id="hinweis" popover>
      <p>Versand in 2 bis 3 Werktagen.</p>
      <a href="/versand/">Zu den Versandkosten</a>
    </div>

    Markierte Zeilen wurden geändert

    So prüfen Sie es Öffnen Sie das Popover und drücken Sie Tab. Das Vorleseprogramm nennt den Link, den der Fokus erreicht.

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.