The backdrop provides context and an optional close trigger.
Backdrop options:
- Click to close (common)
- Click does nothing (for important dialogs)
- Transparent vs visible
Implementation:
<div className="backdrop" onClick={handleBackdropClick}>
<div className="modal" onClick={e => e.stopPropagation()}>
{children}
</div>
</div>
stopPropagation: Prevents clicks inside modal from closing it.
Accessibility: If backdrop closes modal, ensure Escape also works for keyboard users.