Design reference

YouTube / Public web reference / 2026.09

Implementation contracts

Use the local HTML, CSS and JavaScript as the reference API. The package runs as static files behind a small local HTTP server.

All entries shown

Source map

ConcernFileContract
Product layout and tokensproduct.cssBase styles for recipe and component examples. Read exact selectors beside each specimen.
Product cascade correctionscontrol-overrides.cssLoaded after product.css. Includes measured layout corrections and state rules; retrieve both stylesheets.
Product behaviorproduct.jsNative controls and deterministic fixture state. No remote account writes.
Documentation shellguide.css · guide.jsGuide-only navigation, page filtering and theme toggle.
Data fixturesDownload local component contractsLocal anatomy, inputs, outputs, states and source references.
Source measurementsPackage: reference-data/component-geometry.jsonRaw production geometry retained with source captures.
Verificationscripts/crawl-site.cjs and control-audit-contract.jsonFour viewport crawl plus explicit before/after pointer and keyboard outcomes.

Run and reproduce

cd designs/youtube
python3 -m http.server 8765 --directory site

# From the repository root, in a second terminal:
.agents/skills/design-research/scripts/run-playwright.sh \
  designs/youtube/scripts/crawl-site.cjs \
  http://127.0.0.1:8765/ designs/youtube/evidence/local-crawl

.agents/skills/design-research/scripts/run-playwright.sh \
  .agents/skills/design-research/scripts/audit-controls.cjs \
  http://127.0.0.1:8765/ --contract \
  designs/youtube/reference-data/control-audit-contract.json

Machine-readable reference

component-api · local-component-contracts · local-governance · example-page-ledger · observed-tokens · operational-contract · premium-content-variants

Adding a variant

  1. Find the component row and its stable specimen.
  2. Keep public anatomy and semantic roles; add a named variant to the local CSS.
  3. Add fixture data, including long and missing content.
  4. Define the visible result, native or ARIA state and focus behavior.
  5. Add the specimen and coverage mapping. Never mark a local addition “observed”.
  6. Run the control audit and viewport comparison before changing the frozen package identity.

Integration boundaries

BoundaryRuleVerification
RoutingUse relative hrefs and encoded query parameters. No root-absolute asset paths.Crawl beneath both localhost and the published base URL.
SafetyUse textContent for untrusted fixture text. Do not place user text into HTML.Fixtures include angle brackets and long text; no inline executable content from inputs.
PersistenceFixture actions stay in memory. The appearance preference alone uses localStorage key youtube-fixture-theme with light or dark values; it lasts until site storage is cleared. No accounts or remote writes.Fresh browser contexts start from defaults. Reload preserves only the saved theme preference.
PrivacyNo telemetry or identity collection. Audio and video do not autoplay. Premium illustrations are lazy-loaded; reduced motion uses still frames.Browser resources remain local after page load except manually opened primary-source links.
PerformanceKeep first-page local transfer under 5 MB, no external runtime or font dependency.Retain resource sizes from crawl; use lazy loading for catalog images.
VersioningResearch date and source hashes identify a candidate. CSS/code or evidence edits require refreeze.Both manifests and the composite package hash must match each judge’s review.
OwnershipPackage maintainer owns source refresh, visual comparisons and regression repair.Reinspect sources before using the package for a new product release.

Accessibility target

The local reference targets WCAG 2.2 AA for implemented interactions. Use semantic landmarks, one page heading, visible keyboard focus, meaningful names, state announcements, 24 px minimum pointer targets and larger touch targets where space permits. Test Chromium keyboard behavior, 200% text resize, narrow reflow, reduced motion and forced colors. Automated checks do not establish a full assistive-technology or disabled-user usability study.

Reconstructed reference contract. These are local engineering requirements. Private YouTube source, framework contracts, rollout flags and operational guarantees remain unverified.

Local operational contract

These rules describe the static reference and its deterministic fixtures. Retrieve the operational contract.

