{
  "url": "https://www.apple.com",
  "auditedAt": "2026-07-24T10:42:33.698Z",
  "mode": "report",
  "status": "completed",
  "statusDetail": "Coverage-complete report-mode audit of eight representative routes/templates and conditions.",
  "page": {
    "appType": "mpa",
    "framework": "Server-rendered multi-page site with custom Apple global navigation and template JavaScript",
    "notes": "Public marketing, product, accessibility, search, error, internationalised, and commerce-entry surfaces. Not covered: authenticated account management, payment submission, order completion, and post-purchase support because they require credentials, personal data, or a real transaction."
  },
  "evidenceUsed": [
    "screenshot",
    "video",
    "layout-metrics",
    "dom",
    "evaluate-probe",
    "trace",
    "har",
    "discoverability",
    "headers",
    "cookies",
    "trackers",
    "secrets",
    "images",
    "heap-summary",
    "lighthouse",
    "robots.txt",
    "sitemap.xml",
    "Modern Web Guidance 0.0.172"
  ],
  "guidanceConsulted": [
    "accessibility",
    "accessible-error-announcement",
    "adapt-scrollbar-to-contrast-preferences",
    "agentic-forms",
    "agentic-javascript-tools",
    "anchor-positioning-tab-underline",
    "animate-element-entry-exit",
    "animate-to-from-top-layer",
    "animate-to-intrinsic-sizes",
    "animated-select-picker",
    "apply-webgl-shaders",
    "autofill-address-form",
    "autofill-highlight-inputs",
    "autofill-payment-form",
    "autofill-sign-in-form",
    "autofill-sign-up-form",
    "batch-analytics-events",
    "brand-consistent-forms",
    "branded-select-styling",
    "break-up-long-tasks",
    "calculate-event-differentials",
    "calculate-total-foreground-time",
    "calculate-with-intrinsic-sizes",
    "capture-location-agnostic-data",
    "carousel-slide-effects",
    "carousel-snap-highlights",
    "child-state-based-styling",
    "complex-shapes",
    "component-specific-light-dark-theme",
    "conditional-async-dependencies",
    "consistent-cross-document-transitions",
    "content-based-styling",
    "coordinate-global-events",
    "cross-document-transitions",
    "css",
    "css-layout",
    "custom-select-picker-layouts",
    "customize-scrollbar-color-and-thickness",
    "dark-mode",
    "declarative-dialog-popover-control",
    "defer-rendering-heavy-content",
    "defer-work-until-scroll-ends",
    "deliver-optimized-decorative-images",
    "deprioritize-background-fetches",
    "design-token-reactivity",
    "detect-initial-visibility-state",
    "directional-navigation-transitions",
    "dynamic-sibling-animations",
    "dynamic-sibling-styling",
    "efficient-background-processing",
    "export-html-media-from-canvas",
    "expose-canvas-content-to-browser-features",
    "faster-spa-view-transitions",
    "flicker-free-client-side-ab-testing",
    "fluid-scaling",
    "form-fields-automatically-fit-contents",
    "format-human-readable-durations",
    "forms",
    "full-session-analytics",
    "group-element-transitions",
    "highlight-text-ranges",
    "html",
    "identify-heavy-scripts",
    "identify-inp-causes",
    "improve-next-page-load-performance",
    "improve-text-layout-and-legibility",
    "individual-transform-properties",
    "interactions-in-complex-layouts",
    "interactive-content-in-3d-scenes",
    "interactive-content-reveal",
    "interest-triggered-action-previews",
    "interest-triggered-tooltips",
    "language-detection",
    "language-model",
    "light-dismiss-a-dialog",
    "manage-recurring-intervals",
    "model-partial-time-concepts",
    "move-dom-element-without-losing-state",
    "navigation-drawer",
    "optimize-image-priority",
    "optimize-preload-priority",
    "optimize-script-priority",
    "overflow-clipping-control",
    "parallax-scroll-effects",
    "passkey-authentication",
    "passkey-conditional-create",
    "passkey-management",
    "passkey-reauthentication",
    "passkey-registration",
    "passkeys",
    "performance",
    "persistent-app-tours",
    "persistent-toast-notifications",
    "persistent-top-layer-ui",
    "physics-based-easing",
    "platform-controls-dismiss-dialog",
    "position-aware-tooltips",
    "precise-text-alignment",
    "prevent-text-wrapping",
    "privacy",
    "pull-to-reveal",
    "reduce-style-repetition",
    "required-field-feedback",
    "resilient-context-menus-and-nested-dropdowns",
    "resolution-optimized-pseudo-elements",
    "rich-media-picker",
    "same-document-transitions",
    "schedule-tasks-by-priority",
    "scroll-entry-exit-effects",
    "scroll-position-aware-elements",
    "scroll-progress-indicator",
    "scroll-snap-realtime-feedback",
    "scroll-snap-state-sync",
    "scroll-target-on-load",
    "scrollability-affordance-hints",
    "scrollytelling",
    "search-hidden-content",
    "security",
    "select-menu-interaction",
    "sequence-distributed-events",
    "shaped-cutouts",
    "shrinking-header-on-scroll",
    "size-aware-styling",
    "soft-edge-content-fade",
    "stabilize-reactive-state",
    "stack-drill-down",
    "style-parent-with-has",
    "summarizer",
    "support-global-calendar-systems",
    "swipe-to-remove",
    "translator",
    "validate-input-after-interaction",
    "visually-stable-font-fallbacks",
    "visually-stable-mixed-fonts",
    "visually-texture-content",
    "webmcp"
  ],
  "artifacts": [
    {
      "type": "other",
      "path": "evidence/404-probe.json",
      "caption": "Audit evidence: 404-probe.json"
    },
    {
      "type": "screenshot",
      "path": "evidence/404.png",
      "caption": "Audit evidence: 404.png"
    },
    {
      "type": "layout",
      "path": "evidence/accessibility-mobile-layout.json",
      "caption": "Audit evidence: accessibility-mobile-layout.json",
      "findingIds": [
        "F-006",
        "F-007"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/accessibility.png",
      "caption": "Audit evidence: accessibility.png"
    },
    {
      "type": "other",
      "path": "evidence/buy-flow-probe.json",
      "caption": "Audit evidence: buy-flow-probe.json"
    },
    {
      "type": "screenshot",
      "path": "evidence/buy-flow.png",
      "caption": "Audit evidence: buy-flow.png"
    },
    {
      "type": "other",
      "path": "evidence/capabilities-probe.json",
      "caption": "Audit evidence: capabilities-probe.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/accessibility.md",
      "caption": "Audit evidence: accessibility.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/accessible-error-announcement.md",
      "caption": "Audit evidence: accessible-error-announcement.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/adapt-scrollbar-to-contrast-preferences.md",
      "caption": "Audit evidence: adapt-scrollbar-to-contrast-preferences.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/agentic-forms.md",
      "caption": "Audit evidence: agentic-forms.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/agentic-javascript-tools.md",
      "caption": "Audit evidence: agentic-javascript-tools.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/anchor-positioning-tab-underline.md",
      "caption": "Audit evidence: anchor-positioning-tab-underline.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/animate-element-entry-exit.md",
      "caption": "Audit evidence: animate-element-entry-exit.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/animate-to-from-top-layer.md",
      "caption": "Audit evidence: animate-to-from-top-layer.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/animate-to-intrinsic-sizes.md",
      "caption": "Audit evidence: animate-to-intrinsic-sizes.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/animated-select-picker.md",
      "caption": "Audit evidence: animated-select-picker.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/apply-webgl-shaders.md",
      "caption": "Audit evidence: apply-webgl-shaders.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/autofill-address-form.md",
      "caption": "Audit evidence: autofill-address-form.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/autofill-highlight-inputs.md",
      "caption": "Audit evidence: autofill-highlight-inputs.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/autofill-payment-form.md",
      "caption": "Audit evidence: autofill-payment-form.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/autofill-sign-in-form.md",
      "caption": "Audit evidence: autofill-sign-in-form.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/autofill-sign-up-form.md",
      "caption": "Audit evidence: autofill-sign-up-form.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/batch-analytics-events.md",
      "caption": "Audit evidence: batch-analytics-events.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/brand-consistent-forms.md",
      "caption": "Audit evidence: brand-consistent-forms.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/branded-select-styling.md",
      "caption": "Audit evidence: branded-select-styling.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/break-up-long-tasks.md",
      "caption": "Audit evidence: break-up-long-tasks.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/calculate-event-differentials.md",
      "caption": "Audit evidence: calculate-event-differentials.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/calculate-total-foreground-time.md",
      "caption": "Audit evidence: calculate-total-foreground-time.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/calculate-with-intrinsic-sizes.md",
      "caption": "Audit evidence: calculate-with-intrinsic-sizes.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/capture-location-agnostic-data.md",
      "caption": "Audit evidence: capture-location-agnostic-data.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/carousel-slide-effects.md",
      "caption": "Audit evidence: carousel-slide-effects.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/carousel-snap-highlights.md",
      "caption": "Audit evidence: carousel-snap-highlights.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/child-state-based-styling.md",
      "caption": "Audit evidence: child-state-based-styling.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/complex-shapes.md",
      "caption": "Audit evidence: complex-shapes.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/component-specific-light-dark-theme.md",
      "caption": "Audit evidence: component-specific-light-dark-theme.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/conditional-async-dependencies.md",
      "caption": "Audit evidence: conditional-async-dependencies.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/consistent-cross-document-transitions.md",
      "caption": "Audit evidence: consistent-cross-document-transitions.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/content-based-styling.md",
      "caption": "Audit evidence: content-based-styling.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/coordinate-global-events.md",
      "caption": "Audit evidence: coordinate-global-events.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/cross-document-transitions.md",
      "caption": "Audit evidence: cross-document-transitions.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/css-layout.md",
      "caption": "Audit evidence: css-layout.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/css.md",
      "caption": "Audit evidence: css.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/custom-select-picker-layouts.md",
      "caption": "Audit evidence: custom-select-picker-layouts.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/customize-scrollbar-color-and-thickness.md",
      "caption": "Audit evidence: customize-scrollbar-color-and-thickness.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/dark-mode.md",
      "caption": "Audit evidence: dark-mode.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/declarative-dialog-popover-control.md",
      "caption": "Audit evidence: declarative-dialog-popover-control.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/defer-rendering-heavy-content.md",
      "caption": "Audit evidence: defer-rendering-heavy-content.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/defer-work-until-scroll-ends.md",
      "caption": "Audit evidence: defer-work-until-scroll-ends.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/deliver-optimized-decorative-images.md",
      "caption": "Audit evidence: deliver-optimized-decorative-images.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/deprioritize-background-fetches.md",
      "caption": "Audit evidence: deprioritize-background-fetches.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/design-token-reactivity.md",
      "caption": "Audit evidence: design-token-reactivity.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/detect-initial-visibility-state.md",
      "caption": "Audit evidence: detect-initial-visibility-state.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/directional-navigation-transitions.md",
      "caption": "Audit evidence: directional-navigation-transitions.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/dynamic-sibling-animations.md",
      "caption": "Audit evidence: dynamic-sibling-animations.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/dynamic-sibling-styling.md",
      "caption": "Audit evidence: dynamic-sibling-styling.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/efficient-background-processing.md",
      "caption": "Audit evidence: efficient-background-processing.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/export-html-media-from-canvas.md",
      "caption": "Audit evidence: export-html-media-from-canvas.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/expose-canvas-content-to-browser-features.md",
      "caption": "Audit evidence: expose-canvas-content-to-browser-features.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/faster-spa-view-transitions.md",
      "caption": "Audit evidence: faster-spa-view-transitions.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/flicker-free-client-side-ab-testing.md",
      "caption": "Audit evidence: flicker-free-client-side-ab-testing.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/fluid-scaling.md",
      "caption": "Audit evidence: fluid-scaling.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/form-fields-automatically-fit-contents.md",
      "caption": "Audit evidence: form-fields-automatically-fit-contents.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/format-human-readable-durations.md",
      "caption": "Audit evidence: format-human-readable-durations.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/forms.md",
      "caption": "Audit evidence: forms.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/full-session-analytics.md",
      "caption": "Audit evidence: full-session-analytics.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/group-element-transitions.md",
      "caption": "Audit evidence: group-element-transitions.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/highlight-text-ranges.md",
      "caption": "Audit evidence: highlight-text-ranges.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/html.md",
      "caption": "Audit evidence: html.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/identify-heavy-scripts.md",
      "caption": "Audit evidence: identify-heavy-scripts.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/identify-inp-causes.md",
      "caption": "Audit evidence: identify-inp-causes.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/improve-next-page-load-performance.md",
      "caption": "Audit evidence: improve-next-page-load-performance.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/improve-text-layout-and-legibility.md",
      "caption": "Audit evidence: improve-text-layout-and-legibility.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/individual-transform-properties.md",
      "caption": "Audit evidence: individual-transform-properties.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/interactions-in-complex-layouts.md",
      "caption": "Audit evidence: interactions-in-complex-layouts.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/interactive-content-in-3d-scenes.md",
      "caption": "Audit evidence: interactive-content-in-3d-scenes.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/interactive-content-reveal.md",
      "caption": "Audit evidence: interactive-content-reveal.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/interest-triggered-action-previews.md",
      "caption": "Audit evidence: interest-triggered-action-previews.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/interest-triggered-tooltips.md",
      "caption": "Audit evidence: interest-triggered-tooltips.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/language-detection.md",
      "caption": "Audit evidence: language-detection.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/language-model.md",
      "caption": "Audit evidence: language-model.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/light-dismiss-a-dialog.md",
      "caption": "Audit evidence: light-dismiss-a-dialog.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/manage-recurring-intervals.md",
      "caption": "Audit evidence: manage-recurring-intervals.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/model-partial-time-concepts.md",
      "caption": "Audit evidence: model-partial-time-concepts.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/move-dom-element-without-losing-state.md",
      "caption": "Audit evidence: move-dom-element-without-losing-state.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/navigation-drawer.md",
      "caption": "Audit evidence: navigation-drawer.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/optimize-image-priority.md",
      "caption": "Audit evidence: optimize-image-priority.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/optimize-preload-priority.md",
      "caption": "Audit evidence: optimize-preload-priority.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/optimize-script-priority.md",
      "caption": "Audit evidence: optimize-script-priority.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/overflow-clipping-control.md",
      "caption": "Audit evidence: overflow-clipping-control.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/parallax-scroll-effects.md",
      "caption": "Audit evidence: parallax-scroll-effects.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/passkey-authentication.md",
      "caption": "Audit evidence: passkey-authentication.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/passkey-conditional-create.md",
      "caption": "Audit evidence: passkey-conditional-create.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/passkey-management.md",
      "caption": "Audit evidence: passkey-management.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/passkey-reauthentication.md",
      "caption": "Audit evidence: passkey-reauthentication.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/passkey-registration.md",
      "caption": "Audit evidence: passkey-registration.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/passkeys.md",
      "caption": "Audit evidence: passkeys.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/performance.md",
      "caption": "Audit evidence: performance.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/persistent-app-tours.md",
      "caption": "Audit evidence: persistent-app-tours.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/persistent-toast-notifications.md",
      "caption": "Audit evidence: persistent-toast-notifications.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/persistent-top-layer-ui.md",
      "caption": "Audit evidence: persistent-top-layer-ui.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/physics-based-easing.md",
      "caption": "Audit evidence: physics-based-easing.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/platform-controls-dismiss-dialog.md",
      "caption": "Audit evidence: platform-controls-dismiss-dialog.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/position-aware-tooltips.md",
      "caption": "Audit evidence: position-aware-tooltips.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/precise-text-alignment.md",
      "caption": "Audit evidence: precise-text-alignment.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/prevent-text-wrapping.md",
      "caption": "Audit evidence: prevent-text-wrapping.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/privacy.md",
      "caption": "Audit evidence: privacy.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/pull-to-reveal.md",
      "caption": "Audit evidence: pull-to-reveal.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/reduce-style-repetition.md",
      "caption": "Audit evidence: reduce-style-repetition.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/required-field-feedback.md",
      "caption": "Audit evidence: required-field-feedback.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/resilient-context-menus-and-nested-dropdowns.md",
      "caption": "Audit evidence: resilient-context-menus-and-nested-dropdowns.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/resolution-optimized-pseudo-elements.md",
      "caption": "Audit evidence: resolution-optimized-pseudo-elements.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/rich-media-picker.md",
      "caption": "Audit evidence: rich-media-picker.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/same-document-transitions.md",
      "caption": "Audit evidence: same-document-transitions.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/schedule-tasks-by-priority.md",
      "caption": "Audit evidence: schedule-tasks-by-priority.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/scroll-entry-exit-effects.md",
      "caption": "Audit evidence: scroll-entry-exit-effects.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/scroll-position-aware-elements.md",
      "caption": "Audit evidence: scroll-position-aware-elements.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/scroll-progress-indicator.md",
      "caption": "Audit evidence: scroll-progress-indicator.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/scroll-snap-realtime-feedback.md",
      "caption": "Audit evidence: scroll-snap-realtime-feedback.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/scroll-snap-state-sync.md",
      "caption": "Audit evidence: scroll-snap-state-sync.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/scroll-target-on-load.md",
      "caption": "Audit evidence: scroll-target-on-load.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/scrollability-affordance-hints.md",
      "caption": "Audit evidence: scrollability-affordance-hints.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/scrollytelling.md",
      "caption": "Audit evidence: scrollytelling.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/search-hidden-content.md",
      "caption": "Audit evidence: search-hidden-content.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/security.md",
      "caption": "Audit evidence: security.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/select-menu-interaction.md",
      "caption": "Audit evidence: select-menu-interaction.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/sequence-distributed-events.md",
      "caption": "Audit evidence: sequence-distributed-events.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/shaped-cutouts.md",
      "caption": "Audit evidence: shaped-cutouts.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/shrinking-header-on-scroll.md",
      "caption": "Audit evidence: shrinking-header-on-scroll.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/size-aware-styling.md",
      "caption": "Audit evidence: size-aware-styling.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/soft-edge-content-fade.md",
      "caption": "Audit evidence: soft-edge-content-fade.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/stabilize-reactive-state.md",
      "caption": "Audit evidence: stabilize-reactive-state.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/stack-drill-down.md",
      "caption": "Audit evidence: stack-drill-down.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/style-parent-with-has.md",
      "caption": "Audit evidence: style-parent-with-has.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/summarizer.md",
      "caption": "Audit evidence: summarizer.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/support-global-calendar-systems.md",
      "caption": "Audit evidence: support-global-calendar-systems.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/swipe-to-remove.md",
      "caption": "Audit evidence: swipe-to-remove.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/translator.md",
      "caption": "Audit evidence: translator.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/validate-input-after-interaction.md",
      "caption": "Audit evidence: validate-input-after-interaction.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/visually-stable-font-fallbacks.md",
      "caption": "Audit evidence: visually-stable-font-fallbacks.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/visually-stable-mixed-fonts.md",
      "caption": "Audit evidence: visually-stable-mixed-fonts.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/visually-texture-content.md",
      "caption": "Audit evidence: visually-texture-content.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/retrieve/webmcp.md",
      "caption": "Audit evidence: webmcp.md"
    },
    {
      "type": "other",
      "path": "evidence/guidance/search/adapt-to-the-form-factor__component-level-responsiveness.json",
      "caption": "Audit evidence: adapt-to-the-form-factor__component-level-responsiveness.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance/search/adapt-to-the-form-factor__input-modality-aware.json",
      "caption": "Audit evidence: adapt-to-the-form-factor__input-modality-aware.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance/search/adapt-to-the-form-factor__responsive-no-horizontal-scroll.json",
      "caption": "Audit evidence: adapt-to-the-form-factor__responsive-no-horizontal-scroll.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance/search/be-agent-ready__on-device-inference.json",
      "caption": "Audit evidence: be-agent-ready__on-device-inference.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance/search/be-agent-ready__structured-agent-capabilities.json",
      "caption": "Audit evidence: be-agent-ready__structured-agent-capabilities.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance/search/be-discoverable__canonical-and-indexing-signals.json",
      "caption": "Audit evidence: be-discoverable__canonical-and-indexing-signals.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance/search/be-discoverable__crawlable-and-mobile-friendly.json",
      "caption": "Audit evidence: be-discoverable__crawlable-and-mobile-friendly.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance/search/be-discoverable__structured-and-shareable-metadata.json",
      "caption": "Audit evidence: be-discoverable__structured-and-shareable-metadata.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance/search/be-discoverable__title-and-description.json",
      "caption": "Audit evidence: be-discoverable__title-and-description.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance/search/be-fast-and-stable__efficient-main-thread.json",
      "caption": "Audit evidence: be-fast-and-stable__efficient-main-thread.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance/search/be-fast-and-stable__efficient-resource-delivery.json",
      "caption": "Audit evidence: be-fast-and-stable__efficient-resource-delivery.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance/search/be-fast-and-stable__good-core-web-vitals.json",
      "caption": "Audit evidence: be-fast-and-stable__good-core-web-vitals.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance/search/be-fast-and-stable__trim-unused-and-duplicate-code.json",
      "caption": "Audit evidence: be-fast-and-stable__trim-unused-and-duplicate-code.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance/search/be-fast-and-stable__visual-stability.json",
      "caption": "Audit evidence: be-fast-and-stable__visual-stability.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance/search/be-inclusive__legible-text.json",
      "caption": "Audit evidence: be-inclusive__legible-text.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance/search/be-inclusive__names-roles-labels.json",
      "caption": "Audit evidence: be-inclusive__names-roles-labels.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance/search/be-inclusive__structure-and-focus.json",
      "caption": "Audit evidence: be-inclusive__structure-and-focus.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance/search/be-inclusive__sufficient-contrast.json",
      "caption": "Audit evidence: be-inclusive__sufficient-contrast.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance/search/be-inclusive__zoom-reflow-targets-and-media.json",
      "caption": "Audit evidence: be-inclusive__zoom-reflow-targets-and-media.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance/search/be-internationalised__lang-dir-and-logical-properties.json",
      "caption": "Audit evidence: be-internationalised__lang-dir-and-logical-properties.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance/search/be-internationalised__locale-aware-data.json",
      "caption": "Audit evidence: be-internationalised__locale-aware-data.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance/search/be-internationalised__time-zone-correctness.json",
      "caption": "Audit evidence: be-internationalised__time-zone-correctness.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance/search/be-memory-efficient__bounded-footprint.json",
      "caption": "Audit evidence: be-memory-efficient__bounded-footprint.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance/search/be-memory-efficient__no-detached-dom-or-unbounded-listeners.json",
      "caption": "Audit evidence: be-memory-efficient__no-detached-dom-or-unbounded-listeners.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance/search/be-memory-efficient__no-leak-under-repeated-interaction.json",
      "caption": "Audit evidence: be-memory-efficient__no-leak-under-repeated-interaction.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance/search/be-private-and-secure__data-minimisation-and-third-parties.json",
      "caption": "Audit evidence: be-private-and-secure__data-minimisation-and-third-parties.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance/search/be-private-and-secure__defensive-browser-policies.json",
      "caption": "Audit evidence: be-private-and-secure__defensive-browser-policies.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance/search/be-private-and-secure__in-context-permissions-and-modern-auth.json",
      "caption": "Audit evidence: be-private-and-secure__in-context-permissions-and-modern-auth.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance/search/be-private-and-secure__secure-transport-and-headers.json",
      "caption": "Audit evidence: be-private-and-secure__secure-transport-and-headers.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance/search/be-resilient__network-and-http-failure-states.json",
      "caption": "Audit evidence: be-resilient__network-and-http-failure-states.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance/search/be-resilient__offline-and-installable.json",
      "caption": "Audit evidence: be-resilient__offline-and-installable.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance/search/be-resilient__progressive-enhancement.json",
      "caption": "Audit evidence: be-resilient__progressive-enhancement.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance/search/be-resilient__resilient-runtime-behaviour.json",
      "caption": "Audit evidence: be-resilient__resilient-runtime-behaviour.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance/search/be-sustainable__no-wasteful-work.json",
      "caption": "Audit evidence: be-sustainable__no-wasteful-work.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance/search/be-sustainable__optimised-assets.json",
      "caption": "Audit evidence: be-sustainable__optimised-assets.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance/search/be-sustainable__third-party-and-media-budget.json",
      "caption": "Audit evidence: be-sustainable__third-party-and-media-budget.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance/search/be-trustworthy__humane-error-handling.json",
      "caption": "Audit evidence: be-trustworthy__humane-error-handling.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance/search/be-trustworthy__no-dark-patterns.json",
      "caption": "Audit evidence: be-trustworthy__no-dark-patterns.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance/search/be-trustworthy__safe-commercial-and-account-flows.json",
      "caption": "Audit evidence: be-trustworthy__safe-commercial-and-account-flows.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance/search/be-trustworthy__trustworthy-input-assistance.json",
      "caption": "Audit evidence: be-trustworthy__trustworthy-input-assistance.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance/search/follow-best-practices__browser-platform-hygiene.json",
      "caption": "Audit evidence: follow-best-practices__browser-platform-hygiene.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance/search/follow-best-practices__no-console-errors.json",
      "caption": "Audit evidence: follow-best-practices__no-console-errors.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance/search/follow-best-practices__sound-document-and-assets.json",
      "caption": "Audit evidence: follow-best-practices__sound-document-and-assets.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance/search/implement-natural-interactions__physical-gestures.json",
      "caption": "Audit evidence: implement-natural-interactions__physical-gestures.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance/search/implement-natural-interactions__scroll-driven-animations.json",
      "caption": "Audit evidence: implement-natural-interactions__scroll-driven-animations.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance/search/implement-natural-interactions__view-transitions.json",
      "caption": "Audit evidence: implement-natural-interactions__view-transitions.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance/search/maximize-content-reduce-noise__no-intrusive-interruptions.json",
      "caption": "Audit evidence: maximize-content-reduce-noise__no-intrusive-interruptions.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance/search/maximize-content-reduce-noise__reduced-chrome.json",
      "caption": "Audit evidence: maximize-content-reduce-noise__reduced-chrome.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance/search/maximize-content-reduce-noise__semantic-dismissible-primitives.json",
      "caption": "Audit evidence: maximize-content-reduce-noise__semantic-dismissible-primitives.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance/search/provide-guided-navigation__anchored-positioning.json",
      "caption": "Audit evidence: provide-guided-navigation__anchored-positioning.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance/search/provide-guided-navigation__directs-attention.json",
      "caption": "Audit evidence: provide-guided-navigation__directs-attention.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance/search/provide-guided-navigation__scroll-state-aware-chrome.json",
      "caption": "Audit evidence: provide-guided-navigation__scroll-state-aware-chrome.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance/search/respect-user-preferences__respects-color-scheme.json",
      "caption": "Audit evidence: respect-user-preferences__respects-color-scheme.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance/search/respect-user-preferences__respects-contrast.json",
      "caption": "Audit evidence: respect-user-preferences__respects-contrast.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance/search/respect-user-preferences__respects-reduced-motion.json",
      "caption": "Audit evidence: respect-user-preferences__respects-reduced-motion.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance/search/support-core-task-success__clear-purpose-and-primary-action.json",
      "caption": "Audit evidence: support-core-task-success__clear-purpose-and-primary-action.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance/search/support-core-task-success__clear-system-state-and-recovery.json",
      "caption": "Audit evidence: support-core-task-success__clear-system-state-and-recovery.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance/search/support-core-task-success__primary-flow-completion.json",
      "caption": "Audit evidence: support-core-task-success__primary-flow-completion.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance-list.json",
      "caption": "Audit evidence: guidance-list.json"
    },
    {
      "type": "other",
      "path": "evidence/home-cookies.json",
      "caption": "Audit evidence: home-cookies.json",
      "findingIds": [
        "F-013",
        "F-014"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-dark-probe.json",
      "caption": "Audit evidence: home-dark-probe.json",
      "findingIds": [
        "F-001"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-dark.png",
      "caption": "Audit evidence: home-dark.png",
      "findingIds": [
        "F-001"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-desktop.png",
      "caption": "Audit evidence: home-desktop.png"
    },
    {
      "type": "screenshot",
      "path": "evidence/home-discoverability-crawler.png",
      "caption": "Audit evidence: home-discoverability-crawler.png"
    },
    {
      "type": "screenshot",
      "path": "evidence/home-discoverability-rendered.png",
      "caption": "Audit evidence: home-discoverability-rendered.png"
    },
    {
      "type": "discoverability",
      "path": "evidence/home-discoverability.json",
      "caption": "Audit evidence: home-discoverability.json"
    },
    {
      "type": "dom",
      "path": "evidence/home-dom.json",
      "caption": "Audit evidence: home-dom.json"
    },
    {
      "type": "other",
      "path": "evidence/home-focus-overlay-probe.json",
      "caption": "Audit evidence: home-focus-overlay-probe.json",
      "findingIds": [
        "F-004"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-headers.json",
      "caption": "Audit evidence: home-headers.json",
      "findingIds": [
        "F-013",
        "F-015"
      ]
    },
    {
      "type": "heap",
      "path": "evidence/home-heap-baseline.heapsnapshot",
      "caption": "Audit evidence: home-heap-baseline.heapsnapshot"
    },
    {
      "type": "heap",
      "path": "evidence/home-heap-post.heapsnapshot",
      "caption": "Audit evidence: home-heap-post.heapsnapshot"
    },
    {
      "type": "screenshot",
      "path": "evidence/home-high-contrast.png",
      "caption": "Audit evidence: home-high-contrast.png"
    },
    {
      "type": "other",
      "path": "evidence/home-images.json",
      "caption": "Audit evidence: home-images.json",
      "findingIds": [
        "F-011",
        "F-016"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/home-lighthouse-summary.json",
      "caption": "Audit evidence: home-lighthouse-summary.json",
      "findingIds": [
        "F-006",
        "F-008",
        "F-009",
        "F-010",
        "F-012"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/home-lighthouse.json",
      "caption": "Audit evidence: home-lighthouse.json",
      "findingIds": [
        "F-006",
        "F-009",
        "F-010",
        "F-012"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-memory-metrics.json",
      "caption": "Audit evidence: home-memory-metrics.json"
    },
    {
      "type": "layout",
      "path": "evidence/home-mobile-layout.json",
      "caption": "Audit evidence: home-mobile-layout.json"
    },
    {
      "type": "screenshot",
      "path": "evidence/home-mobile.png",
      "caption": "Audit evidence: home-mobile.png"
    },
    {
      "type": "other",
      "path": "evidence/home-recon.json",
      "caption": "Audit evidence: home-recon.json",
      "findingIds": [
        "F-012"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-reduced-motion.json",
      "caption": "Audit evidence: home-reduced-motion.json"
    },
    {
      "type": "other",
      "path": "evidence/home-secrets.json",
      "caption": "Audit evidence: home-secrets.json"
    },
    {
      "type": "har-summary",
      "path": "evidence/home-summary.json",
      "caption": "Audit evidence: home-summary.json",
      "findingIds": [
        "F-008",
        "F-014",
        "F-016",
        "F-017"
      ]
    },
    {
      "type": "trace-summary",
      "path": "evidence/home-trace-summary.json",
      "caption": "Audit evidence: home-trace-summary.json"
    },
    {
      "type": "trace",
      "path": "evidence/home-trace.json",
      "caption": "Audit evidence: home-trace.json"
    },
    {
      "type": "other",
      "path": "evidence/home-trackers.json",
      "caption": "Audit evidence: home-trackers.json",
      "findingIds": [
        "F-014"
      ]
    },
    {
      "type": "har",
      "path": "evidence/home.har",
      "caption": "Audit evidence: home.har",
      "findingIds": [
        "F-008",
        "F-014",
        "F-016",
        "F-017"
      ]
    },
    {
      "type": "layout",
      "path": "evidence/iphone-listing-mobile-layout.json",
      "caption": "Audit evidence: iphone-listing-mobile-layout.json"
    },
    {
      "type": "screenshot",
      "path": "evidence/iphone-listing.png",
      "caption": "Audit evidence: iphone-listing.png",
      "findingIds": [
        "F-002"
      ]
    },
    {
      "type": "other",
      "path": "evidence/locale-ar-probe.json",
      "caption": "Audit evidence: locale-ar-probe.json"
    },
    {
      "type": "screenshot",
      "path": "evidence/locale-ar-retry.png",
      "caption": "Audit evidence: locale-ar-retry.png"
    },
    {
      "type": "screenshot",
      "path": "evidence/locale-ar.png",
      "caption": "Audit evidence: locale-ar.png"
    },
    {
      "type": "screenshot",
      "path": "evidence/mobile-menu-open.png",
      "caption": "Audit evidence: mobile-menu-open.png"
    },
    {
      "type": "layout",
      "path": "evidence/product-detail-mobile-layout.json",
      "caption": "Audit evidence: product-detail-mobile-layout.json",
      "findingIds": [
        "F-005",
        "F-006",
        "F-007",
        "F-011"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/product-detail.png",
      "caption": "Audit evidence: product-detail.png",
      "findingIds": [
        "F-002",
        "F-005"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/product-discoverability-crawler.png",
      "caption": "Audit evidence: product-discoverability-crawler.png"
    },
    {
      "type": "screenshot",
      "path": "evidence/product-discoverability-rendered.png",
      "caption": "Audit evidence: product-discoverability-rendered.png"
    },
    {
      "type": "discoverability",
      "path": "evidence/product-discoverability.json",
      "caption": "Audit evidence: product-discoverability.json"
    },
    {
      "type": "other",
      "path": "evidence/product-platform-probe.json",
      "caption": "Audit evidence: product-platform-probe.json",
      "findingIds": [
        "F-002",
        "F-003",
        "F-004",
        "F-005"
      ]
    },
    {
      "type": "video",
      "path": "evidence/product-scroll.mp4",
      "caption": "Audit evidence: product-scroll.mp4"
    },
    {
      "type": "other",
      "path": "evidence/robots.json",
      "caption": "Audit evidence: robots.json"
    },
    {
      "type": "other",
      "path": "evidence/search-results-probe.json",
      "caption": "Audit evidence: search-results-probe.json"
    },
    {
      "type": "screenshot",
      "path": "evidence/search-results.png",
      "caption": "Audit evidence: search-results.png"
    },
    {
      "type": "other",
      "path": "evidence/sitemap.json",
      "caption": "Audit evidence: sitemap.json"
    }
  ],
  "config": {
    "loaded": false
  },
  "coverage": {
    "catalogVersion": "modern-web-guidance@0.0.172",
    "catalogChecksum": "sha256:78ccfdb2d483f4c57d9dafed80fd86c6265585a56457c8dcfddc254b80fb44d7",
    "expected": 58,
    "recorded": 58,
    "judged": 58,
    "blocked": 0,
    "notRun": 0,
    "missing": 0,
    "unknown": 0,
    "duplicates": 0,
    "complete": true
  },
  "checkOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-color-scheme",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence described in linked finding",
      "evidence": "Under prefers-color-scheme: dark, matchMedia returned true but the root color-scheme remained normal and the body stayed rgb(255,255,255) with rgb(29,29,31) text. The dark-condition screenshot is visually the same light surface.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-dark.png",
        "evidence/home-dark-probe.json"
      ],
      "findingIds": [
        "F-001"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-reduced-motion",
      "confidence": "high",
      "status": "pass",
      "evidence": "Under prefers-reduced-motion: reduce, the only long 3000 ms gallery animation was paused; product CSS contained seven reduced-motion rules.",
      "method": "Reduced-motion emulation plus getAnimations/computed CSS probe",
      "pathIds": [
        "home",
        "product-detail"
      ],
      "artifacts": [
        "evidence/home-reduced-motion.json",
        "evidence/product-platform-probe.json"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-contrast",
      "confidence": "high",
      "status": "pass",
      "evidence": "The prefers-contrast: more screenshot retained visible controls and text, and product CSS contained two prefers-contrast/forced-colors rules.",
      "method": "Contrast preference emulation, screenshot, and live CSS probe",
      "pathIds": [
        "home",
        "product-detail"
      ],
      "artifacts": [
        "evidence/home-high-contrast.png",
        "evidence/product-platform-probe.json"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "view-transitions",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence described in linked finding",
      "evidence": "Live CSS inspection across 1,789,564 bytes on the product detail page found zero view-transition rules, while category-to-detail navigation is a prominent state change.",
      "pathIds": [
        "product-detail"
      ],
      "artifacts": [
        "evidence/product-platform-probe.json",
        "evidence/iphone-listing.png",
        "evidence/product-detail.png"
      ],
      "findingIds": [
        "F-002"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "scroll-driven-animations",
      "confidence": "high",
      "status": "pass",
      "evidence": "Product-page CSS contained three animation-timeline/scroll-timeline references and the scroll video showed smooth declarative scrollytelling without recorded blocking work.",
      "method": "Live CSS feature count plus recorded scroll interaction",
      "pathIds": [
        "product-detail"
      ],
      "artifacts": [
        "evidence/product-platform-probe.json",
        "evidence/product-scroll.mp4"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "physical-gestures",
      "confidence": "high",
      "status": "pass",
      "evidence": "Product CSS contained 12 scroll-snap references and the recorded scroll journey followed native scrolling without a custom pointer-only requirement.",
      "method": "Live CSS inspection and interaction video",
      "pathIds": [
        "product-detail"
      ],
      "artifacts": [
        "evidence/product-platform-probe.json",
        "evidence/product-scroll.mp4"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "scroll-state-aware-chrome",
      "confidence": "high",
      "status": "pass",
      "evidence": "The product scroll video shows persistent global/local navigation and page chrome retaining orientation as the narrative advances.",
      "method": "Recorded 5 second smooth-scroll journey",
      "pathIds": [
        "product-detail"
      ],
      "artifacts": [
        "evidence/product-scroll.mp4"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "anchored-positioning",
      "status": "issues",
      "confidence": "medium",
      "method": "Direct evidence described in linked finding",
      "evidence": "The product CSS probe found zero anchor-name, position-anchor, or position-try rules and counted 35 custom role=dialog/aria-modal surfaces.",
      "pathIds": [
        "product-detail"
      ],
      "artifacts": [
        "evidence/product-platform-probe.json"
      ],
      "findingIds": [
        "F-003"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "directs-attention",
      "confidence": "high",
      "status": "pass",
      "evidence": "The listing and product pages use clear local navigation, highlighted product identity, directional gallery controls, and stable visual progression into the Buy action.",
      "method": "Desktop screenshots and scroll journey review",
      "pathIds": [
        "iphone-listing",
        "product-detail",
        "buy-flow"
      ],
      "artifacts": [
        "evidence/iphone-listing.png",
        "evidence/product-detail.png",
        "evidence/buy-flow.png",
        "evidence/product-scroll.mp4"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "no-intrusive-interruptions",
      "confidence": "high",
      "status": "pass",
      "evidence": "Load screenshots show content immediately; the regional selector is compact, dismissible, and does not cover the primary content.",
      "method": "Visual review at desktop and mobile across representative routes",
      "pathIds": [
        "home",
        "iphone-listing",
        "product-detail"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/home-mobile.png",
        "evidence/product-detail.png"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "semantic-dismissible-primitives",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence described in linked finding",
      "evidence": "Rendered DOM inspection found 35 custom role=dialog/aria-modal surfaces but zero dialog, popover, or details elements on the product page; the homepage global flyout is also custom div chrome.",
      "pathIds": [
        "product-detail"
      ],
      "artifacts": [
        "evidence/product-platform-probe.json",
        "evidence/home-focus-overlay-probe.json"
      ],
      "findingIds": [
        "F-004"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "reduced-chrome",
      "confidence": "high",
      "status": "pass",
      "evidence": "Across homepage, listing, detail, and accessibility templates, primary content dominates the viewport and global chrome remains compact.",
      "method": "Cross-template screenshot review",
      "pathIds": [
        "home",
        "iphone-listing",
        "product-detail",
        "accessibility-page"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/iphone-listing.png",
        "evidence/product-detail.png",
        "evidence/accessibility.png"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "responsive-no-horizontal-scroll",
      "confidence": "high",
      "status": "pass",
      "evidence": "All four mobile layout captures reported scrollWidth equal to 360, viewport metadata present, and horizontalOverflowPx 0.",
      "method": "Layout primitive at 360x800 across representative templates",
      "pathIds": [
        "home",
        "iphone-listing",
        "product-detail",
        "accessibility-page"
      ],
      "artifacts": [
        "evidence/home-mobile-layout.json",
        "evidence/iphone-listing-mobile-layout.json",
        "evidence/product-detail-mobile-layout.json",
        "evidence/accessibility-mobile-layout.json"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "component-level-responsiveness",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence described in linked finding",
      "evidence": "Live CSS inspection found zero @container rules across 1,789,564 bytes of product-page CSS, despite reusable cards, galleries, local navigation, and commerce modules appearing in multiple widths.",
      "pathIds": [
        "product-detail"
      ],
      "artifacts": [
        "evidence/product-platform-probe.json",
        "evidence/product-detail.png",
        "evidence/product-detail-mobile-layout.json"
      ],
      "findingIds": [
        "F-005"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "input-modality-aware",
      "confidence": "high",
      "status": "pass",
      "evidence": "Lighthouse passed target-size; key links show a 2 px blue focus outline, and global menu controls expose 48 px interaction boxes.",
      "method": "Lighthouse target-size plus programmatic focus/style/geometry probe",
      "pathIds": [
        "home",
        "product-detail"
      ],
      "artifacts": [
        "evidence/home-lighthouse.json",
        "evidence/home-focus-overlay-probe.json",
        "evidence/product-platform-probe.json"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-purpose-and-primary-action",
      "confidence": "high",
      "status": "pass",
      "evidence": "Each first viewport names the product or purpose and exposes a clear Shop, Buy, compare, search, or recovery action.",
      "method": "First-viewport visual hierarchy review",
      "pathIds": [
        "home",
        "iphone-listing",
        "product-detail",
        "buy-flow",
        "error-404"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/iphone-listing.png",
        "evidence/product-detail.png",
        "evidence/buy-flow.png",
        "evidence/404.png"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "primary-flow-completion",
      "confidence": "high",
      "status": "pass",
      "evidence": "The journey from product narrative to the live Buy iPhone 17 Pro configurator completed without an account wall; model choices, prices, financing, trade-in details, and a progressive Continue control were present.",
      "method": "Primary commerce journey navigation and DOM/control probe",
      "pathIds": [
        "product-detail",
        "buy-flow"
      ],
      "artifacts": [
        "evidence/product-detail.png",
        "evidence/buy-flow.png",
        "evidence/buy-flow-probe.json"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-system-state-and-recovery",
      "confidence": "high",
      "status": "pass",
      "evidence": "The empty search state says no matches and invites another search; the 404 page names the failure and offers search plus sitemap recovery.",
      "method": "Empty-state and unknown-route visual/DOM review",
      "pathIds": [
        "search-empty",
        "error-404"
      ],
      "artifacts": [
        "evidence/search-results.png",
        "evidence/search-results-probe.json",
        "evidence/404.png",
        "evidence/404-probe.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "good-core-web-vitals",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence described in linked finding",
      "evidence": "Lighthouse measured LCP 11.7 s and CLS 0.166 on the homepage. First-party mobile layout capture measured CLS 0.194 on the product detail page and 0.282 on the accessibility page.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-lighthouse.json",
        "evidence/home-lighthouse-summary.json",
        "evidence/product-detail-mobile-layout.json",
        "evidence/accessibility-mobile-layout.json"
      ],
      "findingIds": [
        "F-006"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "visual-stability",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence described in linked finding",
      "evidence": "The layout observer recorded CLS 0.282 on /accessibility/ and 0.194 on /iphone-17-pro/, both above the good threshold of 0.1, with shifts beginning around 1.5 to 3.4 seconds.",
      "pathIds": [
        "accessibility-page"
      ],
      "artifacts": [
        "evidence/accessibility-mobile-layout.json",
        "evidence/product-detail-mobile-layout.json"
      ],
      "findingIds": [
        "F-007"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-main-thread",
      "confidence": "high",
      "status": "pass",
      "evidence": "The trace recorded zero long tasks and 0 ms total blocking time; Lighthouse measured 23 ms TBT. Isolated mobile route tasks were short, with the longest observed at 87 ms.",
      "method": "DevTools trace summary, Lighthouse, and layout long-task observers",
      "pathIds": [
        "home",
        "iphone-listing",
        "product-detail"
      ],
      "artifacts": [
        "evidence/home-trace-summary.json",
        "evidence/home-lighthouse-summary.json",
        "evidence/product-detail-mobile-layout.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-resource-delivery",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence described in linked finding",
      "evidence": "The HAR recorded 2.32 MB transferred, including 1.18 MB across seven fonts. It identified nine parser-inserted VeryHigh-priority stylesheets as render-blocking candidates; Lighthouse’s 11.7 s LCP corroborates delayed delivery.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home.har",
        "evidence/home-summary.json",
        "evidence/home-lighthouse-summary.json"
      ],
      "findingIds": [
        "F-008"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "trim-unused-and-duplicate-code",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence described in linked finding",
      "evidence": "Lighthouse estimated 117 KiB unused JavaScript and 40 KiB unused CSS. The main home bundle was 83.8% unused in the trace window and several stylesheets were 81% to 92% unused.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-lighthouse.json",
        "evidence/home-lighthouse-summary.json"
      ],
      "findingIds": [
        "F-009"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "names-roles-labels",
      "confidence": "high",
      "status": "pass",
      "evidence": "Lighthouse passed image-alt, button-name, and link-name; Buy and search controls expose explicit accessible names in DOM probes.",
      "method": "Lighthouse accessibility audits plus rendered control inspection",
      "pathIds": [
        "home",
        "buy-flow",
        "search-empty"
      ],
      "artifacts": [
        "evidence/home-lighthouse-summary.json",
        "evidence/buy-flow-probe.json",
        "evidence/search-results-probe.json"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "sufficient-contrast",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence described in linked finding",
      "evidence": "Lighthouse found action labels with contrast ratios from 1.64:1 to 2.5:1, including “Stream now”, “Play now”, and “Listen now”, below the required 4.5:1 for the rendered text sizes.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-lighthouse.json",
        "evidence/home-lighthouse-summary.json"
      ],
      "findingIds": [
        "F-010"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "structure-and-focus",
      "confidence": "high",
      "status": "pass",
      "evidence": "Lighthouse passed heading order and the single-main landmark; representative primary controls expose visible 2 px focus outlines.",
      "method": "Lighthouse structure audits plus focus style probe",
      "pathIds": [
        "home",
        "product-detail"
      ],
      "artifacts": [
        "evidence/home-lighthouse-summary.json",
        "evidence/home-focus-overlay-probe.json",
        "evidence/product-platform-probe.json"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "legible-text",
      "confidence": "high",
      "status": "pass",
      "evidence": "Screenshots show large, well-spaced headings, comfortable measure, stable alignment, and no clipped primary copy across desktop, mobile, and RTL routes.",
      "method": "Cross-condition visual review",
      "pathIds": [
        "home",
        "iphone-listing",
        "product-detail",
        "arabic-locale"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/iphone-listing.png",
        "evidence/product-detail.png",
        "evidence/locale-ar-retry.png"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "zoom-reflow-targets-and-media",
      "confidence": "high",
      "status": "pass",
      "evidence": "Lighthouse passed zoom policy and target size; 360 px layouts reflow without horizontal overflow. The accessibility template provides a dedicated accessible media context.",
      "method": "Lighthouse zoom/target audits plus narrow layout and visual review",
      "pathIds": [
        "home",
        "accessibility-page"
      ],
      "artifacts": [
        "evidence/home-lighthouse-summary.json",
        "evidence/home-mobile-layout.json",
        "evidence/accessibility-mobile-layout.json",
        "evidence/accessibility.png"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "no-console-errors",
      "confidence": "high",
      "status": "pass",
      "evidence": "Lighthouse reported no browser errors logged to the console.",
      "method": "Lighthouse Runtime/console audit",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-lighthouse-summary.json"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "sound-document-and-assets",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence described in linked finding",
      "evidence": "The images primitive found all 47 img elements lacked width and height attributes. Although the homepage layout sample was stable, other templates recorded CLS above 0.19, so relying on CSS and late image state is fragile.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-images.json",
        "evidence/product-detail-mobile-layout.json"
      ],
      "findingIds": [
        "F-011"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "browser-platform-hygiene",
      "confidence": "high",
      "status": "pass",
      "evidence": "Lighthouse passed deprecated APIs, BFCache, geolocation-on-start, notification-on-start, and best-practices overall (1.00).",
      "method": "Lighthouse best-practices and browser-platform audits",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-lighthouse.json",
        "evidence/home-lighthouse-summary.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "title-and-description",
      "confidence": "high",
      "status": "pass",
      "evidence": "The homepage has title “Apple” and a descriptive meta description; Lighthouse passed both title and meta-description audits.",
      "method": "Rendered DOM metadata probe plus Lighthouse SEO",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-recon.json",
        "evidence/home-lighthouse-summary.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "crawlable-and-mobile-friendly",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence described in linked finding",
      "evidence": "Lighthouse reported eight non-descriptive links: seven “Learn more” labels across different products and one “here” terms link. The destinations are crawlable, but the link text has little standalone meaning.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-lighthouse.json",
        "evidence/home-lighthouse-summary.json",
        "evidence/home-recon.json"
      ],
      "findingIds": [
        "F-012"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "canonical-and-indexing-signals",
      "confidence": "high",
      "status": "pass",
      "evidence": "The homepage returned 200, declares canonical https://www.apple.com/, publishes extensive hreflang alternates, allows general crawling, and is listed in sitemap.xml.",
      "method": "DOM metadata, robots.txt, sitemap.xml, Lighthouse crawlability, and discoverability fetch",
      "pathIds": [
        "home",
        "arabic-locale"
      ],
      "artifacts": [
        "evidence/home-recon.json",
        "evidence/robots.json",
        "evidence/sitemap.json",
        "evidence/home-discoverability.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "structured-and-shareable-metadata",
      "confidence": "high",
      "status": "pass",
      "evidence": "The homepage publishes JSON-LD for Organization, WebSite with SearchAction, and WebPage, aligned with visible Apple content.",
      "method": "Rendered JSON-LD and metadata inspection",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-recon.json"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "secure-transport-and-headers",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence described in linked finding",
      "evidence": "The headers primitive found a CSP that allows both unsafe-inline and unsafe-eval. Cookie inspection found the geo cookie lacked Secure and all six cookies used SameSite=None.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-headers.json",
        "evidence/home-cookies.json"
      ],
      "findingIds": [
        "F-013"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "data-minimisation-and-third-parties",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence described in linked finding",
      "evidence": "The HAR and tracker probe recorded two securemetrics.apple.com requests and first-load analytics cookies including s_vi/s_fid. The metrics request included a visitor identifier, page, locale, currency, screen, and viewport fields.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home.har",
        "evidence/home-summary.json",
        "evidence/home-trackers.json",
        "evidence/home-cookies.json"
      ],
      "findingIds": [
        "F-014"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "in-context-permissions-and-modern-auth",
      "confidence": "high",
      "status": "pass",
      "evidence": "Lighthouse passed geolocation and notification on-start audits; permission states remained prompt, and the sampled buy journey did not force sign-in before product configuration.",
      "method": "Lighthouse permission audits, Permissions API probe, and commerce journey review",
      "pathIds": [
        "home",
        "buy-flow"
      ],
      "artifacts": [
        "evidence/home-lighthouse-summary.json",
        "evidence/capabilities-probe.json",
        "evidence/buy-flow.png"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "defensive-browser-policies",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence described in linked finding",
      "evidence": "HSTS, nosniff, and X-Frame-Options are present, but Permissions-Policy is absent and Referrer-Policy remains no-referrer-when-downgrade rather than a stricter modern policy.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-headers.json"
      ],
      "findingIds": [
        "F-015"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "progressive-enhancement",
      "confidence": "high",
      "status": "pass",
      "evidence": "Raw HTML retained 96% of homepage content words and 99% of product-page content words; neither route is a JS shell and crawler screenshots preserve meaningful content.",
      "method": "Raw-fetch versus rendered-DOM discoverability comparison with JS-disabled screenshots",
      "pathIds": [
        "home",
        "product-detail"
      ],
      "artifacts": [
        "evidence/home-discoverability.json",
        "evidence/home-discoverability-rendered.png",
        "evidence/home-discoverability-crawler.png",
        "evidence/product-discoverability.json",
        "evidence/product-discoverability-crawler.png"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "resilient-runtime-behaviour",
      "confidence": "high",
      "status": "pass",
      "evidence": "Global, product, gallery, and commerce controls loaded into usable states across four templates; no console exceptions were reported and the buy configurator preserved clear disabled/active state.",
      "method": "Cross-template interaction/DOM review and Lighthouse console audit",
      "pathIds": [
        "home",
        "product-detail",
        "buy-flow"
      ],
      "artifacts": [
        "evidence/product-scroll.mp4",
        "evidence/buy-flow-probe.json",
        "evidence/home-lighthouse-summary.json"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "offline-and-installable",
      "confidence": "high",
      "status": "not-applicable",
      "reason": "The audited surface is a public marketing and online commerce site whose checkout intrinsically requires current inventory, pricing, payment, and network access; an installable offline app is not a credible core requirement.",
      "evidence": "No manifest or service-worker registration was present, but this was judged contextual rather than a defect.",
      "method": "Manifest and service-worker registration probe",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/capabilities-probe.json"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "network-and-http-failure-states",
      "confidence": "high",
      "status": "pass",
      "evidence": "A real unknown route rendered a branded 404 with a precise explanation, search field, and sitemap link rather than a blank shell or infinite spinner.",
      "method": "Unknown-route navigation, screenshot, and DOM recovery probe",
      "pathIds": [
        "error-404"
      ],
      "artifacts": [
        "evidence/404.png",
        "evidence/404-probe.json"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "lang-dir-and-logical-properties",
      "confidence": "high",
      "status": "pass",
      "evidence": "The UAE Arabic route declares lang=ar-AE and dir=rtl, renders the global navigation in RTL order, and live CSS included 674 logical-property references.",
      "method": "RTL locale navigation, screenshot, and DOM/CSS probe",
      "pathIds": [
        "arabic-locale"
      ],
      "artifacts": [
        "evidence/locale-ar-retry.png",
        "evidence/locale-ar-probe.json"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "locale-aware-data",
      "confidence": "high",
      "status": "pass",
      "evidence": "The site publishes more than 100 hreflang locale alternates and the ar-AE route localises language, regional offer content, numerals, and reading direction rather than presenting the US template unchanged.",
      "method": "hreflang inventory plus direct ar-AE rendered-content review",
      "pathIds": [
        "home",
        "arabic-locale"
      ],
      "artifacts": [
        "evidence/home-recon.json",
        "evidence/locale-ar-probe.json",
        "evidence/locale-ar-retry.png"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "time-zone-correctness",
      "confidence": "high",
      "status": "not-applicable",
      "reason": "No date, event scheduling, recurring interval, or time-zone-sensitive user flow appeared in the representative marketing, product, search, or buy surfaces.",
      "evidence": "Representative paths contained no time-zone-sensitive interaction to judge.",
      "method": "Rendered text, forms, and commerce journey review",
      "pathIds": [
        "home",
        "product-detail",
        "buy-flow"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "no-dark-patterns",
      "confidence": "high",
      "status": "pass",
      "evidence": "Product and buy screenshots disclose full price, monthly price, term length, trade-in ranges, model differences, and financing details before Continue; no preselected continuity or confirmshaming appeared.",
      "method": "Commercial first-view and configurator review",
      "pathIds": [
        "product-detail",
        "buy-flow"
      ],
      "artifacts": [
        "evidence/product-detail.png",
        "evidence/buy-flow.png",
        "evidence/buy-flow-probe.json"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "humane-error-handling",
      "confidence": "high",
      "status": "pass",
      "evidence": "Search and 404 failures use neutral language, explain what happened, preserve context, and provide immediate recovery controls.",
      "method": "Empty and failure-state walkthrough",
      "pathIds": [
        "search-empty",
        "error-404"
      ],
      "artifacts": [
        "evidence/search-results.png",
        "evidence/404.png",
        "evidence/404-probe.json"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "trustworthy-input-assistance",
      "confidence": "high",
      "status": "not-applicable",
      "reason": "The exercised routes exposed only site-search fields; no address, payment, sign-in, or sign-up fields were reached where autofill tokens would be applicable.",
      "evidence": "Form probes listed search inputs only.",
      "method": "Rendered form and field inventory",
      "pathIds": [
        "home",
        "search-empty",
        "buy-flow"
      ],
      "artifacts": [
        "evidence/home-recon.json",
        "evidence/search-results-probe.json",
        "evidence/buy-flow-probe.json"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "safe-commercial-and-account-flows",
      "confidence": "high",
      "status": "pass",
      "evidence": "The buy flow presents model prices, financing duration, carrier deals, trade-in bounds, help, return questions, and an intentionally disabled Continue until a model is chosen.",
      "method": "Commerce entry walkthrough and control-state probe",
      "pathIds": [
        "product-detail",
        "buy-flow"
      ],
      "artifacts": [
        "evidence/product-detail.png",
        "evidence/buy-flow.png",
        "evidence/buy-flow-probe.json"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "optimised-assets",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence described in linked finding",
      "evidence": "The image audit found 47 legacy PNG/JPEG images, no modern-format img sources, 29 below-fold images without loading=lazy, 23 without srcset on the img element, and 47 without intrinsic dimensions.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-images.json",
        "evidence/home.har",
        "evidence/home-summary.json"
      ],
      "findingIds": [
        "F-016"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "no-wasteful-work",
      "confidence": "high",
      "status": "pass",
      "evidence": "The trace recorded no long tasks or background blocking time, and only two low-byte third-party requests were observed; main-thread work remained bounded during the sampled load.",
      "method": "Trace, layout long-task observers, HAR, and tracker inventory",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-trace-summary.json",
        "evidence/home-summary.json",
        "evidence/home-trackers.json"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "third-party-and-media-budget",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence described in linked finding",
      "evidence": "The HAR transferred 2.32 MB in 51 requests before broad page exploration, dominated by 1.18 MB of fonts and 513 KB of images. The page also initializes analytics and media resources during load.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home.har",
        "evidence/home-summary.json"
      ],
      "findingIds": [
        "F-017"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "structured-agent-capabilities",
      "confidence": "high",
      "status": "not-applicable",
      "reason": "No declared or observable agent-facing capability surface exists on the sampled marketing and commerce routes. This emerging capability is treated as an opportunity, not a defect.",
      "evidence": "Capability probe found no WebMCP or agent tool registration, while raw HTML remains highly crawler-readable.",
      "method": "Global capability probe plus no-JS discoverability comparison",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/capabilities-probe.json",
        "evidence/home-discoverability.json"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "on-device-inference",
      "confidence": "high",
      "status": "not-applicable",
      "reason": "The representative shopping and content journeys do not contain a summarisation, generation, or language-model task that would justify on-device inference.",
      "evidence": "The browser exposes built-in AI APIs, but the page does not present an inference use case.",
      "method": "Capability probe and task-surface review",
      "pathIds": [
        "home",
        "buy-flow"
      ],
      "artifacts": [
        "evidence/capabilities-probe.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-leak-under-repeated-interaction",
      "confidence": "high",
      "status": "pass",
      "evidence": "After ten alternating entertainment-gallery interactions, snapshot node count fell from 294,757 to 294,505 and self size fell from 17,420,468 to 17,372,484 bytes; same-session used heap also fell from 4.81 MB to 3.92 MB.",
      "method": "Baseline heap summary, ten repeated gallery interactions, post heap summary, and same-session performance.memory sampling",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-heap-baseline.heapsnapshot",
        "evidence/home-heap-post.heapsnapshot",
        "evidence/home-memory-metrics.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "bounded-footprint",
      "confidence": "high",
      "status": "pass",
      "evidence": "The homepage retained about 17.4 MB of snapshot self size and 294k heap nodes for a media-rich marketing page, with no growth after representative interaction.",
      "method": "Heap summary totals and constructor distribution review",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-heap-baseline.heapsnapshot",
        "evidence/home-heap-post.heapsnapshot"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-detached-dom-or-unbounded-listeners",
      "confidence": "high",
      "status": "pass",
      "evidence": "Repeated gallery interaction left DOM element count unchanged at 1,203; heap node/closure/object counts did not grow and no Detached constructor appeared among retained top constructors.",
      "method": "Before/after DOM count, heap type/constructor comparison, and interaction metrics",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-heap-baseline.heapsnapshot",
        "evidence/home-heap-post.heapsnapshot",
        "evidence/home-memory-metrics.json"
      ]
    }
  ],
  "principleOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-001"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-002"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-003"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-004"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-005"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "be-fast-and-stable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-006",
        "F-007",
        "F-008",
        "F-009"
      ]
    },
    {
      "principleId": "be-inclusive",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-010"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-011"
      ]
    },
    {
      "principleId": "be-discoverable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-012"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-013",
        "F-014",
        "F-015"
      ]
    },
    {
      "principleId": "be-resilient",
      "expectation": "contextual",
      "status": "pass"
    },
    {
      "principleId": "be-internationalised",
      "expectation": "contextual",
      "status": "pass"
    },
    {
      "principleId": "be-trustworthy",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "be-sustainable",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F-016",
        "F-017"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "expectation": "contextual",
      "status": "not-applicable",
      "reason": "No declared or observable agent-facing capability surface exists on the sampled marketing and commerce routes. This emerging capability is treated as an opportunity, not a defect. The representative shopping and content journeys do not contain a summarisation, generation, or language-model task that would justify on-device inference."
    },
    {
      "principleId": "be-memory-efficient",
      "expectation": "default",
      "status": "pass"
    }
  ],
  "paths": [
    {
      "id": "home",
      "description": "Homepage and global navigation, representing the primary marketing entry and shared global chrome.",
      "url": "https://www.apple.com/",
      "conditions": [
        "desktop 1440x900",
        "mobile 360x800",
        "prefers-color-scheme: dark",
        "prefers-reduced-motion: reduce",
        "prefers-contrast: more",
        "keyboard focus probe",
        "no JavaScript crawler"
      ],
      "result": "issues"
    },
    {
      "id": "iphone-listing",
      "description": "iPhone category listing, representing a product-family index and comparison entry.",
      "url": "https://www.apple.com/iphone/",
      "conditions": [
        "desktop 1440x900",
        "mobile 360x800"
      ],
      "result": "issues"
    },
    {
      "id": "product-detail",
      "description": "iPhone 17 Pro detail page, representing an immersive product narrative with scroll-driven presentation.",
      "url": "https://www.apple.com/iphone-17-pro/",
      "conditions": [
        "desktop 1440x900",
        "mobile 360x800",
        "scroll interaction",
        "no JavaScript crawler"
      ],
      "result": "issues"
    },
    {
      "id": "buy-flow",
      "description": "Buy iPhone 17 Pro configurator entry, representing the primary commerce journey through model selection.",
      "url": "https://www.apple.com/shop/buy-iphone/iphone-17-pro",
      "conditions": [
        "desktop 1440x900"
      ],
      "result": "pass"
    },
    {
      "id": "search-empty",
      "description": "Site search empty-result state, representing search and recoverable empty-state handling.",
      "url": "https://www.apple.com/us/search?query=iphone",
      "conditions": [
        "desktop 1440x900"
      ],
      "result": "pass"
    },
    {
      "id": "error-404",
      "description": "Unknown route, representing HTTP failure messaging and recovery navigation.",
      "url": "https://www.apple.com/this-page-does-not-exist-web-uplift/",
      "conditions": [
        "desktop 1440x900"
      ],
      "result": "pass"
    },
    {
      "id": "accessibility-page",
      "description": "Accessibility landing page, representing a media-rich editorial/values template.",
      "url": "https://www.apple.com/accessibility/",
      "conditions": [
        "desktop 1440x900",
        "mobile 360x800"
      ],
      "result": "issues"
    },
    {
      "id": "arabic-locale",
      "description": "Arabic UAE homepage, representing right-to-left localisation and internationalised navigation.",
      "url": "https://www.apple.com/ae-ar/",
      "conditions": [
        "desktop 1440x900",
        "RTL",
        "ar-AE locale"
      ],
      "result": "pass"
    }
  ],
  "findings": [
    {
      "id": "F-001",
      "severity": "medium",
      "confidence": "high",
      "pathId": "home",
      "url": "https://www.apple.com/",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-color-scheme",
      "guidanceId": "dark-mode",
      "guidanceCategory": "user-experience",
      "summary": "The public marketing surface does not follow the user’s dark color-scheme preference.",
      "evidence": "Under prefers-color-scheme: dark, matchMedia returned true but the root color-scheme remained normal and the body stayed rgb(255,255,255) with rgb(29,29,31) text. The dark-condition screenshot is visually the same light surface.",
      "artifacts": [
        "evidence/home-dark.png",
        "evidence/home-dark-probe.json"
      ],
      "suggestedFix": "Declare color-scheme: light dark and map shared surfaces and text tokens through light-dark() or a prefers-color-scheme media query, while preserving intentional dark product sections.",
      "effort": "medium"
    },
    {
      "id": "F-002",
      "severity": "low",
      "confidence": "high",
      "pathId": "product-detail",
      "url": "https://www.apple.com/iphone-17-pro/",
      "principleId": "implement-natural-interactions",
      "principleCheckId": "view-transitions",
      "guidanceId": "cross-document-transitions",
      "guidanceCategory": "user-experience",
      "summary": "Cross-document product navigation does not use View Transitions.",
      "evidence": "Live CSS inspection across 1,789,564 bytes on the product detail page found zero view-transition rules, while category-to-detail navigation is a prominent state change.",
      "artifacts": [
        "evidence/product-platform-probe.json",
        "evidence/iphone-listing.png",
        "evidence/product-detail.png"
      ],
      "suggestedFix": "Add @view-transition { navigation: auto } for same-origin category-to-product navigation, use stable view-transition-name values on shared product identity, and retain a non-motion fallback.",
      "effort": "medium"
    },
    {
      "id": "F-003",
      "severity": "low",
      "confidence": "medium",
      "pathId": "product-detail",
      "url": "https://www.apple.com/iphone-17-pro/",
      "principleId": "provide-guided-navigation",
      "principleCheckId": "anchored-positioning",
      "guidanceId": "position-aware-tooltips",
      "guidanceCategory": "css",
      "summary": "Overlay positioning uses custom modal plumbing rather than CSS anchor positioning.",
      "evidence": "The product CSS probe found zero anchor-name, position-anchor, or position-try rules and counted 35 custom role=dialog/aria-modal surfaces.",
      "artifacts": [
        "evidence/product-platform-probe.json"
      ],
      "suggestedFix": "For non-modal menus, help bubbles, and anchored disclosures, progressively adopt popover plus CSS anchor positioning and position-try fallbacks so controls stay attached at viewport edges.",
      "effort": "medium"
    },
    {
      "id": "F-004",
      "severity": "medium",
      "confidence": "high",
      "pathId": "product-detail",
      "url": "https://www.apple.com/iphone-17-pro/",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "semantic-dismissible-primitives",
      "guidanceId": "declarative-dialog-popover-control",
      "guidanceCategory": "user-experience",
      "summary": "Rich overlays are implemented as custom ARIA modal structures instead of native dialog or popover primitives.",
      "evidence": "Rendered DOM inspection found 35 custom role=dialog/aria-modal surfaces but zero dialog, popover, or details elements on the product page; the homepage global flyout is also custom div chrome.",
      "artifacts": [
        "evidence/product-platform-probe.json",
        "evidence/home-focus-overlay-probe.json"
      ],
      "suggestedFix": "Use dialog for modal flows, popover for transient menus and help, and details for disclosures where semantics fit. Keep ARIA only for names and relationships not supplied by the native primitive.",
      "effort": "large"
    },
    {
      "id": "F-005",
      "severity": "low",
      "confidence": "high",
      "pathId": "product-detail",
      "url": "https://www.apple.com/iphone-17-pro/",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "component-level-responsiveness",
      "guidanceId": "size-aware-styling",
      "guidanceCategory": "css",
      "summary": "Responsive behavior is viewport-driven rather than component-driven.",
      "evidence": "Live CSS inspection found zero @container rules across 1,789,564 bytes of product-page CSS, despite reusable cards, galleries, local navigation, and commerce modules appearing in multiple widths.",
      "artifacts": [
        "evidence/product-platform-probe.json",
        "evidence/product-detail.png",
        "evidence/product-detail-mobile-layout.json"
      ],
      "suggestedFix": "Give reusable modules an inline-size query container and move local adaptations to @container rules, retaining viewport queries only for page-level composition.",
      "effort": "large"
    },
    {
      "id": "F-006",
      "severity": "high",
      "confidence": "high",
      "pathId": "home",
      "url": "https://www.apple.com/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "good-core-web-vitals",
      "guidanceId": "performance",
      "guidanceCategory": "performance",
      "summary": "Lab Core Web Vitals are outside the good range on key templates.",
      "evidence": "Lighthouse measured LCP 11.7 s and CLS 0.166 on the homepage. First-party mobile layout capture measured CLS 0.194 on the product detail page and 0.282 on the accessibility page.",
      "artifacts": [
        "evidence/home-lighthouse.json",
        "evidence/home-lighthouse-summary.json",
        "evidence/product-detail-mobile-layout.json",
        "evidence/accessibility-mobile-layout.json"
      ],
      "suggestedFix": "Profile each LCP element, make it discoverable in initial HTML, prioritise it with fetchpriority/preload where warranted, and reserve all late media and banner geometry before paint.",
      "effort": "large"
    },
    {
      "id": "F-007",
      "severity": "high",
      "confidence": "high",
      "pathId": "accessibility-page",
      "url": "https://www.apple.com/accessibility/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "visual-stability",
      "guidanceId": "visually-stable-font-fallbacks",
      "guidanceCategory": "performance",
      "summary": "Late content causes substantial layout shift on representative pages.",
      "evidence": "The layout observer recorded CLS 0.282 on /accessibility/ and 0.194 on /iphone-17-pro/, both above the good threshold of 0.1, with shifts beginning around 1.5 to 3.4 seconds.",
      "artifacts": [
        "evidence/accessibility-mobile-layout.json",
        "evidence/product-detail-mobile-layout.json"
      ],
      "suggestedFix": "Reserve media and dynamic module dimensions with width/height or aspect-ratio, match fallback font metrics, and avoid inserting locale or promotion chrome above existing content.",
      "effort": "medium"
    },
    {
      "id": "F-008",
      "severity": "medium",
      "confidence": "high",
      "pathId": "home",
      "url": "https://www.apple.com/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "efficient-resource-delivery",
      "guidanceId": "optimize-preload-priority",
      "guidanceCategory": "performance",
      "summary": "The critical path carries a large font payload and many parser-blocking stylesheets.",
      "evidence": "The HAR recorded 2.32 MB transferred, including 1.18 MB across seven fonts. It identified nine parser-inserted VeryHigh-priority stylesheets as render-blocking candidates; Lighthouse’s 11.7 s LCP corroborates delayed delivery.",
      "artifacts": [
        "evidence/home.har",
        "evidence/home-summary.json",
        "evidence/home-lighthouse-summary.json"
      ],
      "suggestedFix": "Subset and consolidate fonts, preload only the critical face, reduce critical CSS to the first viewport, and load route or gallery styles after critical rendering.",
      "effort": "large"
    },
    {
      "id": "F-009",
      "severity": "medium",
      "confidence": "high",
      "pathId": "home",
      "url": "https://www.apple.com/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "trim-unused-and-duplicate-code",
      "guidanceId": "identify-heavy-scripts",
      "guidanceCategory": "performance",
      "summary": "The homepage ships substantial unused JavaScript and CSS.",
      "evidence": "Lighthouse estimated 117 KiB unused JavaScript and 40 KiB unused CSS. The main home bundle was 83.8% unused in the trace window and several stylesheets were 81% to 92% unused.",
      "artifacts": [
        "evidence/home-lighthouse.json",
        "evidence/home-lighthouse-summary.json"
      ],
      "suggestedFix": "Split global header, analytics, gallery, and page modules by interaction or template; defer optional modules until needed and extract only above-the-fold CSS into the initial path.",
      "effort": "large"
    },
    {
      "id": "F-010",
      "severity": "high",
      "confidence": "high",
      "pathId": "home",
      "url": "https://www.apple.com/",
      "principleId": "be-inclusive",
      "principleCheckId": "sufficient-contrast",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "summary": "Entertainment-gallery action labels fail WCAG contrast.",
      "evidence": "Lighthouse found action labels with contrast ratios from 1.64:1 to 2.5:1, including “Stream now”, “Play now”, and “Listen now”, below the required 4.5:1 for the rendered text sizes.",
      "artifacts": [
        "evidence/home-lighthouse.json",
        "evidence/home-lighthouse-summary.json"
      ],
      "suggestedFix": "Apply an opaque or reliably contrast-controlled label surface and choose text colors that maintain at least 4.5:1 against every gallery artwork state.",
      "effort": "small"
    },
    {
      "id": "F-011",
      "severity": "medium",
      "confidence": "high",
      "pathId": "home",
      "url": "https://www.apple.com/",
      "principleId": "follow-best-practices",
      "principleCheckId": "sound-document-and-assets",
      "guidanceId": "html",
      "guidanceCategory": "html",
      "summary": "Image elements omit intrinsic dimensions across the homepage.",
      "evidence": "The images primitive found all 47 img elements lacked width and height attributes. Although the homepage layout sample was stable, other templates recorded CLS above 0.19, so relying on CSS and late image state is fragile.",
      "artifacts": [
        "evidence/home-images.json",
        "evidence/product-detail-mobile-layout.json"
      ],
      "suggestedFix": "Emit intrinsic width and height for every img and preserve responsive behavior with height:auto and appropriate picture/srcset sources.",
      "effort": "medium"
    },
    {
      "id": "F-012",
      "severity": "medium",
      "confidence": "high",
      "pathId": "home",
      "url": "https://www.apple.com/",
      "principleId": "be-discoverable",
      "principleCheckId": "crawlable-and-mobile-friendly",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "summary": "Repeated generic link labels weaken page comprehension and search context.",
      "evidence": "Lighthouse reported eight non-descriptive links: seven “Learn more” labels across different products and one “here” terms link. The destinations are crawlable, but the link text has little standalone meaning.",
      "artifacts": [
        "evidence/home-lighthouse.json",
        "evidence/home-lighthouse-summary.json",
        "evidence/home-recon.json"
      ],
      "suggestedFix": "Give each link a specific accessible and visible label such as “Learn more about iPhone 17” and replace “here” with the destination or action.",
      "effort": "small"
    },
    {
      "id": "F-013",
      "severity": "high",
      "confidence": "high",
      "pathId": "home",
      "url": "https://www.apple.com/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "secure-transport-and-headers",
      "guidanceId": "security",
      "guidanceCategory": "security",
      "summary": "Transport is HTTPS, but cookie and CSP settings leave avoidable exposure.",
      "evidence": "The headers primitive found a CSP that allows both unsafe-inline and unsafe-eval. Cookie inspection found the geo cookie lacked Secure and all six cookies used SameSite=None.",
      "artifacts": [
        "evidence/home-headers.json",
        "evidence/home-cookies.json"
      ],
      "suggestedFix": "Remove unsafe-eval, migrate inline code and styles to nonces or hashes, mark every HTTPS cookie Secure, and use Lax or Strict unless a documented cross-site flow requires None.",
      "effort": "large"
    },
    {
      "id": "F-014",
      "severity": "medium",
      "confidence": "high",
      "pathId": "home",
      "url": "https://www.apple.com/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "data-minimisation-and-third-parties",
      "guidanceId": "batch-analytics-events",
      "guidanceCategory": "privacy",
      "summary": "Analytics collection begins on first load before an explicit privacy choice.",
      "evidence": "The HAR and tracker probe recorded two securemetrics.apple.com requests and first-load analytics cookies including s_vi/s_fid. The metrics request included a visitor identifier, page, locale, currency, screen, and viewport fields.",
      "artifacts": [
        "evidence/home.har",
        "evidence/home-summary.json",
        "evidence/home-trackers.json",
        "evidence/home-cookies.json"
      ],
      "suggestedFix": "Use the minimum event payload, shorten or avoid persistent identifiers, batch low-priority analytics, and gate non-essential measurement behind the applicable user choice and regional policy.",
      "effort": "medium"
    },
    {
      "id": "F-015",
      "severity": "medium",
      "confidence": "high",
      "pathId": "home",
      "url": "https://www.apple.com/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "defensive-browser-policies",
      "guidanceId": "security",
      "guidanceCategory": "security",
      "summary": "Defensive response policy coverage is incomplete.",
      "evidence": "HSTS, nosniff, and X-Frame-Options are present, but Permissions-Policy is absent and Referrer-Policy remains no-referrer-when-downgrade rather than a stricter modern policy.",
      "artifacts": [
        "evidence/home-headers.json"
      ],
      "suggestedFix": "Add a least-privilege Permissions-Policy and use strict-origin-when-cross-origin or stricter. Prefer CSP frame-ancestors alongside X-Frame-Options and evaluate Trusted Types for script-heavy surfaces.",
      "effort": "small"
    },
    {
      "id": "F-016",
      "severity": "medium",
      "confidence": "high",
      "pathId": "home",
      "url": "https://www.apple.com/",
      "principleId": "be-sustainable",
      "principleCheckId": "optimised-assets",
      "guidanceId": "optimize-image-priority",
      "guidanceCategory": "performance",
      "summary": "Image delivery misses modern format, lazy-loading, and intrinsic-size opportunities.",
      "evidence": "The image audit found 47 legacy PNG/JPEG images, no modern-format img sources, 29 below-fold images without loading=lazy, 23 without srcset on the img element, and 47 without intrinsic dimensions.",
      "artifacts": [
        "evidence/home-images.json",
        "evidence/home.har",
        "evidence/home-summary.json"
      ],
      "suggestedFix": "Serve AVIF/WebP through picture with JPEG fallback, emit responsive srcset/sizes, lazy-load below-fold media, and include intrinsic dimensions. Preserve eager/high priority only for the actual LCP image.",
      "effort": "large"
    },
    {
      "id": "F-017",
      "severity": "medium",
      "confidence": "high",
      "pathId": "home",
      "url": "https://www.apple.com/",
      "principleId": "be-sustainable",
      "principleCheckId": "third-party-and-media-budget",
      "guidanceId": "deprioritize-background-fetches",
      "guidanceCategory": "performance",
      "summary": "The first-view resource budget is high for a marketing landing page.",
      "evidence": "The HAR transferred 2.32 MB in 51 requests before broad page exploration, dominated by 1.18 MB of fonts and 513 KB of images. The page also initializes analytics and media resources during load.",
      "artifacts": [
        "evidence/home.har",
        "evidence/home-summary.json"
      ],
      "suggestedFix": "Set a first-view byte budget, subset fonts, defer below-fold gallery media and analytics work, and load only the hero variant needed for the current viewport and preference state.",
      "effort": "large"
    }
  ],
  "taskList": [
    {
      "id": "T-001",
      "title": "Fix LCP and reserve late content geometry",
      "priority": 1,
      "findingIds": [
        "F-006",
        "F-007"
      ],
      "guidanceId": "performance",
      "status": "open"
    },
    {
      "id": "T-002",
      "title": "Meet contrast requirements in entertainment gallery",
      "priority": 2,
      "findingIds": [
        "F-010"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T-003",
      "title": "Harden CSP, cookies, and browser policies",
      "priority": 3,
      "findingIds": [
        "F-013",
        "F-015"
      ],
      "guidanceId": "security",
      "status": "open"
    },
    {
      "id": "T-004",
      "title": "Reduce critical font, CSS, and JavaScript delivery",
      "priority": 4,
      "findingIds": [
        "F-008",
        "F-009",
        "F-017"
      ],
      "guidanceId": "identify-heavy-scripts",
      "status": "open"
    },
    {
      "id": "T-005",
      "title": "Modernise responsive image delivery",
      "priority": 5,
      "findingIds": [
        "F-011",
        "F-016"
      ],
      "guidanceId": "optimize-image-priority",
      "status": "open"
    },
    {
      "id": "T-006",
      "title": "Replace custom overlay plumbing with native primitives",
      "priority": 6,
      "findingIds": [
        "F-003",
        "F-004"
      ],
      "guidanceId": "declarative-dialog-popover-control",
      "status": "open"
    },
    {
      "id": "T-007",
      "title": "Respect the user’s dark color-scheme preference",
      "priority": 7,
      "findingIds": [
        "F-001"
      ],
      "guidanceId": "dark-mode",
      "status": "open"
    },
    {
      "id": "T-008",
      "title": "Make repeated links descriptive",
      "priority": 8,
      "findingIds": [
        "F-012"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T-009",
      "title": "Minimise first-load analytics data",
      "priority": 9,
      "findingIds": [
        "F-014"
      ],
      "guidanceId": "batch-analytics-events",
      "status": "open"
    },
    {
      "id": "T-010",
      "title": "Adopt component-level container queries",
      "priority": 10,
      "findingIds": [
        "F-005"
      ],
      "guidanceId": "size-aware-styling",
      "status": "open"
    },
    {
      "id": "T-011",
      "title": "Add progressive cross-document View Transitions",
      "priority": 11,
      "findingIds": [
        "F-002"
      ],
      "guidanceId": "cross-document-transitions",
      "status": "open"
    }
  ],
  "budget": {
    "wallClockSeconds": 4200,
    "pathCount": 8,
    "auditPasses": 1
  },
  "agent": "pi",
  "runId": "2026-07-24T10-42-33-698Z"
}
