Follow the transition, not just the screenshot. These contracts separate observed source behavior from the local behavior used to make this reference testable.
Interaction contracts
Pattern
Trigger
Visible result
Recovery
Navigation
Link or menu trigger
Route changes, or aria-expanded and visible menu change together
Escape closes an open local menu; focus stays on its trigger. Browser Back restores route.
Search
Open search, type query
Matching local destinations, or explicit empty result
Escape closes dialog and restores trigger. Query stays in memory only.
Disclosure
Enter, Space or pointer on summary
Expanded answer in document flow
Second activation collapses it. No focus jump to the answer.
Copy
Activate copy
Persistent visible success or clipboard-unavailable instruction
Code remains selectable. No timeout removes confirmation while it is being read.
Form
Submit invalid fields
Linked error; first invalid field focused; input preserved
Correct the value and submit again. Local success states explicitly say nothing was sent.
Theme
Toggle theme
Text, surfaces, borders and logo variant change together
Preference is local to the open page; reload resets the default.
Code tabs
Click or Arrow/Home/End
One selected tab with linked visible panel
Roving tabindex keeps one stop in the tablist; next Tab leaves the group.
Feedback
Choose Yes or No
Visible local acknowledgement
Changing the response replaces the prior acknowledgement; no telemetry is sent.
Media inspection
Expand image
Native dialog with labelled media
Escape or Close restores opener focus. No remote embed or autoplay.
Decorative motion
A real pause control
Default: a still from the source GIF. Enabling motion loads that GIF; pausing replaces it with the still.
Test narrow reflow, keyboard-only input, reduced motion, no result, invalid content and repeated activation as applicable. Static content remains readable when JavaScript is unavailable.
Test narrow reflow, keyboard-only input, reduced motion, no result, invalid content and repeated activation as applicable. Static content remains readable when JavaScript is unavailable.
Test narrow reflow, keyboard-only input, reduced motion, no result, invalid content and repeated activation as applicable. Static content remains readable when JavaScript is unavailable.
Test narrow reflow, keyboard-only input, reduced motion, no result, invalid content and repeated activation as applicable. Static content remains readable when JavaScript is unavailable.
docs-mobile-navigation
Documentation narrow navigation
Observed
390 and 768 screenshots; expanded-menu candidate
Evidence boundary
State transition intentionally not exercised in this crawl.
Test narrow reflow, keyboard-only input, reduced motion, no result, invalid content and repeated activation as applicable. Static content remains readable when JavaScript is unavailable.
docs-search
Documentation search
Observed
closed trigger
Evidence boundary
State transition intentionally not exercised in this crawl.
Test narrow reflow, keyboard-only input, reduced motion, no result, invalid content and repeated activation as applicable. Static content remains readable when JavaScript is unavailable.
docs-theme
Documentation theme selection
Observed
theme trigger
Evidence boundary
State transition intentionally not exercised in this crawl.
Test narrow reflow, keyboard-only input, reduced motion, no result, invalid content and repeated activation as applicable. Static content remains readable when JavaScript is unavailable.
docs-copy-code
Code copy feedback
Observed
copy controls
Evidence boundary
State transition intentionally not exercised in this crawl.
Test narrow reflow, keyboard-only input, reduced motion, no result, invalid content and repeated activation as applicable. Static content remains readable when JavaScript is unavailable.
docs-code-tabs
Language/code tabs
Observed
tab labels and selected state candidate
Evidence boundary
State transition intentionally not exercised in this crawl.
Test narrow reflow, keyboard-only input, reduced motion, no result, invalid content and repeated activation as applicable. Static content remains readable when JavaScript is unavailable.
docs-disclosure
Concept/property disclosure
Observed
collapsed and expandable candidates
Evidence boundary
State transition intentionally not exercised in this crawl.
Test narrow reflow, keyboard-only input, reduced motion, no result, invalid content and repeated activation as applicable. Static content remains readable when JavaScript is unavailable.
docs-media-canvas
Image/map interaction
Observed
expand/zoom/pan/fullscreen triggers
Evidence boundary
State transition intentionally not exercised in this crawl.
Test narrow reflow, keyboard-only input, reduced motion, no result, invalid content and repeated activation as applicable. Static content remains readable when JavaScript is unavailable.
docs-page-feedback
Page feedback
Observed
initial Yes/No; disabled message input
Evidence boundary
State transition intentionally not exercised in this crawl.
Test narrow reflow, keyboard-only input, reduced motion, no result, invalid content and repeated activation as applicable. Static content remains readable when JavaScript is unavailable.
Test narrow reflow, keyboard-only input, reduced motion, no result, invalid content and repeated activation as applicable. Static content remains readable when JavaScript is unavailable.
docs-cookbook
Task-oriented cookbook
Observed
long content, code-heavy, selected table/image variants
Test narrow reflow, keyboard-only input, reduced motion, no result, invalid content and repeated activation as applicable. Static content remains readable when JavaScript is unavailable.
Test narrow reflow, keyboard-only input, reduced motion, no result, invalid content and repeated activation as applicable. Static content remains readable when JavaScript is unavailable.
Test narrow reflow, keyboard-only input, reduced motion, no result, invalid content and repeated activation as applicable. Static content remains readable when JavaScript is unavailable.
Content and environment extremes
Use long labels, a 300-character unbroken token, empty search, invalid email, an interrupted clipboard permission and a second activation. At 390px the document must stay within its viewport; code and data tables may scroll in labelled internal regions. At 200% text zoom, reading content remains in normal flow.
For an open page, controls need no network. A cold offline navigation requires the page and its assets to have been saved; this static reference does not install a service worker. No page claims a completed server operation.