ContractRule and recovery
delivery-budgetsInitial page resource transfer must stay below 5,000,000 bytes. Load fonts, scripts, styles, images and original fixture media from this publication. Lazy-load long catalog images. Do not autoplay audio or video. Lazy-load Premium animated illustrations and use deterministic first-frame posters when reduced motion is requested. Keep page overflow within one CSS pixel at 390, 768, 1440 and 1920 pixels.

Compress or defer the offending asset; retain its dimensions to prevent layout shifts. Recapture the affected page.

content-and-dataTreat video titles, query text and channel names as text. Encode query parameters with encodeURIComponent. Missing creator names use Channel unavailable; missing duration omits the duration badge. Keep object identity stable while filters change visibility. The local fixture contains a bounded collection; it does not promise production pagination, ranking or concurrency.

Use textContent or native input.value. Do not interpret fixture strings as markup. Add the failing long, Unicode or missing case to the family specimen.

interruption-and-recoveryLoaded controls remain usable offline. A repeated menu or account-gate action leaves one current layer. Escape closes the active layer and returns focus to its trigger. The static site has no service-worker cache: navigating or reloading offline may show the browser's network error. The browser owns native media buffering and clipboard permission failures; show explicit failure copy and keep surrounding content available.

Preserve query and object identity, cancel the current local layer, and expose a retry only when it can perform a real documented action.

account-and-authorizationEvery account-dependent local action opens the signed-out boundary. The fixture never changes a subscription, saves a playlist, sends a comment, authenticates an account or collects payment data. Keep private completion states outside observed claims. A public action's visibility is not proof that the user has permission to complete it.

Restore the gate and remove any false success state. Reverify both pointer and keyboard contracts.

privacy-and-storageNo cookies, telemetry, identity collection, watch-history persistence or runtime calls to third parties. Appearance alone may persist under youtube-fixture-theme with light or dark values. Ignore invalid stored values. If storage is disabled, retain the current in-memory appearance and keep controls usable. Users can reset appearance with Light or clear site storage.

Remove unexpected collection or network calls. Guard storage access; a storage error must not abort control initialization.

browser-and-input-boundaryVerified runtime is Chromium 152 with native semantics, pointer and keyboard input, at four viewport widths. The guide retains reduced-motion, forced-color and 200% text-resize tests. Native browser accessibility snapshots support semantic inspection. Physical assistive-technology user testing and other browser engines remain unverified; do not claim universal compatibility.

Record the failing environment and repair the local contract before adding it to the supported matrix.

diagnostics-and-changesRetain page URL, viewport, control selector, expected result and before/after state in local test reports. Never collect a visitor's query or activity to monitor this guide. There are no runtime experiments or feature flags. To roll back a release, restore the prior frozen static package and publish it under the same private site name. Any evaluated content change requires a new package and dependency freeze and new independent review.

Keep the failed release provisional, retain the failing report, restore the last verified package if necessary, and record the migration in CHANGELOG.md.

Run scripts/verify-operational.cjs through the Playwright wrapper. Its report records transfer budgets, external requests, unsafe query handling, repeated input, offline controls, appearance persistence and storage denial. The current verification result is kept in the package. A physical screen-reader study and other browsers remain outside the verified matrix.

Component APIs

Use the fields below together with the runnable specimen. State belongs to the named control or component, and parent containers own layout gaps.

global-header

Open the live specimen

Reconstructed reference contract. This API belongs to the local reconstruction. Captured production selectors support anatomy and appearance; they do not establish YouTube’s private programming interface.

Anatomy and supported states

menu trigger, logo link, search input, clear-query control, search submit, voice search, settings, sign-in

empty query, populated query, signed-out

Local API fieldContract
root[data-denominator="global-header"]
selectors.yt-header
.searchbox
.icon-button
.signin
authorityreconstructed local contract
inputsquery string q
defaultsquery:
drawerExpanded: true on desktop fixture
eventssubmit search form
click drawer
click voice
click sign in
outputssearch.html?q=<encoded query>
native required-message for empty query
local voice or sign-in boundary dialog
focusThe search input is tabbable. Boundary dialog receives focus and Escape restores the triggering control.
errorsempty query blocks navigation
voice and sign-in stay within the public-evidence boundary
motionGuide transform is 150ms except under reduced motion.
invariantsheader is 56px high
search uses a native form and named input
buttons have accessible names
stateOwnershipdata-action and ARIA state are owned by site/examples/product.js. CSS ownership is site/examples/product.css followed by site/examples/control-overrides.css. A state without an implemented matching denominator is explicitly unverified.
responsiveOwnership@media (max-width:900px) and @media (max-width:560px) in site/examples/product.css
semanticsUse native button, input, form, link, dialog, tablist, and tab semantics when the part is interactive. Preserve the captured aria-* state on the control that owns the action.

