Utilisez l'élément natif dialog avec showModal quand vous le pouvez, puisqu'il vous donne gratuitement la couche supérieure, le piégeage du focus et la gestion d'Échap. Sinon il vous faut role dialog avec aria-modal, un titre qui l'étiquette, le focus déplacé dans la boîte à l'ouverture et rendu au déclencheur à la fermeture, un piège à focus, Échap pour fermer, et l'arrière-plan rendu inerte pour que ni les lecteurs d'écran ni la touche Tab n'y errent.
Pourquoi les recruteurs posent cette question
Les modales sont le test standard pour savoir si un candidat traite l'accessibilité comme du vrai travail ou comme une case à cocher ajoutée après coup. Le recruteur veut entendre parler de gestion du focus en particulier, parce que c'est ce que la plupart des implémentations ratent, plus la conscience que la plateforme résout désormais une bonne partie du problème. Mentionner les portails, le verrouillage du défilement et le retour du focus montre que vous en avez livré une qui a survécu à un audit.
Comment structurer votre réponse
- Commencez par la plateforme : l'élément dialog et showModal.
- Listez les exigences : étiquetage, focus entrant et sortant, Échap, arrière-plan inerte.
- Mentionnez les portails et les problèmes d'empilement ou de défilement.
- Dites comment vous le vérifieriez, au clavier seul puis avec un lecteur d'écran.
Exemple de réponse
Mon premier réflexe, c'est de ne pas la construire. L'élément natif dialog avec showModal gère la couche supérieure, donc j'arrête de me battre avec le z-index et les ancêtres en overflow hidden, et il me donne Échap et l'inertie de l'arrière-plan sans une ligne de mon code. Par-dessus, je l'étiquette quand même, donc aria-labelledby pointant vers le titre, et je déplace le focus vers un premier élément sensé à l'ouverture, en général le titre ou le premier champ plutôt que le bouton de fermeture. À la fermeture, je remets le focus sur ce qui l'a ouverte, parce que perdre le focus sur le body est ce qui laisse vraiment les utilisateurs au clavier en rade. Si je dois la faire à la main pour des raisons de navigateur ou de design, alors c'est role dialog avec aria-modal true, un vrai piège à focus sur Tab et Maj Tab, Échap et clic sur le fond pour fermer, inert sur le reste de la page, et un verrouillage du défilement qui ne décale pas la mise en page. Je la teste au clavier seul d'abord, puis avec un lecteur d'écran, parce que cette combinaison attrape presque tout ce qu'un vérificateur automatique manque.
Vous passez cet entretien bientôt ? GhostPilot écoute votre appel en direct, repère la question dès qu'elle est posée et affiche une réponse structurée à l'écran en temps réel. Essayez-le lors de votre prochain entretien blanc, ou prenez un Session Pass à $29, sans abonnement, pour le jour J.
Voir comment ça marcheQuestions de relance à prévoir
- Comment gérez-vous deux boîtes de dialogue empilées ?
- Qu'est-ce qui se passe mal quand une modale n'est pas rendue dans un portail ?
- Comment annonceriez-vous une erreur asynchrone qui apparaît dans la boîte de dialogue ?
Autres questions pour Développeur React
Votre recruteur posera sa propre version de celle-ci. Collez votre véritable fiche de poste dans le Question Predictor gratuit et obtenez les 20 questions que ce poste a le plus de chances de poser, avec ce que chacune cherche vraiment à sonder.
Prédire mes questions