modal-accessibility
// Use when reviewing rendered HTML, interactive components, or design-system patterns related to Make modal dialogs keyboard accessible. Check native semantics first, then inspect keyboard behavior, focus flow, accessible names, and screen-reader output where relevant.
Make modal dialogs keyboard accessible
Without proper focus trapping and keyboard handling, modal dialogs are invisible traps for keyboard users—they can't navigate, can't escape, and can't complete tasks.
Quick Reference
- Use role='dialog' and aria-modal='true' on the modal container
- Trap focus inside the modal—Tab should cycle within modal only
- Close on Escape key press and return focus to trigger element
- Add aria-labelledby pointing to the modal title
Check
Verify modals have proper ARIA roles, focus trapping, keyboard dismissal (Escape), and return focus on close.
Fix
Implement accessible modals using role='dialog', aria-modal='true', focus trapping, and proper keyboard handling.
Explain
Explain the accessibility requirements for modal dialogs including focus management, ARIA attributes, and keyboard interaction.
Code Review
Review the rendered markup and interactive states that affect Make modal dialogs keyboard accessible. Flag exact elements, roles, labels, focus behavior, or keyboard interactions that violate the rule, and note how to verify the fix with browser accessibility tooling or assistive tech.
For full implementation details, code examples, and framework-specific guidance,
see references/rule.md.
Rule page: https://frontendchecklist.io/en/rules/accessibility/modal-accessibility