Production CSS trace

No source selector verified; consult the reconstruction boundary.

shell.header.search-combobox · 18 inventory-derived coverage rows

desktop-guide

Open the live specimen

Reconstructed reference contract. This API belongs to the local reconstruction. Captured production selectors support anatomy and appearance; they do not establish YouTube’s private programming interface.

Anatomy and supported states

guide trigger, primary route entries, explore grouping, more-from-YouTube grouping, sign-in prompt, collapse, show-more

expanded, collapsed, signed-out

Local API fieldContract
root[data-denominator="desktop-guide"]
selectors.guide
.guide a
.guide h2
authorityreconstructed local contract
inputsdrawer trigger
defaultsdesktop: expanded
narrow: off-canvas
eventsclick drawer
outputsguide open or collapsed class and matching aria-expanded
focusThe trigger retains normal button focus.
errors
motionNarrow guide transform is 150ms except under reduced motion.
invariantsguide is 240px wide when open
navigation links remain native anchors
stateOwnershipdata-action and ARIA state are owned by site/examples/product.js. CSS ownership is site/examples/product.css followed by site/examples/control-overrides.css. A state without an implemented matching denominator is explicitly unverified.
responsiveOwnership@media (max-width:900px) and @media (max-width:560px) in site/examples/product.css
semanticsUse native button, input, form, link, dialog, tablist, and tab semantics when the part is interactive. Preserve the captured aria-* state on the control that owns the action.

Production CSS trace

No source selector verified; consult the reconstruction boundary.

shell.navigation.guide · 20 inventory-derived coverage rows

search-filter-tab-row

Open the live specimen

Reconstructed reference contract. This API belongs to the local reconstruction. Captured production selectors support anatomy and appearance; they do not establish YouTube’s private programming interface.

Anatomy and supported states

scroll previous, filter tabs, scroll next, Filters trigger

aria-selected=true, aria-selected=false, overflow controls

Local API fieldContract
root[data-denominator="search-filter-tab-row"]
selectors.chip-row
.chip
.filters
.filters-panel
authorityreconstructed local contract
inputsselected filter tab
Filters trigger
defaultsselected: All
panel: closed
eventsclick filter tab
click Filters
outputsaria-selected moves to selected tab
matching result cards hide
status text announces filter
filter panel hidden state changes
focusTabs are native buttons with role=tab.
errors
motionNo scripted animation.
invariantsone filter tab has aria-selected=true
chip order is fixture data, not a production claim
stateOwnershipdata-action and ARIA state are owned by site/examples/product.js. CSS ownership is site/examples/product.css followed by site/examples/control-overrides.css. A state without an implemented matching denominator is explicitly unverified.
responsiveOwnership@media (max-width:900px) and @media (max-width:560px) in site/examples/product.css
semanticsUse native button, input, form, link, dialog, tablist, and tab semantics when the part is interactive. Preserve the captured aria-* state on the control that owns the action.

Production CSS trace

No source selector verified; consult the reconstruction boundary.

search.filters · 14 inventory-derived coverage rows

search-result-card

Open the live specimen

Reconstructed reference contract. This API belongs to the local reconstruction. Captured production selectors support anatomy and appearance; they do not establish YouTube’s private programming interface.

Anatomy and supported states

thumbnail, duration or live badge, title, channel identity, metadata, description, overflow action

standard, sponsored, live, mix, original long-title robustness fixture, original Arabic RTL robustness fixture, original missing-media robustness fixture

