Build a modal dialog with overlay, focus trap, Esc/outside-click close, body scroll lock, and focus restore.
Skip to solutionKEEP THE
mediumFrontend
Build an Accessible Modal with Focus Trap & Scroll Lock
699 views
01
Understand the problem
ReactModalFocus TrapAccessibilityPortal
02
Attempt it yourself
Sketch your approach before reading the solution — that's what interviews test.
Nudge consolestandby
Stuck? Beam a request up — the console returns a conceptual nudge that guides your logic without spoiling the implementation.
03
Study the solution
Requirements
- Trigger button opens modal via portal; overlay click and Esc close;
aria-modal="true"+role="dialog". - Focus trap: Tab / Shift+Tab cycles inside modal; initial focus on first focusable; restore focus to trigger on close.
- Body scroll lock (prevent background scroll) and handle stacked modals (
Solution ready — 2 min read
Classified // press E to declassify
04
Join the discussion
Discussion (0)
Sign in to join the discussion.
No responses yet. Be the first to share what you think.
Transmission complete // awaiting log
KEEP THE
STREAK ALIVE.
Dossier 38 of 87 decoded in the Frontend Machine Coding track. One more won't hurt.