GouvernementFR / dsfr

🇫🇷 Official french government's design system (Système de Design de l'État)
https://www.systeme-de-design.gouv.fr/
Other
247 stars 54 forks source link

Permettre de mieux contrôler la fermeture d'une modale #1044

Open thibault opened 1 week ago

thibault commented 1 week ago

Hello,

Si votre suggestion concerne un composant existant, merci de décrire le problème rencontré de façon claire et concise

Sauf erreur de ma part, il n'est pas possible de contrôler la possibilité de fermeture des modales, notamment en empêchant l'utilisation de la touche « ESC ».

(Où alors cette possibilité n'est pas documentée.)

Décrivez le comportement souhaité

Dans mon projet actuel, voici le workflow que je veux implémenter :

Par exemple, cette modale s'ouvre après avoir tracé une haie sur une carte, et il faut obligatoirement compléter les infos correspondantes.

image

Le comportement actuel, problématique :

Si vous avez déjà identifié une correction

J'ai testé la possibilité d'intercepter l'événement dsfr.conceal mais sans obtenir le résultat espéré.

      // La modale se ferme quand même
      dialog.addEventListener("dsfr.conceal", (e) => {
        e.preventDefault();
        return null;
      });

Je n'ai malheureusement pas de solution alternative, mis à part me passer complètement du composant « modale ».

Merci.

keryanS commented 1 week ago

Bonjour, Pour des raisons d'accessibilité, la possibilité de fermer la modale via le bouton fermer ET la touche échape (à minima) sont obligatoires. Fermer la modale devrait donc annuler l'action, éventuellement en gardant en mémoire les informations renseignées.

thibault commented 1 week ago

Hello,

Merci pour ta réponse @keryanS .

Effectivement, j'ai bien conscience des problématiques d'accessibilité soulevées par l'utilisation des modales, ainsi que des bonnes pratiques en vigueur.

D'ailleurs, l'appli dont il est question ici présente un gros défi niveau accessibilité (il s'agit d'un tracé minutieux de polylignes représentant des haies sur une carte satellite). Les différents choix qui ont été faits jusqu'à maintenant font qu'on a l'impression que l'impossibilité de fermer la modale représente plus un handicap qu'un avantage pour l'utilisabilité et l'accessibilité.

Au final nous allons sans doute devoir adapter la solution retenue et partir sur la piste que tu suggères, mais nous aimerions quand même aller au bout de notre exploration sur la solution actuelle. Penses-tu qu'une solution technique existe pour répondre à ma demande initiale, même si j'ai conscience que ce serait une mauvaise pratique dans 99% des cas ?