Local API fieldContract
root[data-denominator="search-result-card"]
selectors.results
.result
.thumb
.duration
.overflow
authorityreconstructed local contract
inputsoverflow trigger
menu choice
defaultsmenu: closed
result: visible
eventsclick More
click Not interested
click Save
outputsmenu role=menu opens
Not interested hides local card
Save opens public sign-in boundary
focusOpened menu receives focus on its first menu item.
errorsauthenticated save is intentionally blocked by the sign-in boundary
motionNo scripted animation.
invariantsthumbnail is a link
overflow state is owned by its card
stateOwnershipdata-action and ARIA state are owned by site/examples/product.js. CSS ownership is site/examples/product.css followed by site/examples/control-overrides.css. A state without an implemented matching denominator is explicitly unverified.
responsiveOwnership@media (max-width:900px) and @media (max-width:560px) in site/examples/product.css
semanticsUse native button, input, form, link, dialog, tablist, and tab semantics when the part is interactive. Preserve the captured aria-* state on the control that owns the action.

Production CSS trace

No source selector verified; consult the reconstruction boundary.

content.video-card · 20 inventory-derived coverage rows

video-player

Open the live specimen

Reconstructed reference contract. This API belongs to the local reconstruction. Captured production selectors support anatomy and appearance; they do not establish YouTube’s private programming interface.

Anatomy and supported states

play, next, mute, seek bar, live indicator, autoplay, CC, settings, theater, cast, fullscreen, like, dislike, share, save, download, more actions

paused, playing documented, unavailable observed, CC unavailable observed, settings collapsed, signed-out gated completion

Local API fieldContract
root[data-denominator="video-player"]
selectors.player
.unavailable
.player-controls
.seek
authorityreconstructed local contract
inputsunavailable fixture: settings trigger
local-media fixture: play or pause, mute, seek, settings, fullscreen
defaultsunavailableFixture: availability: unavailable
settings: closed
localMediaFixture: availability: original local media
paused: true
muted: true
autoplay: false
eventsclick unavailable-fixture settings
click local-media play or pause
click local-media mute
change local-media seek
click local-media settings
click local-media fullscreen
outputsunavailable settings role=menu toggles
local media play state and status update
local mute state and status update
local seek status updates
local settings menu opens
local fullscreen request updates aria-pressed
focusBoth settings triggers stay reachable; unavailable quality item is disabled.
errorsThe unavailable fixture does not claim usable playback.
The original local-media fixture does not claim YouTube stream playback, captions, quality, ads, or cast behavior.
motionNo scripted animation.
invariantsThe unavailable fixture remains distinct from the public playable-player observation.
The playable-local fixture uses original local media and never autoplays.
The seek bar is functional only in the original local-media fixture.
stateOwnershipdata-action and ARIA state are owned by site/examples/product.js. CSS ownership is site/examples/product.css followed by site/examples/control-overrides.css. A state without an implemented matching denominator is explicitly unverified.
responsiveOwnership@media (max-width:900px) and @media (max-width:560px) in site/examples/product.css
semanticsUse native button, input, form, link, dialog, tablist, and tab semantics when the part is interactive. Preserve the captured aria-* state on the control that owns the action.

Production CSS trace

No source selector verified; consult the reconstruction boundary.

watch.player · 32 inventory-derived coverage rows

playable-local-media

Open the live specimen

Reconstructed reference contract. This API belongs to the local reconstruction. Captured production selectors support anatomy and appearance; they do not establish YouTube’s private programming interface.

Anatomy and supported states

native video, play or pause, mute, seek, settings, full screen

no autoplay, paused, playing, muted, unmuted, reduced motion

