- Home
- Primitives
- Dialog
- Accessibility
Dialog
Keyboard, focus, semantic, and consumer responsibilities for Dialog.
Accessibility
Automated evidence
The evidence summary below is generated from the repository’s executable axe scan for @solidiom/dialog. It records automated checks only; it is not a claim of complete conformance.
Manual verification
Review keyboard dismissal, focus restoration, zoom/reflow, touch targets, reduced motion, contrast, and screen-reader announcements in the consuming product. A consumer’s layout, labels, and workflow can change the accessibility result.
Accessibility contract
Keyboard
- Enter or Space
- Activates the trigger or a focused close action.
- Escape
- Dismisses the open dialog and returns focus to its trigger.
- Tab and Shift+Tab
- Keeps focus within a modal dialog while it is open.
Focus
- Modal Dialog moves focus into its content after it opens.
- Modal Dialog restores focus to the trigger after dismissal.
- Background controls are isolated while a modal Dialog is open.
Semantics
- Content has role dialog and aria-modal=true for modal dialogs.
- Title and Description are connected to Content with aria-labelledby and aria-describedby.
ARIA
- Trigger exposes aria-haspopup=dialog.
- Trigger exposes aria-expanded and aria-controls while the dialog is open.
- Backdrop is hidden from assistive technology.
Consumer responsibilities
- Provide a concise Title and Description for every modal Dialog.
- Keep a visible, keyboard-operable dismissal action unless the workflow has a documented exception.
- Use an alert dialog for confirmations that require an explicit destructive-action decision.
Not applicable
- portalling
- Native portalling is deferred while Solid 2 Portal APIs are unstable; the API contract does not depend on DOM relocation.
Review status: Reviewed (Reviewed by Solidiom accessibility review on Jul 26, 2026)
This contract describes what the primitive guarantees. Consuming products remain responsible for labels, layout, and workflow decisions that affect the final accessibility result.
Automated evidence
Axe scan summary
- Passes
- 15
- Violations
- 0
- Incomplete
- 0
Latest executed scan: Aug 13, 2026, 10:47 PM
Evidence IDs: axe-dialog-scan-v1
Automated checks cover only the recorded fixture and do not establish complete accessibility conformance.