Communitygithub.com

Overlay-und-Dialog-System

Entwickle ein systematisches Framework für nicht-persistente UI-Ebenen (Modale, Drawer und Popover), das Benutzerfokus, Kontext und Unterbrechungsstufen in Einklang bringt.

Was ist Overlay-und-Dialog-System?

Die Fähigkeit 'Overlay und Dialog System' bietet eine strukturierte Methodik zur Verwaltung temporärer Inhaltsebenen, die über der primären Benutzeroberfläche liegen. Sie hilft Entwicklern und Designern dabei, die richtige Art von Overlay (Modal, Drawer oder Popover) basierend auf der erforderlichen Unterbrechungsstufe auszuwählen: hohe Unterbrechung (Modal), mittlere Unterbrechung (Drawer) oder niedrige Unterbrechung (Popover). Die Fähigkeit definiert klare Workflows, Entscheidungsregeln und Validierungskriterien, um sicherzustellen, dass Overlays zugänglich, responsiv und konsistent sind. Sie unterstützt alle gängigen UI-Plattformen und betont bewährte Verfahren wie Fokusverwaltung (`inert`-Attribut), native `<dialog>`-Elemente und responsive Anpassungen (z. B. Popover zu Drawer auf Mobilgeräten).

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/coastdigitalgroup/coastai-skills/tree/HEAD/website-design/overlay-and-dialog-system

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Overlay- und Dialog-System

Zweck

Die Fähigkeit „Overlay- und Dialog-System“ bietet eine Methodik zur Verwaltung temporärer Inhaltsebenen, die über der primären Benutzeroberfläche liegen. Sie stellt sicher, dass Unterbrechungen proportional zur Aufgabe des Benutzers sind, Kontext wo möglich erhalten bleibt und die Oberfläche bei Verwendung von Modalen, Drawern oder Popovern zugänglich und reaktionsfähig bleibt.

Anwendungsfälle

  • Entwerfen eines Bestätigungsablaufs für eine destruktive Aktion (Modal).
  • Erstellen eines sekundären Arbeitsbereichs zum Bearbeiten komplexer Details, ohne den Seitenkontext zu verlieren (Drawer).
  • Implementieren kontextbezogener Hilfen oder Tooltips für bestimmte UI-Elemente (Popover).
  • Entwerfen einer mobil-spezifischen Entdeckungsebene für Filter oder Suche (Drawer).

Wann NICHT verwenden

  • Primäre Navigation: Verwenden Sie keine Overlays für die Hauptseitenstruktur; verwenden Sie stattdessen site-navigation-system.
  • Permanente Inhalte: Wenn die Informationen für den Benutzer jederzeit sichtbar sein müssen, sollten sie Teil des Basis-Seitenlayouts sein, nicht eines Overlays.
  • Komplexe mehrseitige Abläufe: Wenn eine Aufgabe mehr als 2-3 Schritte erfordert, sollten Sie eine eigene Seite in Betracht ziehen, anstatt ein Modal, um Desorientierung des Benutzers zu vermeiden.
  • Toast/Snackbar-Benachrichtigungen: Für passives, nicht-blockierendes Status-Feedback (z. B. „Gespeichert“, „In die Zwischenablage kopiert“) verwenden Sie stattdessen toast-and-snackbar-system – es behandelt Positionierung, Stapelung, Dauer und Barrierefreiheit für diese Ebene ausführlich.

Eingaben

  1. Inhaltsvolumen: Wie viele Informationen müssen angezeigt werden?
  2. Unterbrechungsstufe: Muss der Benutzer diese Aufgabe zwingend abschließen, bevor er fortfahren kann, oder ist sie optional?
  3. Auslösekontext: Woher kommt der Benutzer und was erwartet er?
  4. Plattform/Viewport: Handelt es sich um Mobilgeräte, Desktop oder ein responsives Hybrid-Design?

Ausgaben

  1. Musterauswahl: Eine klare Entscheidung zwischen Modal, Drawer oder Popover basierend auf der Unterbrechungsmatrix.
  2. Anatomie-Spezifikation: Definierte Bereiche (Kopfzeile, Inhalt, Fußzeile/Aktionen) und deren interne Hierarchie.
  3. Verhaltensspezifikation: Regeln für das Verhalten des Hintergrunds, Schließauslöser und responsive Anpassung.
  4. Barrierefreiheitsanforderungen: Fokusverwaltung und Definition der ARIA-Rollen.

Arbeitsablauf

1. Kategorisierung nach Unterbrechungsstufe

Bestimmen Sie die erforderliche „Schwere“ des Overlays:

  • Stufe 1 (Hoch): Modal. Deaktiviert den Hintergrund. Verwenden Sie es für kritische Entscheidungen oder fokussierte Aufgaben.
  • Stufe 2 (Mittel): Drawer. Gleitet von der Kante herein. Verwenden Sie es für komplexe Unteraufgaben, die vom Einsehen des übergeordneten Kontexts profitieren.
  • Stufe 3 (Niedrig): Popover. An einem bestimmten Element verankert. Verwenden Sie es für kontextbezogene Einstellungen oder Informationen.