Local API fieldContract
root[data-denominator="playable-local-media"]
selectors.playable-player
#local-video
.player-controls
[data-action="media-play"]
[data-action="media-mute"]
[data-action="media-seek"]
[data-action="media-settings"]
[data-action="media-fullscreen"]
authorityreconstructed local contract
inputsplay or pause
mute
seek value
settings
fullscreen
defaultspaused: true
muted: true
autoplay: false
mediaAuthority: original local two-second clip
eventsclick play or pause
click mute
change seek
click settings
click fullscreen
outputsnative video play state changes
mute state changes
status announces seek value
settings menu opens
fullscreen request sets aria-pressed
focusEvery control has an accessible name.
errorsThe clip is a local test fixture and makes no claim about YouTube playback content or production player behavior.
motionNo autoplay; native media progression begins only after an explicit play action.
invariantsOriginal local media only
separate component from the public-derived video player
the control test retains decoded dimensions and state transitions at 390px and 1440px
stateOwnershipdata-action and ARIA state are owned by site/examples/product.js. CSS ownership is site/examples/product.css followed by site/examples/control-overrides.css. A state without an implemented matching denominator is explicitly unverified.
responsiveOwnership@media (max-width:900px) and @media (max-width:560px) in site/examples/product.css
semanticsUse native button, input, form, link, dialog, tablist, and tab semantics when the part is interactive. Preserve the captured aria-* state on the control that owns the action.

Production CSS trace

No source selector verified; consult the reconstruction boundary.

fixture.native-video · 16 inventory-derived coverage rows

share-dialog

Open the live specimen

Reconstructed reference contract. This API belongs to the local reconstruction. Captured production selectors support anatomy and appearance; they do not establish YouTube’s private programming interface.

Anatomy and supported states

dialog, social-share target carousel, copy-link field and Copy action, Start at checkbox and time, close

opened, retrieval error observed

Local API fieldContract
root[data-denominator="share-dialog"]
selectors.share-dialog
.share-card
.share-link
authorityreconstructed local contract
inputsShare trigger
Copy link trigger
close or Escape
defaultsopen: false
externalShareTargets: not locally activated
eventsclick Share
click Close
Escape
copy link
outputsdialog hidden/aria-hidden changes
focus moves into dialog then returns
copy status reports success or fallback
focusThe dialog traps Tab between enabled controls.
errorsclipboard denial reports manual-copy fallback
external social-share targets are observed public anatomy but local boundary previews never send messages or open third-party services
motionNo scripted animation.
invariantsrole=dialog and aria-modal=true are on share card
the observed public dialog contains a social-target carousel, Copy link field, Start at checkbox/time, and close control
open-state geometry is separately compared to public Share dialog
stateOwnershipdata-action and ARIA state are owned by site/examples/product.js. CSS ownership is site/examples/product.css followed by site/examples/control-overrides.css. A state without an implemented matching denominator is explicitly unverified.
responsiveOwnership@media (max-width:900px) and @media (max-width:560px) in site/examples/product.css
semanticsUse native button, input, form, link, dialog, tablist, and tab semantics when the part is interactive. Preserve the captured aria-* state on the control that owns the action.

Production CSS trace

No source selector verified; consult the reconstruction boundary.

watch.share-dialog · 13 inventory-derived coverage rows

metadata-description

Open the live specimen

Reconstructed reference contract. This API belongs to the local reconstruction. Captured production selectors support anatomy and appearance; they do not establish YouTube’s private programming interface.

Anatomy and supported states

summary copy, more trigger, less trigger

collapsed, expanded

Local API fieldContract
root[data-denominator="metadata-description"]
selectors.description-toggle
.watch-title
.channel-line
authorityreconstructed local contract
inputsREAD MORE trigger
defaultsexpanded: false
eventsclick expand
outputstarget hidden state toggles
aria-expanded and label change
focusThe trigger keeps normal button focus.
errors
motionNo scripted animation.
invariantsdescription only appears when expanded
stateOwnershipdata-action and ARIA state are owned by site/examples/product.js. CSS ownership is site/examples/product.css followed by site/examples/control-overrides.css. A state without an implemented matching denominator is explicitly unverified.
responsiveOwnership@media (max-width:900px) and @media (max-width:560px) in site/examples/product.css
semanticsUse native button, input, form, link, dialog, tablist, and tab semantics when the part is interactive. Preserve the captured aria-* state on the control that owns the action.

Production CSS trace

No source selector verified; consult the reconstruction boundary.

watch.description · 9 inventory-derived coverage rows

channel-header

Open the live specimen

Reconstructed reference contract. This API belongs to the local reconstruction. Captured production selectors support anatomy and appearance; they do not establish YouTube’s private programming interface.

