„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Popver API VS-Dialog Modal: Gleich, gleich, aber unterschiedlich

Popver API VS-Dialog Modal: Gleich, gleich, aber unterschiedlich

Veröffentlicht am 07.11.2024
Durchsuche:502

Popver API VS dialog Modal : Same Same but Different

Ich habe einige Tech-News-Blogs gelesen und bin auf die Überschrift „Popover API landet in Baseline“ gestoßen. Ich war verwirrt, als ich kürzlich in die Front-End-Entwicklung eintauchte und es mir in letzter Zeit sehr schwerfiel, mich an die Verwendung von Elementen in HTML zu gewöhnen. Beim Durchblättern des Blogs war ich ständig verwirrt darüber, wie ich das Element bisher verwendet habe.

TL;DR

Wählen Sie

für:

  • Modale Popups, die den Fokus des Benutzers erfordern
  • Barrierefreiheit und Tastaturinteraktion

Popover auswählen für:

  • Nichtmodale Popups mit leichter Entlassung
  • Einfache Implementierung mit minimalem Code

-Element

Laut MDN Das Dialogelement

Das HTML-Element stellt ein modales oder nichtmodales Dialogfeld oder eine andere interaktive Komponente dar, z. B. eine ausschließbare Warnung, einen Inspektor oder ein Unterfenster.

A wird im Allgemeinen verwendet und über dem Inhalt angezeigt, wenn die Website die Aufmerksamkeit des Benutzers auf etwas Wichtiges lenken muss. d. h. einen Newsletter abonnieren, die Deaktivierung des Adblockers anfordern (eher erzwingen) oder die Allgemeinen Geschäftsbedingungen akzeptieren.

-Element als Modal

Wie Sie möglicherweise schon mehrfach auf mehreren Websites gesehen haben, werden einige dieser Popups auf Ihrem gesamten Bildschirm angezeigt, während der Hintergrund unscharf wird oder der Hintergrund deaktiviert wird und sich der Benutzer nur auf die jeweilige Aufgabe konzentriert. Der Benutzer muss sie entweder schließen (nur wenn erlaubt) das Popup oder geben Sie die erforderlichen Informationen ein, damit es verschwindet. Dieses Verhalten wird als „Element als Modal“ bezeichnet. Diese modalen Elemente werden auf der obersten Ebene der Seite angezeigt.

//To open dialog as a modal.

dialog.showModal();

// To close the dialog.

dialog.close();
Das

-Element kann mit der Esc-Taste geschlossen werden, wenn es mit der showModal()-Methode angezeigt wird. Tastaturbenutzer erwarten ein solches Verhalten, das beibehalten werden muss und vom Browser bereitgestellt wird. Wenn mehrere modale Dialoge geöffnet sind, wird nur der letzte Dialog mit der Esc-Taste geschlossen.

Element als nichtmodal

Möglicherweise möchten Sie nicht immer den natürlichen Nutzungsfluss Ihrer Webseite durch den Benutzer stoppen, alles andere nicht mehr tun und sich auf das konzentrieren, was Sie anzeigen möchten, aber dennoch auf Ihren Inhalt, wie z. B. eine Toast-Benachrichtigung, eine Cookie-Einwilligung oder einen allgemeinen Tooltip Info. sollte auf der obersten Ebene der Seite erscheinen, über allen anderen Inhalten, mit denen der Benutzer interagieren kann oder nicht. Diese Art von Pop-ups werden als nichtmodale Pop-ups bezeichnet. Benutzer können diese manuell oder zeitlich verwerfen und verschwinden dann von selbst. Diese nicht-modalen Dialoge werden immer noch auf der obersten Ebene der Seite angezeigt, aber ihre Priorität kann mithilfe des Z-Index gesteuert werden und das modale Element nimmt einen höheren Z-Index als diesen an und macht diesen nicht zugänglich.

//To open dialog as a modal.

dialog.show();

// To close the dialog.

dialog.close();

Codebeispiel

Einige Probleme

Es fiel mir schwer, die Funktionsweise und Verwendung nichtmodaler Elemente zu verstehen. Meiner Meinung nach verhielt sich das nichtmodale Element inkonsistent und benötigte Javascript-Code, um mit Situationen wie:

