52 lines
2.6 KiB
Markdown
52 lines
2.6 KiB
Markdown
## MODIFIED Requirements
|
|
|
|
### Requirement: Public routes have no critical or serious accessibility issues
|
|
|
|
The system SHALL run automated accessibility checks on the public routes covered by the browser suite (SPEC §6.5, §13.8) after the Heritage Editorial motion enhancement. A critical or serious issue MUST fail the suite.
|
|
|
|
#### Scenario: Critical issue blocks the suite
|
|
|
|
- **WHEN** the automated accessibility check reports a critical or serious issue on a covered route
|
|
- **THEN** the browser suite MUST fail and report the offending rule and selector
|
|
|
|
#### Scenario: Covered routes are checked
|
|
|
|
- **WHEN** the accessibility suite runs
|
|
- **THEN** home, services listing, portfolio listing, case detail, about, contact, privacy and branded 404 MUST each be checked
|
|
|
|
### Requirement: Reduced motion preference is honored
|
|
|
|
The system SHALL suppress non-essential animation and transition when the user agent reports `prefers-reduced-motion: reduce`, including page openings, editorial reveals, image hover scales, interaction feedback and menu transitions. All affected content MUST render in its final visible and interactive state.
|
|
|
|
#### Scenario: Reduced motion disables transitions
|
|
|
|
- **GIVEN** the browser reports `prefers-reduced-motion: reduce`
|
|
- **WHEN** a public page is loaded
|
|
- **THEN** decorative transitions and animations MUST NOT run
|
|
- **AND** every motion target MUST be in its final visible and interactive state
|
|
|
|
### Requirement: Public pages emit no console errors
|
|
|
|
Covered public routes SHALL load without JavaScript console errors in a real browser (SPEC §13.8, §19), including home, services listing, portfolio listing, case detail, about, contact, privacy, branded 404, and pages that load the mobile navigation or motion runtime.
|
|
|
|
#### Scenario: Console stays clean on covered routes
|
|
|
|
- **WHEN** a covered public route is loaded in the browser suite
|
|
- **THEN** the console MUST contain no error-level messages
|
|
|
|
## ADDED Requirements
|
|
|
|
### Requirement: Motion enhancement failure does not hide or disable content
|
|
|
|
The public site SHALL remain readable, keyboard-operable, and interactive when JavaScript is disabled or `IntersectionObserver` is unavailable. Motion targets MUST default to their final state without relying on timeout recovery.
|
|
|
|
#### Scenario: JavaScript disabled keeps public page usable
|
|
|
|
- **WHEN** a visitor loads a public page with JavaScript disabled
|
|
- **THEN** headings, copy, navigation, CTAs, and form controls MUST be visible and operable
|
|
|
|
#### Scenario: Observer unavailable keeps reveals final
|
|
|
|
- **WHEN** the motion runtime executes without `IntersectionObserver`
|
|
- **THEN** reveal targets MUST remain in the final state
|