Anatomy and supported states

avatar or banner not measured, name, handle, counts, description, links disclosure, subscribe

public signed-out, description collapsed

Local API fieldContract
root[data-denominator="channel-header"]
selectors.channel-hero
.channel-cover
.channel-head
.subscribe
authorityreconstructed local contract
inputsdescription disclosure
Subscribe
defaultsdescription: collapsed
signedIn: false
eventsclick description
click Subscribe
outputsdescription state toggles
Subscribe opens sign-in boundary
focusDisclosure and Subscribe are native buttons.
errorschannel editing and Studio behavior are outside scope
motionNo scripted animation.
invariantslocal title and tab geometry retain mismatch evidence until repaired
stateOwnershipdata-action and ARIA state are owned by site/examples/product.js. CSS ownership is site/examples/product.css followed by site/examples/control-overrides.css. A state without an implemented matching denominator is explicitly unverified.
responsiveOwnership@media (max-width:900px) and @media (max-width:560px) in site/examples/product.css
semanticsUse native button, input, form, link, dialog, tablist, and tab semantics when the part is interactive. Preserve the captured aria-* state on the control that owns the action.

Production CSS trace

No source selector verified; consult the reconstruction boundary.

channel.header · 15 inventory-derived coverage rows

channel-tabs

Open the live specimen

Reconstructed reference contract. This API belongs to the local reconstruction. Captured production selectors support anatomy and appearance; they do not establish YouTube’s private programming interface.

Anatomy and supported states

Home, Videos, Shorts, Live, Podcasts, Playlists, Posts

one selected, remaining unselected

Local API fieldContract
root[data-denominator="channel-tabs"]
selectors.tabs
.tabs button
.tabs button[aria-selected=true]
authorityreconstructed local contract
inputsselected channel tab
defaultsselected: Home
eventsclick tab
outputsaria-selected moves
local shelf heading and cards update
status text changes
focusTabs are native buttons with role=tab.
errors
motionNo scripted animation.
invariantsexactly one tab is selected
tabs overflow horizontally rather than wrapping
stateOwnershipdata-action and ARIA state are owned by site/examples/product.js. CSS ownership is site/examples/product.css followed by site/examples/control-overrides.css. A state without an implemented matching denominator is explicitly unverified.
responsiveOwnership@media (max-width:900px) and @media (max-width:560px) in site/examples/product.css
semanticsUse native button, input, form, link, dialog, tablist, and tab semantics when the part is interactive. Preserve the captured aria-* state on the control that owns the action.

Production CSS trace

No source selector verified; consult the reconstruction boundary.

channel.tabs · 20 inventory-derived coverage rows

history-gate

Open the live specimen

Reconstructed reference contract. This API belongs to the local reconstruction. Captured production selectors support anatomy and appearance; they do not establish YouTube’s private programming interface.

Anatomy and supported states

heading, explanatory copy, sign-in action, watch/search history controls

signed out

Local API fieldContract
root[data-denominator="history-gate"]
selectors.history-gate
.history-actions
authorityreconstructed local contract
inputsSign in action
defaultssignedIn: false
eventsclick sign in
outputspublic sign-in boundary dialog
focusSign-in action remains a native button.
errorspersonal history rows are not fabricated
motionNo scripted animation.
invariantssigned-out gate has no private history data
stateOwnershipdata-action and ARIA state are owned by site/examples/product.js. CSS ownership is site/examples/product.css followed by site/examples/control-overrides.css. A state without an implemented matching denominator is explicitly unverified.
responsiveOwnership@media (max-width:900px) and @media (max-width:560px) in site/examples/product.css
semanticsUse native button, input, form, link, dialog, tablist, and tab semantics when the part is interactive. Preserve the captured aria-* state on the control that owns the action.

Production CSS trace

No source selector verified; consult the reconstruction boundary.

access.signed-out-gate · 11 inventory-derived coverage rows

playlist-save-flow

Open the live specimen

Reconstructed reference contract. This API belongs to the local reconstruction. Captured production selectors support anatomy and appearance; they do not establish YouTube’s private programming interface.

Anatomy and supported states

