Maison > interface Web > js tutoriel > le corps du texte

Modal vs dialogue

Linda Hamilton
Libérer: 2024-11-26 06:48:10
original
236 Les gens l'ont consulté

Modal vs Dialog

Connaissez-vous la différence entre modal et dialogue ?

Non ?! Découvrons

Différence entre modal et dialogue

Dans la conception d'interfaces utilisateur (UI), les termes « modal » et « dialogue » sont souvent utilisés de manière interchangeable, mais ils ont des significations différentes :

Modal:

  • Définition : Un modal est un élément d'interface utilisateur qui crée un état temporaire et interrompu dans l'application, obligeant l'utilisateur à interagir avec lui avant de pouvoir revenir au contenu ou à l'application sous-jacente.
  • Fonctionnalité principale : bloque l'interaction avec le reste de l'interface jusqu'à ce qu'elle soit fermée ou interagie avec. Force l'utilisateur à se concentrer sur le contenu du modal et à entreprendre une action (comme confirmer une décision ou remplir un formulaire).
  • Cas d'utilisation courants :
    • Demandes de confirmation (par exemple : "Êtes-vous sûr de vouloir supprimer ceci ?")
    • Messages d'alerte ou d'erreur
    • Écrans d'authentification (par exemple, écrans de connexion)
    • Sélection des options essentielles avant de continuer (ex : « Enregistrer les modifications ? »)
  • Exemple : L'option "Enregistrer les modifications ?" dans de nombreuses applications, où vous devez cliquer sur "Oui", "Non" ou "Annuler" avant de poursuivre d'autres tâches.

Dialogue:

  • Définition : « Dialogue » est un terme plus large désignant tout élément de l'interface utilisateur qui permet une interaction avec l'utilisateur, impliquant généralement un échange d'informations ou une prise de décision. Cela peut être modal ou non.
  • Fonctionnalité principale : Ne bloque pas nécessairement l'interaction avec le reste de l'interface. Une boîte de dialogue peut être modale, mais elle peut également être non modale, c'est-à-dire que l'utilisateur peut continuer à interagir avec d'autres parties de l'application pendant que la boîte de dialogue est ouverte.
  • Cas d'utilisation courants :
    • Demande de saisie utilisateur (par exemple, boîtes de dialogue ou paramètres de recherche)
    • Affichage d'informations (par exemple messages d'erreur, alertes)
    • Formulaires complexes ou processus en plusieurs étapes
  • Exemple : Une boîte de dialogue dans un traitement de texte demandant des paramètres spécifiques (ex : taille de police ou formatage), mais permettant d'interagir avec d'autres éléments de l'application s'il s'agit d'une boîte de dialogue non modale.

Principales différences :

  • Blocage des interactions :

    • Un modal bloque l'interaction avec l'interface principale jusqu'à ce qu'il soit rejeté.
    • Un dialogue peut bloquer ou non une interaction ; Cela dépend s'il s'agit d'un dialogue modal ou non modal.
  • Cas d'utilisation :

    • Les modaux sont utilisés pour les décisions, alertes ou actions critiques qui nécessitent que l'utilisateur se concentre sur le contenu du modal avant de continuer.
    • Les boîtes de dialogue peuvent être utilisées pour diverses interactions, notamment l'affichage d'informations, la soumission de formulaires ou la sélection d'options, avec ou sans blocage de l'interface principale.

Introduction à l'élément de dialogue en HTML

Le de HTML offre un moyen simple et efficace de créer des modaux et des boîtes de dialogue. Cet élément est très flexible, vous permettant de personnaliser à la fois le contenu et le style, en plus d'offrir des avantages d'accessibilité dès la sortie de la boîte. Explorons comment cela fonctionne et comment vous pouvez l'utiliser pour créer des modaux efficaces sur vos pages Web.

Structure de base

Le C'est assez simple : il s'agit simplement d'une balise HTML avec un attribut facultatif et quelques méthodes JavaScript associées. Voir un exemple d'utilisation basique :

<dialog>
  <!-- Conteúdo do Dialog -->
</dialog>
Copier après la connexion
Copier après la connexion

Par défaut, une boîte de dialogue est masquée. Pour l'afficher, vous pouvez ajouter l'attribut open, mais il est recommandé d'utiliser les méthodes JavaScript show() et showModal() pour contrôler l'ouverture de la boîte de dialogue :

<dialog open>
  <span>Você pode me ver agora!</span>
</dialog>
Copier après la connexion
Copier après la connexion

