Scrim
A scrim is a see-through dark layer behind an overlay. It separates the overlay and shows that the page below is blocked.
::backdropA real example
When a modal opens, the scrim darkens the page so the dialog is easy to notice.
Main parts
- 01Trigger or task context
- 02Primary control surface
- 03Feedback, focus, and dismissal
Use it when
Use it behind a modal, sheet, or navigation drawer when the page must be blocked.
Do not use it when
Never rely on the scrim alone. You must also manage keyboard focus and modal behavior.
Name used in code
::backdrop Before you ship
Before release, check the page structure, keyboard access, visible focus, contrast, and zoom. Also check loading, empty, error, success, cancel, and reduced-motion states.
Outcome: Use Scrim to solve this user need without losing the current context. User context: When a modal opens, the scrim darkens the page so the dialog is easy to notice. Recommended pattern: Scrim. Why it fits: Use it behind a modal, sheet, or navigation drawer when the page must be blocked. Do not use it when: Never rely on the scrim alone. You must also manage keyboard focus and modal behavior. Product requirements: Define the default, loading, empty, error, success, and recovery states. Keep user input. Give clear feedback after every action. Accessibility and resilience: Use semantic HTML, full keyboard access, and visible focus. Make the layout work when zoomed and support reduced motion. Follow the project’s current rules. Do not add a new UI library unless the project already uses it. Acceptance criteria: The main task works with keyboard only and at 320px width. Focus and status changes are announced. Check loading, failure, retry, cancel, and reduced-motion paths. Evidence and limits (evidence boundary): No single official standard controls the whole term. Its meaning may change across teams, platforms, or frameworks. Unknowns to confirm: Product wording, data source, analytics events, supported devices and languages, and platform limits.
Check this request
Review the current use of Scrim. Definition: A scrim is a see-through dark layer behind an overlay. It separates the overlay and shows that the page below is blocked. Release checks: Before release, check the page structure, keyboard access, visible focus, contrast, and zoom. Also check loading, empty, error, success, cancel, and reduced-motion states. Before changing code, report the evidence you found, gaps, severity, and the smallest safe fix.