Wie man das Dialog Element implementiert und stylt

Avatar of Chris Coyier
Chris Coyier am

DigitalOcean bietet Cloud-Produkte für jede Phase Ihrer Reise. Starten Sie mit 200 $ kostenlosem Guthaben!

Ein Blick von Christian Kozalla auf das <dialog> HTML-Element und wie man es verwendet, um ein gut aussehendes und zugängliches Modal zu erstellen.

Mich reizt das <dialog> Element, da es eines dieser Elemente ist, bei denen man "viel geschenkt bekommt" (noch mehr als das beliebte <details> Element) und es ist so einfach, Modal-Zugänglichkeit falsch zu machen (z. B. Fokus-Trapping), dass es großartig scheint, so etwas von einem nativen Element bereitgestellt zu bekommen. ::backdrop ist besonders cool.

Aber ist es zu gut, um wahr zu sein? Solide Unterstützung ist noch nicht da, Safari unterstützt es nicht.Christian erwähnt das Polyfill von Google, das definitiv hilft, grundlegende Funktionalität in Browsern ohne Unterstützung zu bringen.

Das Hauptproblem ist das eigentliche Testen auf einem Screenreader. Scott O’Hara hat einen Artikel, „Having an open dialog,“ der noch diesen Monat (Oktober 2021) aktualisiert wurde, in dem er letztendlich sagt: „[...] das dialog Element und sein Polyfill sind nicht für den Einsatz in der Produktion geeignet.“ Ich bezweifle Scotts Tests nicht, aber da die meisten Leute einfach eigene Modal-Erlebnisse entwickeln, ohne auf Zugänglichkeit zu achten, frage ich mich, ob das Web besser dran wäre, wenn mehr Leute einfach <dialog> (und das Polyfill) trotzdem verwenden würden. Höhere Nutzung würde wahrscheinlich mehr Browser-Aufmerksamkeit und Verbesserungen auslösen.