playlist identity and cover, ordered playlist rows, type filters, more action, save account gate, public sign-in boundary

public signed-out viewing, account-gated save

Local API fieldContract
root[data-denominator="playlist-save-flow"]
selectors.playlist
.playlist-cover
.playlist-row
authorityreconstructed local contract
inputsplaylist type filter
More action
Save action
defaultssignedIn: false
filter: All
eventsclick filter
click More
click Save
outputspublic ordered rows filter
Save opens the public sign-in boundary
focusFilters and actions remain native buttons; the boundary dialog receives focus.
errorsAuthenticated playlist creation, naming, privacy editing, and reordering are retained boundaries rather than fabricated public UI.
motionNo scripted animation.
invariantsThe local contract covers public playlist identity, ordered rows, type filters, More, and account-gated Save only.
The dynamic sign-in boundary proves the signed-out path without asserting an authenticated playlist editor.
stateOwnershipdata-action and ARIA state are owned by site/examples/product.js. CSS ownership is site/examples/product.css followed by site/examples/control-overrides.css. A state without an implemented matching denominator is explicitly unverified.
responsiveOwnership@media (max-width:900px) and @media (max-width:560px) in site/examples/product.css
semanticsUse native button, input, form, link, dialog, tablist, and tab semantics when the part is interactive. Preserve the captured aria-* state on the control that owns the action.

Production CSS trace

No source selector verified; consult the reconstruction boundary.

collection.playlist-list · 14 inventory-derived coverage rows

shorts-player

Open the live specimen

Reconstructed reference contract. This API belongs to the local reconstruction. Captured production selectors support anatomy and appearance; they do not establish YouTube’s private programming interface.

Anatomy and supported states

vertical Short, continuous feed, overlay controls not captured

continuous advance documented, Clear Screen staged rollout

Local API fieldContract
root[data-denominator="shorts-player"]
selectors.shorts-viewer
.short-frame
.short-overlay
.short-actions
authorityreconstructed local contract
inputslike
dislike
share
next
defaultsselected: false
currentItem: 1
eventsclick toggle
click Share
click next
outputsaria-pressed toggles
Share dialog opens
fixture title/image/status changes
focusEvery action has an accessible name.
errorscontinuous feed runtime and playback controls remain unverified
motionNo scripted animation.
invariantsvertical frame remains distinct from normal video player
stateOwnershipdata-action and ARIA state are owned by site/examples/product.js. CSS ownership is site/examples/product.css followed by site/examples/control-overrides.css. A state without an implemented matching denominator is explicitly unverified.
responsiveOwnership@media (max-width:900px) and @media (max-width:560px) in site/examples/product.css
semanticsUse native button, input, form, link, dialog, tablist, and tab semantics when the part is interactive. Preserve the captured aria-* state on the control that owns the action.

Production CSS trace

No source selector verified; consult the reconstruction boundary.

shorts.viewer · 12 inventory-derived coverage rows

appearance-menu

Open the live specimen

Reconstructed reference contract. This API belongs to the local reconstruction. Captured production selectors support anatomy and appearance; they do not establish YouTube’s private programming interface.

Anatomy and supported states

settings trigger, appearance choice menu

menu open, appearance open, light option, dark option

Local API fieldContract
root[data-denominator="appearance-menu"]
selectors.settings
.popover
authorityreconstructed local contract
inputsSettings trigger
appearance choice
defaultsopen: false
localTheme: light unless a prior local choice is retained
eventsclick Settings
click Light appearance
click Dark appearance
outputsmenu hidden state changes
document data-theme changes
local logo asset updates
local theme choice is retained in localStorage
focusThe trigger and choices are native buttons with menu/menuitem roles.
errorsProduction persistence, every production appearance choice, and preference retrieval errors are not asserted by this local reconstruction.
motionNo scripted animation.
invariantsThe retained public opened-state capture establishes Appearance Back and the selected Light-theme check.
The local Light/Dark selection and persistence contract is a reconstruction tested at 390px and 1440px.
stateOwnershipdata-action and ARIA state are owned by site/examples/product.js. CSS ownership is site/examples/product.css followed by site/examples/control-overrides.css. A state without an implemented matching denominator is explicitly unverified.
responsiveOwnership@media (max-width:900px) and @media (max-width:560px) in site/examples/product.css
semanticsUse native button, input, form, link, dialog, tablist, and tab semantics when the part is interactive. Preserve the captured aria-* state on the control that owns the action.

