First deployment
Some checks failed
quality-gates / lint-and-test (push) Has been cancelled
quality-gates / security-scan (push) Has been cancelled

This commit is contained in:
2026-02-13 09:14:04 -05:00
parent 0e21e035f5
commit 679561bcdb
128 changed files with 3479 additions and 120 deletions

View File

@@ -0,0 +1,31 @@
## Purpose
Canonical specification for policy-disclosure-modals requirements synced from OpenSpec change deltas.
## Requirements
### Requirement: Policy disclosures are available as in-page modals
The system SHALL present Terms of Use and Attribution content in in-page modal dialogs without requiring full-page navigation from the landing experience.
#### Scenario: Open Terms modal from footer
- **WHEN** a user activates the "Terms of Use" footer control
- **THEN** a Terms modal opens in place on the current page
- **AND** the underlying page context remains intact
#### Scenario: Open Attribution modal from footer
- **WHEN** a user activates the "Attribution" footer control
- **THEN** an Attribution modal opens in place on the current page
- **AND** disclosure content is readable in the modal body
### Requirement: Policy modals are keyboard-safe and dismissible
Policy disclosure modals SHALL provide deterministic keyboard and pointer dismissal behavior.
#### Scenario: Escape closes active policy modal
- **WHEN** a policy modal is open and the user presses `Escape`
- **THEN** the modal closes
- **AND** focus returns to the triggering control
#### Scenario: Modal focus remains trapped while open
- **WHEN** a keyboard-only user tabs while a policy modal is open
- **THEN** focus cycles within modal interactive controls
- **AND** focus does not escape to background content