ContractDialog / overlay operability
- Job
- Keyboard can leave
- Requirement
- must specify
- States / rules
- role, focus trap, Escape, return focus (distinct from focus-ring visual)
- Specified means
- Operable spec
- Hardest context
- Tab escapes overlay
Example
role="dialog" + trap
Counter-example
Screenshot of overlay open only
How this lives in Building Blocks
Representation: Shared foundation / token / behavior guidance.
Building Blocks should provide shared guidance, semantic roles, examples, and reusable implementation hooks where appropriate. Each product maps those roles to its own theme and documents any justified exceptions.
Do not specify the easy case only.
The source checklist’s hardest-context test is part of what “specified” means: Tab escapes overlay.
On-spec signal
role="dialog" + trap
Failure signal
Screenshot of overlay open only
Catalog connection
The product-local Catalog should show this row’s actual state for that product using the Catalog contract. Building Blocks documentation can define the baseline, but it does not make a product’s row Specified, Designed, or In code by itself.