Für passives, nicht-blockierendes Status-Feedback (Stufe 4) siehe toast-and-snackbar-system – es liegt außerhalb des Rahmens dieser Fähigkeit.

2. Definieren der internen Hierarchie (Anatomie)

Wenden Sie visual-hierarchy-system auf das Overlay an:

  • Kopfzeile: Klarer Titel und ein konsistenter „Schließen“-Mechanismus (X-Button).
  • Inhaltsbereich: Der primäre Inhaltsbereich. Bei langen Inhalten das Scrollverhalten definieren (fixierte Kopf-/Fußzeile).
  • Fußzeile: Primäre und sekundäre Aktionen, konsistent ausgerichtet (normalerweise rechtsbündig auf dem Desktop, vollbreit auf Mobilgeräten).

3. Etablieren von Höhe und Hintergrund

  • Z-Index-Strategie: Stellen Sie sicher, dass Overlays im richtigen Stapelkontext liegen. Bevorzugen Sie das native <dialog>-Element für Modale – es verwaltet seinen eigenen Top-Layer-Stapel, bietet das ::backdrop-Pseudo-Element für den Schleier und behandelt das Schließen mit der Escape-Taste nativ.
  • Hintergrund (Schleier): Verwenden Sie ihn für Modale und Drawer, um den Hintergrund abzudunkeln und die Aufmerksamkeit zu fokussieren. Definieren Sie, ob ein Klick auf den Hintergrund das Overlay schließt. Bei <dialog> gestalten Sie den Schleier über ::backdrop anstelle eines manuell gerenderten <div>-Overlays.
  • Hintergrund-Trägheit: Wenn ein Overlay geöffnet ist, muss der Rest der Seite nicht interaktiv und für assistive Technologien verborgen sein. <dialog>.showModal() erledigt dies automatisch; für benutzerdefinierte (Nicht-<dialog>) Overlays wenden Sie das inert-Attribut auf den Hintergrundinhalt an, anstatt sich allein auf aria-hidden zu verlassen.
  • Schatten: Verwenden Sie Tiefe, um die Position des Overlays über der Basisebene anzuzeigen.

4. Entwurf für responsive Anpassung

Overlays müssen sich basierend auf der Bildschirmgröße transformieren:

  • Desktop-Popover -> Mobil-Drawer: Kleine kontextbezogene Menüs werden auf Mobilgeräten oft zu unten ausgerichteten Drawern für bessere Daumenreichweite.
  • Desktop-Modal -> Mobil-Vollbild: Große Modale sollten auf kleinen Bildschirmen den gesamten Viewport einnehmen, um den Platz zu maximieren.
  • Drawer-Verhalten: Stellen Sie sicher, dass Drawer auf Mobilgeräten 90 % der Viewport-Breite nicht überschreiten.

5. Schließen- und Verlassen-Muster definieren

  • Stellen Sie mindestens drei Möglichkeiten zum Verlassen eines nicht-kritischen Overlays bereit: „Schließen“-Schaltfläche, Escape-Taste und Klicken auf den Hintergrund.
  • Für kritische (Warn-)Modale ist eine explizite Aktion erforderlich (z. B. „Abbrechen“ oder „Bestätigen“).

Entscheidungsregeln

  • Die „Modal vs. Drawer“-Regel: Wenn der Benutzer während der Arbeit auf den Hintergrundinhalt Bezug nehmen muss, verwenden Sie einen Drawer. Wenn die Aufgabe ein „Stopp-und-Korrigieren“-Moment ist, verwenden Sie ein Modal.
  • Die „Daumen“-Regel: Priorisieren Sie auf Mobilgeräten Bottom Drawers für Aktionen, um sie in der natürlichen Reichweite des Daumens zu halten.
  • Die „Zwei-Schritte“-Regel: Wenn ein Overlay mehr als zwei interne „Ansichten“ oder Schritte erfordert, gehört es wahrscheinlich auf eine eigene Seite.
  • Hintergrund-Logik: Erlauben Sie „Klicken außerhalb zum Schließen“ nur für nicht-destruktive Overlays. Niemals für Formulare, bei denen Daten verloren gehen könnten.

Einschränkungen

  • Barrierefreiheit: Muss mit der Tastatur navigierbar sein. Modale müssen den Fokus einschließen (das native <dialog>-Element erledigt dies standardmäßig, wenn es über showModal() geöffnet wird). Hintergrundinhalte müssen mit inert (oder einem Äquivalent) versehen werden, sodass Screenreader- und Tastaturfokus nicht in sie entweichen können. Verwenden Sie role="dialog" oder role="alertdialog" mit aria-modal="true" und aria-labelledby-Verweis auf den Titel, wenn Sie das native Element nicht verwenden.
  • Responsivität: Overlays dürfen niemals horizontales Scrollen verursachen. Der Inhalt im Inneren muss responsiv sein.
  • Hierarchie: Das H1/der Titel des Overlays muss das markanteste Element innerhalb des Containers sein.