umzugehen.
  • Es gibt keine Funktion zur leichten Entlassung. Durch Klicken außerhalb des Modells wird die Datei nicht geschlossen.
  • Esc-Taste verwirft das nicht und benötigt Javascript, um dieses Szenario zu bewältigen.
  • Sie müssen den Z-Index manuell verwalten, wenn Sie die oberste Ebene zeichnen möchten.

Zu meiner Überraschung hat die Popover-API diese und weitere Probleme beantwortet oder behoben....

Popover-API

popover sind Attribute, die zu jedem HTML-Attribut hinzugefügt werden können. Hier ist ein Beispiel.


Popover content

Hauptunterschied zwischen Popover und -Element

Der Hauptunterschied zwischen den Popover- und

-Elementen besteht darin, dass Popover immer nicht modal ist. Das -Element verfügt über ein Attribut „role=dialog“. Dieses Attribut „role“ ist an verschiedene HTML-Elemente angehängt und verhält sich auf eine bestimmte Weise. d. h. h1 hat eine Überschriftsrolle und a hat eine Anker-/Link-Rolle. Diese Rolle wird verwendet, um unterstützende Technologien wie Bildschirmleseprogramme zu bestimmen und dabei zu helfen, die Elemente zu bestimmen. Das Popover ist jedoch ein Attribut eines HTML-Elements, da ihm keine Standardrolle zugeordnet ist. Dies trägt dazu bei, dass das
im obigen Beispiel ausgeblendet wird, bis auf die Schaltfläche geklickt wird.

Das Popover-Attribut kann mit minimalem Code verwendet werden und obwohl es mit Javascript gesteuert werden kann, ist es nicht immer erforderlich, wie das

.

Popover kann zwei Eigenschaften haben:
1.popover=auto: Verfügt über eine Funktionalität zur leichten Entlassung und erfordert keine JS-Interaktion.
2.popover=manual: Benötigt Javascript-Interaktion, z. B. Klicken auf eine Schaltfläche oder einen Timer, um es explizit zu schließen.

Popover wird immer auf der obersten Ebene angezeigt, es ist nicht erforderlich, den Z-Index explizit festzulegen.

Codebeispiel:

Sie sehen, dass ich das gleiche Verhalten fast ohne Javascript-Code erreichen kann. Das Entwerfen und Verwalten verschiedener Popover ist viel einfacher.

Einige Designüberlegungen

Popover kann Folgendes haben: Mit CSS festgelegter Hintergrund, der verwendet werden kann, um den Hintergrund des Popovers zu verwischen oder auszugrauen, aber dadurch nicht die Funktion zum Ausblenden von Licht verliert, und der Benutzer kann trotzdem nach draußen klicken, wenn das Popover erscheint. Sie können andere Elemente Ihrer Webseite aufrufen und mit ihnen interagieren. Sie sollten sehr vorsichtig sein, wenn Sie entscheiden, wann Sie Popover anstelle von

wählen.

Hier ist vor allem zu berücksichtigen: Ist die angezeigte Komponente das Einzige, was im Moment den Fokus haben sollte? Kann der Benutzer mit irgendetwas anderem interagieren?

Abschluss

Zusammenfassend lässt sich sagen, dass das Element und die Popover-API vielseitige Möglichkeiten zur Erstellung interaktiver Popups in Ihren Webanwendungen bieten. Indem Sie ihre unterschiedlichen Merkmale und Anwendungsfälle verstehen, können Sie fundierte Entscheidungen treffen, um die Benutzererfahrung zu verbessern und Ihren Entwicklungsprozess zu optimieren.

Referenzen

  1. Vergleich der Popover-API und des Elements
  2. Dialoge und Popovers scheinen ähnlich zu sein. Wie unterscheiden sie sich?
  3. Popover-API landet in Baseline

Freigabeerklärung Dieser Artikel wird reproduziert unter: https://dev.to/decoders_lord/popver-api-vs-dialog-modal-same-but-different-2ig7?1 Wenn es zu Verletzungen besteht, wenden Sie sich bitte an [email protected], um ihn zu löschen.
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3