0Pricing
Web Accessibility Academy · Leçon

Piéger le focus dans la fenêtre modale

Empêchez la touche Tabulation de s'échapper vers la page située derrière.

Piéger le focus dans la fenêtre modale est une leçon Web Accessibility Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Web Accessibility Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Web Accessibility Academy comprend 4 leçons au total.

Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.

Why Focus Must Stay In

While a modal is open, keyboard focus should stay inside it. If Tab escapes to the page behind, blind users get lost in content they cannot see.

The Native Element Helps

A real dialog opened with showModal() traps focus for you automatically, which is one big reason to prefer it over a div.

When You Build Your Own

If you roll a custom modal with a div, you must trap focus yourself, because nothing stops Tab from leaking out to the page.

Move Focus In on Open

First, send focus into the modal when it opens, usually to the first control or the heading, so the user starts in the right place.

modal.querySelector('button').focus();

Find the Focusable Elements

Collect the modal's focusable items: links, buttons, inputs, and anything with tabindex. You need the first and last to build the loop.

modal.querySelectorAll('a, button, input, [tabindex]');

Loop From Last to First

When Tab is pressed on the last element, send focus back to the first. This wraps the user around instead of letting them out.

if (e.key==='Tab' && !e.shiftKey && active===last){
  e.preventDefault(); first.focus();
}

Loop From First to Last

Handle Shift+Tab on the first element too: send focus to the last one so backward tabbing also stays trapped.

if (e.key==='Tab' && e.shiftKey && active===first){
  e.preventDefault(); last.focus();
}

Prevent the Default Tab

At the edges you must call preventDefault(), otherwise the browser moves focus out before your code can redirect it.

e.preventDefault();

Mind Disabled and Hidden Items

Skip elements that are disabled or hidden when picking first and last, since they cannot actually receive focus.

Do Not Forget the Background

Trapping focus pairs with making the page behind inert, so even a stray click or screen reader cannot reach it while the modal is open.

Test It With the Keyboard

Tab through the whole modal and watch the focus ring cycle without ever leaving. That round trip is your proof the trap works. ✅

Quick Check

You built a custom div modal. What must you do to keep Tab inside it?

Recap: Keep Focus Captive

You learned to move focus in on open and loop it at both edges, so keyboard users stay inside the modal until they choose to close it. 🎯

Questions Fréquemment Posées

La leçon « Piéger le focus dans la fenêtre modale » est-elle gratuite ?

Oui — le texte complet de « Piéger le focus dans la fenêtre modale » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Web Accessibility Academy, passe à CoddyKit PRO. Le cours Web Accessibility Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Piéger le focus dans la fenêtre modale » ?

Empêchez la touche Tabulation de s'échapper vers la page située derrière. Tu pratiques Web Accessibility Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Web Accessibility Academy ?

Aucune expérience préalable n'est requise. Web Accessibility Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.

Combien de temps prend la leçon « Piéger le focus dans la fenêtre modale » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Web Accessibility Academy ?

Oui. Chaque leçon Web Accessibility Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Rôles des boîtes de dialogue et élément dialog natif
  2. Piéger le focus dans la fenêtre modale
  3. Échap pour fermer et rendre le focus
  4. Arrière-plan inerte et aria-modal
← Retour à Web Accessibility Academy