Häufige Fehlermuster

  • Overlay-Suppe: Stapeln mehrerer Modale übereinander.
  • Kontextverlust: Verwendung eines Modals, das genau die Informationen verdeckt, die der Benutzer zur Erledigung der Aufgabe benötigt.
  • Das „Unsichtbare Schließen“: Verstecken des Schließen-Buttons oder zu klein machen für Touch (mind. 44x44px).
  • Scroll-Konflikte: Ermöglichen des Scrollens der Hintergrundseite, während ein Overlay geöffnet ist (führt zu Desorientierung).
  • Inkonsistente Aktionen: Vertauschen der Position von „Abbrechen“ und „Bestätigen“-Buttons in verschiedenen Overlays.

Validierungskriterien

  • Das gewählte Muster (Modal/Drawer/Popover) entspricht der Unterbrechungsstufe der Aufgabe.
  • Die interne Hierarchie ist klar mit einem deutlichen Titel und einer primären Aktion.
  • Die responsive Anpassung (z. B. Popover zu Drawer) ist für Mobilgeräte definiert.
  • Die Logik „Klicken außerhalb zum Schließen“ ist für das Datenrisiko angemessen.
  • Fokusverwaltung und Tastatur-Barrierefreiheitsanforderungen sind spezifiziert.
  • Die Höhe (Schatten/Hintergründe) unterscheidet die Ebene von der Basisseite.
  • Hintergrundinhalte werden mit inert versehen (oder das native <dialog>-Element wird verwendet), wann immer ein Modal oder Drawer geöffnet ist.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for progressive disclosure using accordions, ensuring structural integrity, visual affordances, and accessibility across different content densities and devices.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for long-form content, managing readability, vertical rhythm, and information density to ensure a superior reading experience.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for informational elements that communicate state (Badges) and categorization (Tags) with clarity and accessibility.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for non-overlay notifications, managing global announcements and contextual inline alerts to communicate system states without interrupting the user's flow.

coastdigitalgroup/coastai-skills

Design and implement a systematic, asymmetrical bento-grid layout framework to organize diverse content types cohesively while maintaining strict visual hierarchy, logical focus order, and responsive flexibility.

coastdigitalgroup/coastai-skills

Design a responsive, mobile-first bottom navigation bar and persistent action dock system for mobile websites and web applications, establishing spatial anchors, tab bar anatomy, badge indicators, thumb-zone ergonomics, safe area inset handling, active/inactive state contrast, and desktop responsive adaptation rules.

coastdigitalgroup/coastai-skills

Design a mobile-first bottom sheet overlay system with configurable detents, drag affordances, safe area padding, responsive desktop modal/popover adaptation, and WCAG AA accessibility compliance.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for secondary navigation trails that provide orientation, context, and one-click access to parent levels in deep information architectures.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for buttons and interactive triggers, managing visual hierarchy, variant logic, and action grouping to ensure clear intent and accessible interaction.

coastdigitalgroup/coastai-skills

Design a systematic framework for date and time selection, managing calendar grids, range pickers, and scheduling interfaces to ensure precision and accessibility.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for modular content containers that maintain hierarchy, structural integrity, and action alignment across variable content and responsive viewports.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for horizontal discovery components, managing navigation affordances, scroll behavior, and accessibility to ensure effective content density without compromising usability.

coastdigitalgroup/coastai-skills

Design a systematic, highly accessible, and developer-friendly UI layout framework for code blocks, snippet showcases, multi-file code tabs, line-highlighting, diff views, and syntax token contrast in technical documentation and developer platforms.

coastdigitalgroup/coastai-skills

Design a systematic framework for global command menus (Cmd+K panels) that combines keyboard-driven navigation, command execution, and shortcut discovery into an accessible, responsive overlay.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for threaded conversations, managing nesting depths, action hierarchies, and community signaling to foster engagement and readability.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for side-by-side comparison interfaces, managing high attribute density and responsive complexity to support informed decision-making.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for user privacy, managing consent banners, preference centers, and persistent privacy controls to balance legal compliance with user trust.

coastdigitalgroup/coastai-skills

Design and implement a systematic, highly accessible, and responsive visual layout framework for conversational chat widgets, live chat boxes, and chatbot panels that ensures clear message scannability, native focus flow, and seamless mobile keyboard adaptation.

coastdigitalgroup/coastai-skills

Design a systematic, accessible, and high-conversion framework for custom select dropdowns and comboboxes, defining anatomy, states, search-filtering, and responsive mobile-adaptive patterns.

coastdigitalgroup/coastai-skills

Design and implement a systematic color palette that ensures WCAG 2.2 accessibility compliance. Trigger this skill when asked to define brand colors, create UI themes, or establish a visual system for a website.

Verwandte Skills