Production CSS trace

No source selector verified; consult the reconstruction boundary.

shell.navigation.settings-appearance · 12 inventory-derived coverage rows

premium-plan-faq

Open the live specimen

Reconstructed reference contract. This API belongs to the local reconstruction. Captured production selectors support anatomy and appearance; they do not establish YouTube’s private programming interface.

Anatomy and supported states

hero and exact Premium logo, membership plan cards and native choices, Premium Lite benefit boundary, public feature sections, loaded public feature media, membership comparison, membership CTAs, public Help and terms links, Contact us sign-in boundary, seven FAQ disclosures, alternate Lite explainer intro, alternate Lite explainer four-feature group

public signed-out landing, plan selection monthly, plan selection annual, FAQ collapsed, FAQ expanded, sign-in purchase boundary, alternate Lite explainer query variant

Local API fieldContract
root[data-denominator="premium-plan-faq"]
selectors.premium
.premium-hero
.premium-logo
.premium-plan-grid
.premium-plan
.premium-plan-option
.premium-lite-card
.premium-features
.premium-feature-media
.premium-lite-explainer
.premium-lite-features
.premium-lite-feature-image
.premium-compare-grid
.premium-compare-head
.premium-compare-plan-title
.premium-compare-cancel
.premium-check
.premium-compare-note
.premium-ready
.premium-inline-link
.premium-external-cue
.premium-faq
.premium-faq-item button
.premium-faq-answer
authorityreconstructed local contract
inputsmonthly or annual Individual plan radio
membership CTA
public Terms and Help link
Contact us signed-out link
FAQ disclosure
explicit alternate Lite explainer query
defaultssignedIn: false
individualPlan: monthly
faq: all seven disclosures collapsed
offerVariant: primary; Lite explainer is selected only by ?offer=lite-explainer
eventsload explicit alternate Lite explainer query
change Individual plan radio
click membership CTA
follow observed public Terms or Help link
click Contact us
keyboard or pointer activate FAQ disclosure
outputsselected Individual plan status and CTA label
observed public Terms and Help destinations
Contact us and membership CTAs open the public sign-in boundary
FAQ target hidden state and aria-expanded change
alternate Lite intro and four illustration cards when the explicit local query is selected
focusPlan choices are native radios. Membership, Contact us, and FAQ actions are native buttons; the FAQ button retains focus after it expands.
errorsCheckout, payment, entitlement, account eligibility, cancellation, and live billing prices are private or time-sensitive boundaries. Captured amounts and trials are dated examples only. Contact us retains the captured signed-out account boundary; it does not claim a support outcome.
motionFAQ chevron rotation is disabled under reduced motion. Animated Premium feature illustrations use exact first-frame PNG posters under prefers-reduced-motion; this is a verified local addition.
invariantsInline public links are underlined so their meaning does not depend on color; this is a local accessibility addition.
The signed-out public landing keeps its source-recovered hero, cards, loaded feature media, comparison, public Help and Terms links, and seven disclosed questions.
The explicit Lite-explainer query represents the separately observed signed-out response family; it is a local content selector, not a claimed production URL contract.
The local plan choice and sign-in boundaries prove only the static reconstruction; they do not claim private purchase, account, or support behavior.
stateOwnershipFAQ disclosure and the Individual plan radio status are owned by site/examples/premium.js. Membership CTAs use the existing site/examples/product.js sign-in boundary. CSS ownership is site/examples/premium.css after product.css and control-overrides.css.
responsiveOwnership@media (max-width:700px) in site/examples/premium.css
semanticsUse native button, input, form, link, dialog, tablist, and tab semantics when the part is interactive. Preserve the captured aria-* state on the control that owns the action.

Production CSS trace

No source selector verified; consult the reconstruction boundary.

marketing.premium · 23 inventory-derived coverage rows