Cependant, il n'est pas conseillé d'utiliser directement l'attribut open car cela crée une boîte de dialogue non modale. Au lieu de cela, vous devez utiliser les méthodes JavaScript :

const dialog = document.querySelector("dialog");
dialog.show(); // Abre um diálogo não-modal
dialog.showModal(); // Abre um diálogo modal
Copier après la connexion
Copier après la connexion

La méthode showModal() ouvre une boîte de dialogue modale, tandis que show() ouvre une boîte de dialogue non modale (un type de popup).

Fermeture de la boîte de dialogue

Pour fermer une boîte de dialogue, vous pouvez utiliser la méthode close(). De plus, si la boîte de dialogue est modale, elle peut être fermée en appuyant sur la touche Échap :

const dialog = document.querySelector("dialog");
dialog.close(); // Fecha o diálogo
Copier après la connexion
Copier après la connexion

Fonctionnalités d'accessibilité automatique

Un gros avantage du

est qu'il gère automatiquement les fonctionnalités d'accessibilité. Il applique les attributs d'aria corrects et gère le focus, ce qui facilite la création d'applications accessibles.

Styliser l'élément de dialogue

Bien que le

Il est déjà livré avec certains styles par défaut appliqués par le navigateur, il est facile de le personnaliser. Voici un exemple de boîte de dialogue stylisée à l'aide de certaines propriétés CSS de base :

dialog {
  z-index: 10;
  margin-top: 10px;
  background: green;
  border: none;
  border-radius: 1rem;
}
Copier après la connexion

Vous pouvez également styliser l'arrière-plan modal en utilisant le pseudo-élément ::backdrop. Pour modifier l'arrière-plan (la zone derrière le modal), vous pouvez appliquer le CSS suivant :

<dialog>
  <!-- Conteúdo do Dialog -->
</dialog>
Copier après la connexion
Copier après la connexion

Cela facilite la création de modaux personnalisés adaptés à la conception de votre site Web.

Fonctionnalités avancées de l'élément de dialogue

  • Formulaires dans la boîte de dialogue Vous pouvez utiliser des formulaires dans la boîte de dialogue. Si vous définissez l'attribut method="dialog" sur le formulaire, la boîte de dialogue se fermera automatiquement lorsque le formulaire sera soumis, sans envoyer réellement les données du formulaire au serveur. La chose la plus intéressante est que lorsque vous rouvrirez la boîte de dialogue, les données du formulaire seront toujours là.
<dialog open>
  <span>Você pode me ver agora!</span>
</dialog>
Copier après la connexion
Copier après la connexion
  • Boutons d'annulation Vous pouvez ajouter un bouton d'annulation au formulaire qui ferme la boîte de dialogue sans soumettre le formulaire, en utilisant l'attribut formmethod="dialog" :
const dialog = document.querySelector("dialog");
dialog.show(); // Abre um diálogo não-modal
dialog.showModal(); // Abre um diálogo modal
Copier après la connexion
Copier après la connexion
  • Fermer en un clic Bien que le n'a pas ce comportement de manière native, il est facile d'ajouter un écouteur d'événement de clic pour fermer la boîte de dialogue lorsque l'utilisateur clique dessus. Voici un exemple simple pour mettre en œuvre ceci :
const dialog = document.querySelector("dialog");
dialog.close(); // Fecha o diálogo
Copier après la connexion
Copier après la connexion

Cette solution permet de fermer la boîte de dialogue en cliquant en dehors de la zone modale, un comportement courant dans de nombreux modaux.


Conclusion

Le du HTML offre un moyen simple mais puissant d'implémenter des modaux et des boîtes de dialogue, en mettant fortement l'accent sur l'accessibilité. Il facilite la création de modaux personnalisés sans avoir besoin de bibliothèques externes ou de configurations complexes. En utilisant des méthodes comme show(), showModal() et close(), vous pouvez facilement contrôler le comportement de votre boîte de dialogue.

De plus, la possibilité de styliser la boîte de dialogue et son arrière-plan avec CSS le rend encore plus personnalisable. Avec seulement quelques fonctionnalités supplémentaires, comme la fermeture du modal en un seul clic ou l'intégration de formulaires, le

devient un outil très flexible et utile pour créer des éléments interactifs sur votre site Web.


Pour plus d'informations et d'exemples : https://blog.webdevsimplified.com/2023-04/html-dialog/
https://dev.to/iam_timsmith/dialogs-vs-modals-is-there-a-difference-210k

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal