Files

2.6 KiB

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