Die Popover API
Erstellen Sie Tooltips und Dialoge mit dem nativen popover-Attribut
Die Popover API ist eine kostenlose HTML Academy-Lektion auf CoddyKit. Dies ist Lektion 2 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.
Was die Popover API leistet
Die Popover API bietet HTML eine native Möglichkeit, Popovers, Dialoge, Tooltips und Menüs zu erstellen – ohne manuelles JavaScript für Positionierung, Fokusverwaltung, Light-Dismiss oder das Schließen per Escape. Das integrierte Verhalten entspricht den Erwartungen der Benutzer.
Das Attribut popover
Fügen Sie einem beliebigen Element popover hinzu, um es zu einem Popover zu machen. Standardmäßig ist es verborgen. Ein Auslöser-Button mit popovertarget="popover-id" zeigt es beim Klicken an. Der Browser verwaltet den geöffneten bzw. geschlossenen Zustand automatisch.
<button popovertarget="info">Show details</button>
<div id="info" popover>
<p>Here is some popover content.</p>
</div>Popover-Modi
popover="auto" (Standard) – wird bei einem Klick außerhalb oder bei Escape durch Light-Dismiss geschlossen; gleichzeitig kann nur ein automatisches Popover geöffnet sein. popover="manual" – wird nicht automatisch geschlossen, sondern muss ausdrücklich über JS oder einen anderen Auslöser geschlossen werden.
Auslöser-Buttons
Das Attribut popovertarget verknüpft einen Button anhand der ID mit einem Popover. Der Browser übernimmt das Umschaltverhalten: Klicken Sie auf den Button, um das Popover anzuzeigen, und erneut oder außerhalb, um es zu schließen. Für die grundlegende Verwendung sind keine Event-Handler erforderlich.
Rendering in der Top Layer
Popovers werden in der Top Layer gerendert – oberhalb aller anderen Inhalte, unabhängig von z-index oder dem Stacking Context. Dadurch entfällt der klassische Fehler, dass ein Modal hinter einem übergeordneten Element mit overflow:hidden verborgen bleibt und der bei selbst implementierten Popovers häufig auftritt.
Programmgesteuertes Anzeigen und Ausblenden
JavaScript kann Popovers anzeigen oder ausblenden: element.showPopover(), element.hidePopover(), element.togglePopover(). Die Semantik entspricht der des deklarativen Auslösers – Light-Dismiss funktioniert im auto-Modus weiterhin.
Das toggle-Event
Popovers lösen ein toggle-Event aus, wenn sich ihr Zustand ändert. Der Wert newState des Events ist "open" oder "closed". Das ist nützlich für Analytics, Fokusverwaltung oder um andere UI-Elemente mit dem geöffneten Zustand des Popovers zu koordinieren.
popoverEl.addEventListener("toggle", (e) => {
console.log("Popover is now", e.newState);
});CSS-Pseudoklasse
Die Pseudoklasse :popover-open trifft auf Popovers in geöffnetem Zustand zu. Verwenden Sie diesen Zustand für Styles von Übergängen, Transparenz und Transformationen: [popover]:popover-open { opacity: 1; transform: none; }.
Anchor Positioning
In Kombination mit der CSS Anchor Positioning API können Popovers automatisch relativ zu ihrem Auslöser positioniert werden – für das klassische Muster „Tooltip neben dem Button“ ist kein JavaScript erforderlich. Beide Funktionen gehören zur selben Entwicklung moderner UI-Primitiven.
Barrierefreiheit
Der Browser übernimmt bei modalen Popovers die Fokuseinschränkung, stellt beim Schließen den Fokus auf dem Auslöser wieder her und teilt Screenreadern den geöffneten Zustand des Popovers mit. Eine manuelle Umsetzung erfordert umfangreiches ARIA-Boilerplate; die Popover API liefert dies ohne zusätzlichen Aufwand.
Browserunterstützung
Chrome und Safari unterstützen die Popover API; Firefox hat die Unterstützung später hinzugefügt. Für eine breitere Kompatibilität gibt es einen kleinen Polyfill. Neue Projekte können die native Funktion ausliefern und ältere Browser schrittweise erweitern.
Alte Muster ersetzen
Viele JS-Modal-Bibliotheken (sweetalert, react-modal) existieren hauptsächlich, um zu umgehen, was die Popover API inzwischen nativ leistet. Planen Sie die Migration: kleinere Bundles, bessere Standardeinstellungen und weniger zu wartender Code. Die Popover API ist eine der größten Verbesserungen an HTML seit Jahren.
Wissenscheck
Was bewirkt popover="auto", das popover="manual" nicht bewirkt?
Zusammenfassung
Die Popover API ergänzt HTML um das Attribut popover sowie showPopover/hidePopover/togglePopover in JS, die Verknüpfung von Auslösern über popovertarget, das Rendering in der Top Layer oberhalb aller Stacking Contexts, die Pseudoklasse :popover-open und toggle-Events. Der auto-Modus wird per Light-Dismiss geschlossen; der manual-Modus muss ausdrücklich gesteuert werden. Damit ersetzt die API die meisten eigenen Modal- und Tooltip-Bibliotheken durch ein einziges HTML-Primitive, das Barrierefreiheit, Fokus und z-index korrekt handhabt.
Häufig gestellte Fragen
Ist die Lektion „Die Popover API“ kostenlos?
Ja — der vollständige Text von „Die Popover API“ 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 „Die Popover API“?
Erstellen Sie Tooltips und Dialoge mit dem nativen popover-Attribut 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 2 von 4.
Wie lange dauert die Lektion „Die Popover API“?
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
- Deklaratives Shadow DOM
- Die Popover API
- Das selectlist-Element
- Interest Invokers und das command-Attribut