{
  "url": "https://xvideo.vlog.br",
  "auditedAt": "2026-07-20T18:30:48.847Z",
  "mode": "report",
  "status": "completed",
  "statusDetail": "Coverage-complete report-only audit of five representative paths. Not covered: duplicate pagination/category instances sharing sampled templates, destructive form submission, authenticated/account/commerce flows (none exposed), and playback beyond initial embed loading.",
  "page": {
    "appType": "mpa",
    "framework": "WordPress / server-rendered PHP with jQuery and custom theme JavaScript",
    "notes": "Public Portuguese adult-media catalogue. Four distinct templates plus a 404 recovery state were sampled."
  },
  "evidenceUsed": [
    "screenshot",
    "transition-video",
    "layout-metrics",
    "dom",
    "evaluate-probe",
    "trace",
    "har",
    "discoverability",
    "headers",
    "cookies",
    "trackers",
    "secrets",
    "images",
    "heap-summary",
    "lighthouse"
  ],
  "guidanceConsulted": [
    "dark-mode",
    "component-specific-light-dark-theme",
    "accessibility",
    "adapt-scrollbar-to-contrast-preferences",
    "same-document-transitions",
    "cross-document-transitions",
    "group-element-transitions",
    "faster-spa-view-transitions",
    "scrollytelling",
    "parallax-scroll-effects",
    "scroll-entry-exit-effects",
    "carousel-slide-effects",
    "physics-based-easing",
    "individual-transform-properties",
    "animate-element-entry-exit",
    "animate-to-from-top-layer",
    "animate-to-intrinsic-sizes",
    "dynamic-sibling-animations",
    "interactive-content-reveal",
    "pull-to-reveal",
    "swipe-to-remove",
    "shrinking-header-on-scroll",
    "scroll-progress-indicator",
    "scroll-position-aware-elements",
    "scroll-snap-realtime-feedback",
    "scroll-snap-state-sync",
    "scroll-target-on-load",
    "soft-edge-content-fade",
    "scrollability-affordance-hints",
    "anchor-positioning-tab-underline",
    "position-aware-tooltips",
    "interest-triggered-tooltips",
    "interest-triggered-action-previews",
    "directional-navigation-transitions",
    "carousel-snap-highlights",
    "navigation-drawer",
    "stack-drill-down",
    "persistent-app-tours",
    "persistent-toast-notifications",
    "light-dismiss-a-dialog",
    "platform-controls-dismiss-dialog",
    "declarative-dialog-popover-control",
    "animated-select-picker",
    "branded-select-styling",
    "brand-consistent-forms",
    "custom-select-picker-layouts",
    "rich-media-picker",
    "complex-shapes",
    "shaped-cutouts",
    "overflow-clipping-control",
    "visually-texture-content",
    "apply-webgl-shaders",
    "interactive-content-in-3d-scenes",
    "highlight-text-ranges",
    "prevent-text-wrapping",
    "customize-scrollbar-color-and-thickness",
    "export-html-media-from-canvas",
    "fluid-scaling",
    "calculate-with-intrinsic-sizes",
    "css-layout",
    "size-aware-styling",
    "content-based-styling",
    "child-state-based-styling",
    "design-token-reactivity",
    "dynamic-sibling-styling",
    "form-fields-automatically-fit-contents",
    "improve-text-layout-and-legibility",
    "forms",
    "accessible-error-announcement",
    "required-field-feedback",
    "validate-input-after-interaction",
    "identify-inp-causes",
    "schedule-tasks-by-priority",
    "optimize-preload-priority",
    "improve-next-page-load-performance",
    "interactions-in-complex-layouts",
    "performance",
    "visually-stable-font-fallbacks",
    "break-up-long-tasks",
    "identify-heavy-scripts",
    "optimize-script-priority",
    "defer-rendering-heavy-content",
    "defer-work-until-scroll-ends",
    "optimize-image-priority",
    "conditional-async-dependencies",
    "expose-canvas-content-to-browser-features",
    "move-dom-element-without-losing-state",
    "precise-text-alignment",
    "visually-stable-mixed-fonts",
    "css",
    "html",
    "reduce-style-repetition",
    "security",
    "privacy",
    "batch-analytics-events",
    "full-session-analytics",
    "calculate-total-foreground-time",
    "passkeys",
    "passkey-registration",
    "passkey-authentication",
    "passkey-reauthentication",
    "passkey-conditional-create",
    "passkey-management",
    "flicker-free-client-side-ab-testing",
    "consistent-cross-document-transitions",
    "stabilize-reactive-state",
    "resilient-context-menus-and-nested-dropdowns",
    "persistent-top-layer-ui",
    "detect-initial-visibility-state",
    "sequence-distributed-events",
    "translator",
    "language-detection",
    "support-global-calendar-systems",
    "capture-location-agnostic-data",
    "format-human-readable-durations",
    "manage-recurring-intervals",
    "calculate-event-differentials",
    "coordinate-global-events",
    "model-partial-time-concepts",
    "search-hidden-content",
    "select-menu-interaction",
    "style-parent-with-has",
    "autofill-address-form",
    "autofill-payment-form",
    "autofill-sign-in-form",
    "autofill-sign-up-form",
    "autofill-highlight-inputs",
    "deliver-optimized-decorative-images",
    "resolution-optimized-pseudo-elements",
    "deprioritize-background-fetches",
    "efficient-background-processing",
    "webmcp",
    "agentic-forms",
    "agentic-javascript-tools",
    "language-model",
    "summarizer"
  ],
  "artifacts": [
    {
      "type": "screenshot",
      "path": "evidence/home-desktop.png",
      "caption": "Homepage at desktop viewport",
      "condition": "desktop",
      "findingIds": [
        "F01",
        "F22"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-mobile.png",
      "caption": "Homepage at 360x800",
      "condition": "viewport: 360x800",
      "findingIds": [
        "F04"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-dark.png",
      "caption": "Homepage with dark preference",
      "condition": "prefers-color-scheme: dark",
      "findingIds": [
        "F01"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-contrast.png",
      "caption": "Homepage with increased contrast preference",
      "condition": "prefers-contrast: more",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/categories-mobile.png",
      "caption": "Categories template at 360x800",
      "condition": "viewport: 360x800",
      "findingIds": [
        "F05"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/detail-mobile.png",
      "caption": "Representative detail template at 360x800",
      "condition": "viewport: 360x800",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/contact-mobile.png",
      "caption": "Contact form at 360x800",
      "condition": "viewport: 360x800",
      "findingIds": [
        "F07",
        "F24"
      ]
    },
    {
      "type": "video",
      "path": "evidence/menu-transition.mp4",
      "caption": "Mobile navigation open/close transition",
      "condition": "viewport: 360x800",
      "findingIds": [
        "F02",
        "F03"
      ]
    },
    {
      "type": "layout",
      "path": "evidence/home-mobile-layout.json",
      "caption": "Homepage narrow-layout metrics",
      "condition": "viewport: 360x800",
      "findingIds": []
    },
    {
      "type": "layout",
      "path": "evidence/detail-mobile-layout.json",
      "caption": "Detail narrow-layout metrics",
      "condition": "viewport: 360x800",
      "findingIds": []
    },
    {
      "type": "layout",
      "path": "evidence/contact-mobile-layout.json",
      "caption": "Contact narrow-layout metrics",
      "condition": "viewport: 360x800",
      "findingIds": []
    },
    {
      "type": "trace",
      "path": "evidence/home-trace.json",
      "caption": "DevTools load trace",
      "condition": "desktop load",
      "findingIds": []
    },
    {
      "type": "trace-summary",
      "path": "evidence/home-trace-summary.json",
      "caption": "Compact performance timing/TBT summary",
      "condition": "desktop load",
      "findingIds": [
        "F08"
      ]
    },
    {
      "type": "har",
      "path": "evidence/home.har",
      "caption": "Network archive for homepage load",
      "condition": "5 second load",
      "findingIds": []
    },
    {
      "type": "har-summary",
      "path": "evidence/home-summary.json",
      "caption": "Compact network/third-party/render-blocking summary",
      "condition": "5 second load",
      "findingIds": [
        "F10",
        "F11",
        "F15",
        "F22",
        "F27",
        "F28"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse-home.json",
      "caption": "Lighthouse mobile report for homepage",
      "condition": "mobile",
      "findingIds": [
        "F15",
        "F17"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse-detail.json",
      "caption": "Lighthouse mobile report for detail",
      "condition": "mobile",
      "findingIds": [
        "F08",
        "F09",
        "F10",
        "F12",
        "F13",
        "F17",
        "F19"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse-contact.json",
      "caption": "Lighthouse mobile report for contact",
      "condition": "mobile",
      "findingIds": [
        "F18"
      ]
    },
    {
      "type": "heap",
      "path": "evidence/heap-baseline.json",
      "caption": "Baseline heap summary",
      "condition": "homepage",
      "findingIds": []
    },
    {
      "type": "heap",
      "path": "evidence/heap-post-menu.json",
      "caption": "Heap after ten drawer cycles",
      "condition": "homepage mobile",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/memory-metrics.json",
      "caption": "Runtime heap/DOM before-after sample",
      "condition": "ten drawer cycles",
      "findingIds": []
    },
    {
      "type": "discoverability",
      "path": "evidence/home-discoverability.json",
      "caption": "Raw HTML versus rendered homepage",
      "condition": "JavaScript off/raw HTML",
      "findingIds": []
    },
    {
      "type": "discoverability",
      "path": "evidence/categories-discoverability.json",
      "caption": "Raw HTML versus rendered categories",
      "condition": "JavaScript off/raw HTML",
      "findingIds": []
    },
    {
      "type": "discoverability",
      "path": "evidence/detail-discoverability.json",
      "caption": "Raw HTML versus rendered detail",
      "condition": "JavaScript off/raw HTML",
      "findingIds": []
    },
    {
      "type": "discoverability",
      "path": "evidence/contact-discoverability.json",
      "caption": "Raw HTML versus rendered contact",
      "condition": "JavaScript off/raw HTML",
      "findingIds": []
    },
    {
      "type": "dom",
      "path": "evidence/home-probe.json",
      "caption": "Homepage semantic/CSS/platform probe",
      "condition": "rendered",
      "findingIds": [
        "F03",
        "F04",
        "F05",
        "F06",
        "F12",
        "F14"
      ]
    },
    {
      "type": "dom",
      "path": "evidence/detail-probe.json",
      "caption": "Detail semantic/CSS/platform probe",
      "condition": "rendered",
      "findingIds": [
        "F13",
        "F20"
      ]
    },
    {
      "type": "dom",
      "path": "evidence/contact-probe.json",
      "caption": "Contact semantic/form/platform probe",
      "condition": "rendered",
      "findingIds": [
        "F18",
        "F25"
      ]
    },
    {
      "type": "other",
      "path": "evidence/headers.json",
      "caption": "Security response-header inspection",
      "condition": "homepage",
      "findingIds": [
        "F21",
        "F23"
      ]
    },
    {
      "type": "other",
      "path": "evidence/cookies.json",
      "caption": "Cookie flag and retention inspection",
      "condition": "homepage",
      "findingIds": [
        "F21"
      ]
    },
    {
      "type": "other",
      "path": "evidence/trackers.json",
      "caption": "Third-party origin inspection",
      "condition": "homepage",
      "findingIds": [
        "F22",
        "F28"
      ]
    },
    {
      "type": "other",
      "path": "evidence/secrets.json",
      "caption": "Client-side secret scan",
      "condition": "homepage",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/home-images.json",
      "caption": "Homepage image audit",
      "condition": "homepage",
      "findingIds": [
        "F16",
        "F26"
      ]
    },
    {
      "type": "other",
      "path": "evidence/detail-images.json",
      "caption": "Detail image audit",
      "condition": "detail",
      "findingIds": [
        "F09",
        "F16",
        "F26"
      ]
    },
    {
      "type": "other",
      "path": "evidence/contact-validation.json",
      "caption": "Contact-form validity probe",
      "condition": "blank/invalid input",
      "findingIds": [
        "F07",
        "F24"
      ]
    },
    {
      "type": "other",
      "path": "evidence/404-state.json",
      "caption": "Rendered 404 recovery state",
      "condition": "missing route",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/reduced-motion-menu.json",
      "caption": "Animation probe with reduced motion active",
      "condition": "prefers-reduced-motion: reduce",
      "findingIds": [
        "F02"
      ]
    },
    {
      "type": "dom",
      "path": "evidence/resource-dom-confirmation.json",
      "caption": "Live script and stylesheet attribute confirmation",
      "condition": "homepage",
      "findingIds": [
        "F10",
        "F27"
      ]
    },
    {
      "type": "dom",
      "path": "evidence/recon.json",
      "caption": "Route, metadata, link, and script recon",
      "condition": "homepage",
      "findingIds": [
        "F11",
        "F19",
        "F20"
      ]
    },
    {
      "type": "dom",
      "path": "evidence/player-selectors.json",
      "caption": "Embedded player and related-control inspection",
      "condition": "detail",
      "findingIds": [
        "F12",
        "F14"
      ]
    },
    {
      "type": "other",
      "path": "evidence/routes.json",
      "caption": "robots.txt and sitemap.xml fetch results",
      "condition": "homepage",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "coverage-manifest.json",
      "caption": "Atomic check coverage manifest",
      "condition": "catalog",
      "findingIds": []
    }
  ],
  "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": "Targeted visual/objective evidence from the representative paths",
      "evidence": "The dark-emulated screenshot is pixel-identical in appearance and byte size to the normal desktop capture, and the authored CSS probe found no color-scheme, prefers-color-scheme, or light-dark() usage.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-dark.png",
        "evidence/home-desktop.png"
      ],
      "findingIds": [
        "F01"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-reduced-motion",
      "status": "issues",
      "confidence": "high",
      "method": "Targeted visual/objective evidence from the representative paths",
      "evidence": "With prefers-reduced-motion: reduce active, opening the menu produced five running animations lasting 400–600 ms; the stylesheet probe found no reduced-motion query.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/reduced-motion-menu.json",
        "evidence/menu-transition.mp4"
      ],
      "findingIds": [
        "F02"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-contrast",
      "status": "pass",
      "confidence": "high",
      "method": "Screenshot comparison plus Lighthouse contrast audits",
      "evidence": "The prefers-contrast capture keeps text and controls visible, and Lighthouse reported no colour-contrast failure on the sampled templates.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-contrast.png",
        "evidence/lighthouse-home.json"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "view-transitions",
      "status": "issues",
      "confidence": "high",
      "method": "Targeted visual/objective evidence from the representative paths",
      "evidence": "The CSS/JS probe across all four templates found no view-transition-name, @view-transition, or startViewTransition usage; the site is an MPA with frequent detail/list navigation.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/menu-transition.mp4"
      ],
      "findingIds": [
        "F03"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "scroll-driven-animations",
      "status": "pass",
      "confidence": "high",
      "method": "Fetched CSS/JS feature probe and load observers",
      "evidence": "No scroll-linked animation is present: no animation-timeline/scroll-timeline CSS, no inline scroll listener, and no animation was active at rest, so there is no main-thread scroll animation anti-pattern to replace.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/resource-dom-confirmation.json"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "physical-gestures",
      "status": "pass",
      "confidence": "high",
      "method": "Mobile interaction video and CSS/DOM probe",
      "evidence": "The only representative gesture-like interaction is the navigation drawer; it uses click plus CSS animation, not custom pointermove/drag handling, and does not fight native scrolling.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/menu-transition.mp4",
        "evidence/home-probe.json"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "scroll-state-aware-chrome",
      "status": "issues",
      "confidence": "high",
      "method": "Targeted visual/objective evidence from the representative paths",
      "evidence": "Mobile screenshots show fixed top and bottom chrome while the stylesheet probe found no scroll-state container query, progress indicator, or equivalent state-aware treatment.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/home-probe.json"
      ],
      "findingIds": [
        "F04"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "anchored-positioning",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Applicability judgement from representative-route recon",
      "evidence": "No tooltip, popover, or edge-positioned menu requiring anchor positioning appears on the representative templates.",
      "reason": "No tooltip, popover, or edge-positioned menu requiring anchor positioning appears on the representative templates."
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "directs-attention",
      "status": "pass",
      "confidence": "high",
      "method": "Responsive screenshots and DOM landmarks",
      "evidence": "The persistent bottom navigation labels destinations and visibly marks the current Home item, while each destination begins with a page-specific H1.",
      "pathIds": [
        "home",
        "categories",
        "detail",
        "contact"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/detail-mobile.png"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "no-intrusive-interruptions",
      "status": "pass",
      "confidence": "high",
      "method": "Initial-load screenshots and overlay probe",
      "evidence": "No modal, consent wall, or full-viewport interruption appears on load across the four representative templates.",
      "pathIds": [
        "home",
        "categories",
        "detail",
        "contact"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/contact-mobile.png"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "semantic-dismissible-primitives",
      "status": "pass",
      "confidence": "high",
      "method": "DOM probe of dialogs/popovers/disclosures",
      "evidence": "No modal/dialog/popover/disclosure control is used on sampled paths; the navigation drawer is a persistent navigation pattern with an explicit close control rather than a modal workflow.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-probe.json"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "reduced-chrome",
      "status": "pass",
      "confidence": "high",
      "method": "Viewport screenshots and layout inspection",
      "evidence": "Primary content occupies most of the viewport; header/category shortcuts and bottom navigation are compact and the page does not add decorative application panels around each content item.",
      "pathIds": [
        "home",
        "detail"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/detail-mobile.png"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "responsive-no-horizontal-scroll",
      "status": "pass",
      "confidence": "high",
      "method": "Layout primitive at 360x800 on three templates",
      "evidence": "Homepage, detail and contact each report scrollWidth=clientWidth=360, horizontalOverflowPx=0, and a responsive viewport meta tag.",
      "pathIds": [
        "home",
        "detail",
        "contact"
      ],
      "artifacts": [
        "evidence/home-mobile-layout.json",
        "evidence/detail-mobile-layout.json",
        "evidence/contact-mobile-layout.json"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "component-level-responsiveness",
      "status": "issues",
      "confidence": "high",
      "method": "Targeted visual/objective evidence from the representative paths",
      "evidence": "The fetched CSS for every sampled template contains no @container or container-type declaration, although the repeated card/navigation components appear in different available widths.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/categories-mobile.png"
      ],
      "findingIds": [
        "F05"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "input-modality-aware",
      "status": "issues",
      "confidence": "high",
      "method": "Targeted visual/objective evidence from the representative paths",
      "evidence": "The active focus probe reported outline-style none and no box shadow for the logo, menu close button, search field/button and drawer links. The close button is 32×32 px and the search opener is 35×30 px.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-probe.json"
      ],
      "findingIds": [
        "F06"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-purpose-and-primary-action",
      "status": "pass",
      "confidence": "high",
      "method": "First-viewport screenshots and heading/link inspection",
      "evidence": "Homepage clearly identifies the catalogue and exposes content cards; the detail page immediately presents its H1 and embedded player; contact presents labelled fields.",
      "pathIds": [
        "home",
        "detail",
        "contact"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/detail-mobile.png",
        "evidence/contact-mobile.png"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "primary-flow-completion",
      "status": "pass",
      "confidence": "high",
      "method": "Homepage-to-detail walkthrough and iframe inspection",
      "evidence": "A visible homepage card resolves to a successful detail page where the primary embedded player is present in the first viewport; no account wall or detour blocks playback initiation.",
      "pathIds": [
        "home",
        "detail"
      ],
      "artifacts": [
        "evidence/recon.json",
        "evidence/detail-mobile.png",
        "evidence/player-selectors.json"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-system-state-and-recovery",
      "status": "issues",
      "confidence": "high",
      "method": "Targeted visual/objective evidence from the representative paths",
      "evidence": "The form validity probe reported blankValid=true: name, email, subject, and message are all optional, and no role=alert or aria-live region exists. Native email syntax feedback only appears after a non-empty malformed value.",
      "pathIds": [
        "contact"
      ],
      "artifacts": [
        "evidence/contact-validation.json",
        "evidence/contact-mobile.png"
      ],
      "findingIds": [
        "F07"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "good-core-web-vitals",
      "status": "issues",
      "confidence": "high",
      "method": "Targeted visual/objective evidence from the representative paths",
      "evidence": "Lighthouse mobile measured LCP 13.6 s, Speed Index 6.2 s, and time to interactive 13.7 s on the primary detail path; the homepage LCP was 4.4 s.",
      "pathIds": [
        "detail"
      ],
      "artifacts": [
        "evidence/lighthouse-detail.json",
        "evidence/home-trace-summary.json"
      ],
      "findingIds": [
        "F08"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "visual-stability",
      "status": "issues",
      "confidence": "high",
      "method": "Targeted visual/objective evidence from the representative paths",
      "evidence": "Lighthouse measured CLS 0.12 on the detail page, while 31 of 32 images lacked explicit width/height attributes.",
      "pathIds": [
        "detail"
      ],
      "artifacts": [
        "evidence/lighthouse-detail.json",
        "evidence/detail-images.json"
      ],
      "findingIds": [
        "F09"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-main-thread",
      "status": "pass",
      "confidence": "high",
      "method": "Trace, layout long-task observer, and Lighthouse TBT",
      "evidence": "The trace recorded one 59.52 ms task and 9.52 ms TBT; Lighthouse TBT was 20 ms on home and 110 ms on detail, below the poor threshold despite slow network/LCP.",
      "pathIds": [
        "home",
        "detail"
      ],
      "artifacts": [
        "evidence/home-trace-summary.json",
        "evidence/lighthouse-detail.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-resource-delivery",
      "status": "issues",
      "confidence": "high",
      "method": "Targeted visual/objective evidence from the representative paths",
      "evidence": "The HAR found seven parser-inserted VeryHigh-priority stylesheets; Lighthouse failed LCP request discovery and network dependency insights. A font request took about 3.0 s. DOM confirmation showed the stylesheets in head.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/resource-dom-confirmation.json",
        "evidence/lighthouse-detail.json"
      ],
      "findingIds": [
        "F10"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "trim-unused-and-duplicate-code",
      "status": "issues",
      "confidence": "high",
      "method": "Targeted visual/objective evidence from the representative paths",
      "evidence": "The rendered DOM includes cdn.sources.network/init.js twice and the advertising endpoint three times. HAR records 181,475 third-party bytes, including 128,126 bytes from cdn.sources.network.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/recon.json",
        "evidence/home-summary.json"
      ],
      "findingIds": [
        "F11"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "names-roles-labels",
      "status": "issues",
      "confidence": "high",
      "method": "Targeted visual/objective evidence from the representative paths",
      "evidence": "Lighthouse failed frame-title on homepage/detail and link-name on detail. The detail iframe has no title; probes also found an unnamed menu-close button and one image without alt on each sampled media/listing page.",
      "pathIds": [
        "detail"
      ],
      "artifacts": [
        "evidence/lighthouse-detail.json",
        "evidence/player-selectors.json",
        "evidence/home-probe.json"
      ],
      "findingIds": [
        "F12"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "sufficient-contrast",
      "status": "pass",
      "confidence": "high",
      "method": "Lighthouse accessibility audits and contrast-emulated screenshot",
      "evidence": "Accessibility scores were 0.96 home, 1.00 contact, and 0.91 detail with no failed colour-contrast audit; essential text remains visible in the contrast capture.",
      "pathIds": [
        "home",
        "detail",
        "contact"
      ],
      "artifacts": [
        "evidence/lighthouse-home.json",
        "evidence/home-contrast.png"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "structure-and-focus",
      "status": "issues",
      "confidence": "high",
      "method": "Targeted visual/objective evidence from the representative paths",
      "evidence": "Lighthouse failed heading-order on the detail template. Focus probes found outline-style none with no substitute across prominent controls and links.",
      "pathIds": [
        "detail"
      ],
      "artifacts": [
        "evidence/lighthouse-detail.json",
        "evidence/detail-probe.json"
      ],
      "findingIds": [
        "F13"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "legible-text",
      "status": "pass",
      "confidence": "high",
      "method": "Mobile screenshots and computed layout",
      "evidence": "Body labels and headings remain readable without clipping at 360px, with sensible line wrapping on long Portuguese titles and no horizontal overflow.",
      "pathIds": [
        "home",
        "detail",
        "contact"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/detail-mobile.png",
        "evidence/contact-mobile.png"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "zoom-reflow-targets-and-media",
      "status": "issues",
      "confidence": "high",
      "method": "Targeted visual/objective evidence from the representative paths",
      "evidence": "The page exposes the player only as a cross-origin iframe with no title or page-level caption/transcript control; the DOM contains no video/audio track. The menu close and search controls measured below 44×44 px.",
      "pathIds": [
        "detail"
      ],
      "artifacts": [
        "evidence/player-selectors.json",
        "evidence/home-probe.json"
      ],
      "findingIds": [
        "F14"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "no-console-errors",
      "status": "issues",
      "confidence": "high",
      "method": "Targeted visual/objective evidence from the representative paths",
      "evidence": "Lighthouse failed errors-in-console on homepage, contact, and detail. HAR also recorded ERR_BLOCKED_BY_RESPONSE for the advertising script and an aborted first-party funcoes.js request.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-home.json",
        "evidence/home-summary.json"
      ],
      "findingIds": [
        "F15"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "sound-document-and-assets",
      "status": "issues",
      "confidence": "high",
      "method": "Targeted visual/objective evidence from the representative paths",
      "evidence": "The image primitive found 40/41 homepage images and 31/32 detail images without width/height, 11–12 oversized images, no modern formats, and broad srcset omissions.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-images.json",
        "evidence/detail-images.json"
      ],
      "findingIds": [
        "F16"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "browser-platform-hygiene",
      "status": "issues",
      "confidence": "high",
      "method": "Targeted visual/objective evidence from the representative paths",
      "evidence": "Lighthouse failed inspector-issues on homepage and detail, alongside third-party-cookie and frame accessibility diagnostics.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-home.json",
        "evidence/lighthouse-detail.json"
      ],
      "findingIds": [
        "F17"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "title-and-description",
      "status": "issues",
      "confidence": "high",
      "method": "Targeted visual/objective evidence from the representative paths",
      "evidence": "DOM and Lighthouse both report no meta description on /contato/; Lighthouse SEO for that page is 0.92. The page is intentionally noindex, but a description still improves direct/share context.",
      "pathIds": [
        "contact"
      ],
      "artifacts": [
        "evidence/contact-probe.json",
        "evidence/lighthouse-contact.json"
      ],
      "findingIds": [
        "F18"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "crawlable-and-mobile-friendly",
      "status": "issues",
      "confidence": "high",
      "method": "Targeted visual/objective evidence from the representative paths",
      "evidence": "Lighthouse failed crawlable-anchors on the representative detail page; recon also found a javascript:; anchor on the shared shell.",
      "pathIds": [
        "detail"
      ],
      "artifacts": [
        "evidence/lighthouse-detail.json",
        "evidence/recon.json"
      ],
      "findingIds": [
        "F19"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "canonical-and-indexing-signals",
      "status": "pass",
      "confidence": "high",
      "method": "DOM metadata plus robots/sitemap fetch",
      "evidence": "Public home/detail pages return rendered content with canonical URLs and index-friendly robots values; robots.txt advertises a successful sitemap. Contact is intentionally noindex.",
      "pathIds": [
        "home",
        "detail",
        "contact"
      ],
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/detail-probe.json",
        "evidence/routes.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "structured-and-shareable-metadata",
      "status": "issues",
      "confidence": "high",
      "method": "Targeted visual/objective evidence from the representative paths",
      "evidence": "All probes found zero JSON-LD blocks. The detail page exposes og:type and og:image but no complete Open Graph title/description set in the collected metadata.",
      "pathIds": [
        "detail"
      ],
      "artifacts": [
        "evidence/detail-probe.json",
        "evidence/recon.json"
      ],
      "findingIds": [
        "F20"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "secure-transport-and-headers",
      "status": "issues",
      "confidence": "high",
      "method": "Targeted visual/objective evidence from the representative paths",
      "evidence": "HTTPS, HSTS, nosniff, and Referrer-Policy are present, but CSP is absent and all five first-party cookies lack Secure; one analytics cookie lasts 393 days.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/headers.json",
        "evidence/cookies.json"
      ],
      "findingIds": [
        "F21"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "data-minimisation-and-third-parties",
      "status": "issues",
      "confidence": "high",
      "method": "Targeted visual/objective evidence from the representative paths",
      "evidence": "The tracker/HAR evidence records seven third-party origins, 12 requests, and 181,475 third-party bytes, including analytics, advertising, and audience-widget hosts. No consent/privacy control is visible in the initial screenshots.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/trackers.json",
        "evidence/home-summary.json",
        "evidence/home-desktop.png"
      ],
      "findingIds": [
        "F22"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "in-context-permissions-and-modern-auth",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Applicability judgement from representative-route recon",
      "evidence": "No permission request or authentication/account flow exists in the audited public surfaces.",
      "reason": "No permission request or authentication/account flow exists in the audited public surfaces."
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "defensive-browser-policies",
      "status": "issues",
      "confidence": "high",
      "method": "Targeted visual/objective evidence from the representative paths",
      "evidence": "Headers inspection found neither CSP frame-ancestors nor X-Frame-Options, and no Permissions-Policy. HSTS and Referrer-Policy are present.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/headers.json"
      ],
      "findingIds": [
        "F23"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "progressive-enhancement",
      "status": "pass",
      "confidence": "high",
      "method": "Discoverability raw-HTML comparison on four templates",
      "evidence": "All four pages have 100% rendered-content word coverage in raw server HTML, are not JS shells, and preserve title/H1 without JavaScript.",
      "pathIds": [
        "home",
        "categories",
        "detail",
        "contact"
      ],
      "artifacts": [
        "evidence/home-discoverability.json",
        "evidence/detail-discoverability.json"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "resilient-runtime-behaviour",
      "status": "pass",
      "confidence": "high",
      "method": "Drawer interaction, mobile screenshots, and DOM probes",
      "evidence": "The repeated mobile drawer opens/closes without DOM growth, layouts have no horizontal clipping, and the server-rendered templates remain usable when third-party requests fail.",
      "pathIds": [
        "home",
        "detail"
      ],
      "artifacts": [
        "evidence/menu-transition.mp4",
        "evidence/memory-metrics.json",
        "evidence/detail-mobile-layout.json"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "offline-and-installable",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Applicability judgement from representative-route recon",
      "evidence": "This server-rendered media catalogue is not presented as an installable app, and playback is intrinsically network-dependent; offline installation is not a core journey.",
      "reason": "This server-rendered media catalogue is not presented as an installable app, and playback is intrinsically network-dependent; offline installation is not a core journey."
    },
    {
      "principleId": "be-resilient",
      "checkId": "network-and-http-failure-states",
      "status": "pass",
      "confidence": "high",
      "method": "Representative missing-route inspection",
      "evidence": "A nonexistent URL renders a specific Portuguese 404 heading, explanatory copy, navigation, and recovery links instead of a blank shell or infinite spinner.",
      "pathIds": [
        "not-found"
      ],
      "artifacts": [
        "evidence/404-state.json"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "lang-dir-and-logical-properties",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Applicability judgement from representative-route recon",
      "evidence": "The site is deliberately Portuguese/Brazil-only in the sampled content and exposes no locale switch or multi-locale intent.",
      "reason": "The site is deliberately Portuguese/Brazil-only in the sampled content and exposes no locale switch or multi-locale intent."
    },
    {
      "principleId": "be-internationalised",
      "checkId": "locale-aware-data",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Applicability judgement from representative-route recon",
      "evidence": "No locale-switching or locale-sensitive input/output flow was present beyond static Portuguese text.",
      "reason": "No locale-switching or locale-sensitive input/output flow was present beyond static Portuguese text."
    },
    {
      "principleId": "be-internationalised",
      "checkId": "time-zone-correctness",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Applicability judgement from representative-route recon",
      "evidence": "No scheduled event, time-zone selection, or user-entered time flow exists on the sampled templates.",
      "reason": "No scheduled event, time-zone selection, or user-entered time flow exists on the sampled templates."
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "no-dark-patterns",
      "status": "pass",
      "confidence": "high",
      "method": "Initial screenshots and sampled public journey review",
      "evidence": "No consent nag, confirmshaming, forced account creation, continuity trap, or disguised primary action was observed in the sampled browse, playback, and contact surfaces.",
      "pathIds": [
        "home",
        "detail",
        "contact"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/detail-mobile.png",
        "evidence/contact-mobile.png"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "humane-error-handling",
      "status": "issues",
      "confidence": "high",
      "method": "Targeted visual/objective evidence from the representative paths",
      "evidence": "Blank contact input passes client validity, required status is not communicated, and there is no live error summary. This makes accidental empty submissions possible and gives assistive technology no explicit recovery state.",
      "pathIds": [
        "contact"
      ],
      "artifacts": [
        "evidence/contact-validation.json",
        "evidence/contact-mobile.png"
      ],
      "findingIds": [
        "F24"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "trustworthy-input-assistance",
      "status": "issues",
      "confidence": "high",
      "method": "Targeted visual/objective evidence from the representative paths",
      "evidence": "The named email field reports an empty autocomplete value, while both search inputs explicitly disable autocomplete.",
      "pathIds": [
        "contact"
      ],
      "artifacts": [
        "evidence/contact-probe.json"
      ],
      "findingIds": [
        "F25"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "safe-commercial-and-account-flows",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Applicability judgement from representative-route recon",
      "evidence": "No checkout, subscription, consent, authentication, or account-management flow is exposed on the audited public routes.",
      "reason": "No checkout, subscription, consent, authentication, or account-management flow is exposed on the audited public routes."
    },
    {
      "principleId": "be-sustainable",
      "checkId": "optimised-assets",
      "status": "issues",
      "confidence": "high",
      "method": "Targeted visual/objective evidence from the representative paths",
      "evidence": "All 41 homepage images were JPEG/PNG, 31 lacked srcset, 11 were oversized, and none used AVIF/WebP; the detail sample showed the same pattern.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-images.json",
        "evidence/detail-images.json"
      ],
      "findingIds": [
        "F26"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "no-wasteful-work",
      "status": "issues",
      "confidence": "high",
      "method": "Targeted visual/objective evidence from the representative paths",
      "evidence": "HAR attributes 181,475 bytes to third parties, and DOM evidence shows duplicate init.js plus three advertising loader instances before user interaction.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/resource-dom-confirmation.json"
      ],
      "findingIds": [
        "F27"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "third-party-and-media-budget",
      "status": "issues",
      "confidence": "high",
      "method": "Targeted visual/objective evidence from the representative paths",
      "evidence": "12 third-party requests transfer 181,475 bytes, about 21% of the 865,402-byte homepage load, before the user starts media playback.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/trackers.json"
      ],
      "findingIds": [
        "F28"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "structured-agent-capabilities",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Applicability judgement from representative-route recon",
      "evidence": "Agent-facing transaction/tool capability is emerging and no such surface is declared; raw content remains fully server-rendered for crawlers.",
      "reason": "Agent-facing transaction/tool capability is emerging and no such surface is declared; raw content remains fully server-rendered for crawlers."
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "on-device-inference",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Applicability judgement from representative-route recon",
      "evidence": "No summarisation, generation, translation, or other inference task is part of the current product experience.",
      "reason": "No summarisation, generation, translation, or other inference task is part of the current product experience."
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-leak-under-repeated-interaction",
      "status": "pass",
      "confidence": "high",
      "method": "Baseline/post heap summaries and ten-cycle drawer probe",
      "evidence": "After ten drawer open/close cycles, heap snapshot node count fell from 128,959 to 128,643; runtime DOM nodes stayed at 479 and used heap fell from 5.1 MB to 3.37 MB. No retained-growth signal was observed.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-baseline.json",
        "evidence/heap-post-menu.json",
        "evidence/memory-metrics.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "bounded-footprint",
      "status": "pass",
      "confidence": "high",
      "method": "Heap summary and runtime metrics",
      "evidence": "The representative page heap was about 7.16 MB self size with 128,959 heap nodes and 479 live DOM elements, proportionate to the listing and not an obvious bloated footprint.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-baseline.json",
        "evidence/memory-metrics.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-detached-dom-or-unbounded-listeners",
      "status": "pass",
      "confidence": "high",
      "method": "Before/after heap and DOM comparison",
      "evidence": "Ten drawer cycles did not increase live DOM count (479 before and after) or heap snapshot node count; no evidence of unbounded listener/DOM accumulation was observed in this interaction window.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-baseline.json",
        "evidence/heap-post-menu.json",
        "evidence/memory-metrics.json"
      ]
    }
  ],
  "principleOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F01",
        "F02"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F03"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F04"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F05",
        "F06"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F07"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F08",
        "F09",
        "F10",
        "F11"
      ]
    },
    {
      "principleId": "be-inclusive",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F12",
        "F13",
        "F14"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F15",
        "F16",
        "F17"
      ]
    },
    {
      "principleId": "be-discoverable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F18",
        "F19",
        "F20"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F21",
        "F22",
        "F23"
      ]
    },
    {
      "principleId": "be-resilient",
      "expectation": "contextual",
      "status": "pass"
    },
    {
      "principleId": "be-internationalised",
      "expectation": "contextual",
      "status": "not-applicable",
      "reason": "The site is deliberately Portuguese/Brazil-only in the sampled content and exposes no locale switch or multi-locale intent. No locale-switching or locale-sensitive input/output flow was present beyond static Portuguese text. No scheduled event, time-zone selection, or user-entered time flow exists on the sampled templates."
    },
    {
      "principleId": "be-trustworthy",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F24",
        "F25"
      ]
    },
    {
      "principleId": "be-sustainable",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F26",
        "F27",
        "F28"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "expectation": "contextual",
      "status": "not-applicable",
      "reason": "Agent-facing transaction/tool capability is emerging and no such surface is declared; raw content remains fully server-rendered for crawlers. No summarisation, generation, translation, or other inference task is part of the current product experience."
    },
    {
      "principleId": "be-memory-efficient",
      "expectation": "default",
      "status": "pass"
    }
  ],
  "paths": [
    {
      "id": "home",
      "description": "Homepage and primary catalogue listing; represents discovery, navigation, and the shared WordPress listing template.",
      "url": "https://xvideo.vlog.br/",
      "conditions": [
        "desktop 780x493",
        "mobile 360x800",
        "prefers-color-scheme: dark",
        "prefers-contrast: more",
        "prefers-reduced-motion: reduce",
        "keyboard focus"
      ],
      "result": "issues"
    },
    {
      "id": "categories",
      "description": "Categories index; represents taxonomy/index navigation. Other category and pagination URLs share this listing/navigation shell and were not separately sampled.",
      "url": "https://xvideo.vlog.br/categorias/",
      "conditions": [
        "mobile 360x800",
        "JavaScript disabled/raw HTML"
      ],
      "result": "issues"
    },
    {
      "id": "detail",
      "description": "Representative video detail and playback page selected from the homepage; covers the primary content flow and embedded media.",
      "url": "https://xvideo.vlog.br/coroa-fudendo-com-juliana-liberato-dando-o-cu-pro-amigo-famosinho-do-seu-marido-trouxa/",
      "conditions": [
        "mobile 360x800",
        "JavaScript disabled/raw HTML",
        "Lighthouse mobile"
      ],
      "result": "issues"
    },
    {
      "id": "contact",
      "description": "Contact form; represents forms, validation, input assistance, and user recovery states.",
      "url": "https://xvideo.vlog.br/contato/",
      "conditions": [
        "mobile 360x800",
        "invalid and blank form validity probes",
        "JavaScript disabled/raw HTML",
        "Lighthouse mobile"
      ],
      "result": "issues"
    },
    {
      "id": "not-found",
      "description": "Representative nonexistent URL; covers the HTTP/error recovery surface.",
      "url": "https://xvideo.vlog.br/404-test-web-uplift",
      "conditions": [
        "rendered error-state DOM"
      ],
      "result": "pass"
    }
  ],
  "findings": [
    {
      "id": "F01",
      "severity": "medium",
      "confidence": "high",
      "summary": "The interface does not adapt to the user’s dark colour preference.",
      "evidence": "The dark-emulated screenshot is pixel-identical in appearance and byte size to the normal desktop capture, and the authored CSS probe found no color-scheme, prefers-color-scheme, or light-dark() usage.",
      "suggestedFix": "Declare color-scheme and supply preference-driven surface/text tokens using prefers-color-scheme or light-dark(), preserving contrast in both themes.",
      "effort": "small",
      "pathId": "home",
      "url": "https://xvideo.vlog.br/",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-color-scheme",
      "guidanceId": "dark-mode",
      "artifacts": [
        "evidence/home-dark.png",
        "evidence/home-desktop.png"
      ]
    },
    {
      "id": "F02",
      "severity": "medium",
      "confidence": "high",
      "summary": "The mobile navigation animation continues when reduced motion is requested.",
      "evidence": "With prefers-reduced-motion: reduce active, opening the menu produced five running animations lasting 400–600 ms; the stylesheet probe found no reduced-motion query.",
      "suggestedFix": "Add a prefers-reduced-motion: reduce override that removes or greatly shortens non-essential menu and stack transitions.",
      "effort": "small",
      "pathId": "home",
      "url": "https://xvideo.vlog.br/",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-reduced-motion",
      "guidanceId": "accessibility",
      "artifacts": [
        "evidence/reduced-motion-menu.json",
        "evidence/menu-transition.mp4"
      ]
    },
    {
      "id": "F03",
      "severity": "low",
      "confidence": "high",
      "summary": "Page-to-page navigation swaps abruptly without a View Transition.",
      "evidence": "The CSS/JS probe across all four templates found no view-transition-name, @view-transition, or startViewTransition usage; the site is an MPA with frequent detail/list navigation.",
      "suggestedFix": "Add same-origin cross-document View Transitions with a conservative fallback and reduced-motion override for listing-to-detail navigation.",
      "effort": "medium",
      "pathId": "home",
      "url": "https://xvideo.vlog.br/",
      "principleId": "implement-natural-interactions",
      "principleCheckId": "view-transitions",
      "guidanceId": "cross-document-transitions",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/menu-transition.mp4"
      ]
    },
    {
      "id": "F04",
      "severity": "low",
      "confidence": "high",
      "summary": "Persistent navigation chrome does not react to scroll state.",
      "evidence": "Mobile screenshots show fixed top and bottom chrome while the stylesheet probe found no scroll-state container query, progress indicator, or equivalent state-aware treatment.",
      "suggestedFix": "Use a scroll-state query or lightweight progressive enhancement to reduce persistent chrome after scrolling while keeping navigation reachable.",
      "effort": "small",
      "pathId": "home",
      "url": "https://xvideo.vlog.br/",
      "principleId": "provide-guided-navigation",
      "principleCheckId": "scroll-state-aware-chrome",
      "guidanceId": "shrinking-header-on-scroll",
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/home-probe.json"
      ]
    },
    {
      "id": "F05",
      "severity": "low",
      "confidence": "high",
      "summary": "Reusable cards and navigation adapt only at the page viewport level.",
      "evidence": "The fetched CSS for every sampled template contains no @container or container-type declaration, although the repeated card/navigation components appear in different available widths.",
      "suggestedFix": "Declare containment on reusable regions and use size container queries for local card and navigation adaptation; retain existing media-query fallbacks where needed.",
      "effort": "medium",
      "pathId": "home",
      "url": "https://xvideo.vlog.br/",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "component-level-responsiveness",
      "guidanceId": "size-aware-styling",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/categories-mobile.png"
      ]
    },
    {
      "id": "F06",
      "severity": "high",
      "confidence": "high",
      "summary": "Keyboard focus is suppressed on prominent controls, and some icon controls are undersized.",
      "evidence": "The active focus probe reported outline-style none and no box shadow for the logo, menu close button, search field/button and drawer links. The close button is 32×32 px and the search opener is 35×30 px.",
      "suggestedFix": "Add a high-contrast :focus-visible treatment and enlarge interactive icon hit areas to at least 44×44 CSS px without relying on hover.",
      "effort": "small",
      "pathId": "home",
      "url": "https://xvideo.vlog.br/",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "input-modality-aware",
      "guidanceId": "accessibility",
      "artifacts": [
        "evidence/home-probe.json"
      ]
    },
    {
      "id": "F07",
      "severity": "medium",
      "confidence": "high",
      "summary": "The contact form accepts an entirely blank submission and has no accessible error-status region.",
      "evidence": "The form validity probe reported blankValid=true: name, email, subject, and message are all optional, and no role=alert or aria-live region exists. Native email syntax feedback only appears after a non-empty malformed value.",
      "suggestedFix": "Mark genuinely required fields, validate after interaction, preserve entered values, and announce a concise error summary through an aria-live/role=alert region.",
      "effort": "small",
      "pathId": "contact",
      "url": "https://xvideo.vlog.br/contato/",
      "principleId": "support-core-task-success",
      "principleCheckId": "clear-system-state-and-recovery",
      "guidanceId": "accessible-error-announcement",
      "artifacts": [
        "evidence/contact-validation.json",
        "evidence/contact-mobile.png"
      ]
    },
    {
      "id": "F08",
      "severity": "high",
      "confidence": "high",
      "summary": "The representative video detail page has a very slow largest contentful paint.",
      "evidence": "Lighthouse mobile measured LCP 13.6 s, Speed Index 6.2 s, and time to interactive 13.7 s on the primary detail path; the homepage LCP was 4.4 s.",
      "suggestedFix": "Profile the detail-page LCP element, make it discoverable in initial HTML, prioritise only that asset, and defer non-critical embeds/third parties until after primary content.",
      "effort": "large",
      "pathId": "detail",
      "url": "https://xvideo.vlog.br/coroa-fudendo-com-juliana-liberato-dando-o-cu-pro-amigo-famosinho-do-seu-marido-trouxa/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "good-core-web-vitals",
      "guidanceId": "performance",
      "artifacts": [
        "evidence/lighthouse-detail.json",
        "evidence/home-trace-summary.json"
      ]
    },
    {
      "id": "F09",
      "severity": "medium",
      "confidence": "high",
      "summary": "The detail template shifts noticeably during Lighthouse load.",
      "evidence": "Lighthouse measured CLS 0.12 on the detail page, while 31 of 32 images lacked explicit width/height attributes.",
      "suggestedFix": "Reserve media and image space with width/height or aspect-ratio and use stable font fallbacks; verify CLS under a cold mobile load.",
      "effort": "medium",
      "pathId": "detail",
      "url": "https://xvideo.vlog.br/coroa-fudendo-com-juliana-liberato-dando-o-cu-pro-amigo-famosinho-do-seu-marido-trouxa/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "visual-stability",
      "guidanceId": "visually-stable-font-fallbacks",
      "artifacts": [
        "evidence/lighthouse-detail.json",
        "evidence/detail-images.json"
      ]
    },
    {
      "id": "F10",
      "severity": "medium",
      "confidence": "high",
      "summary": "Critical delivery is delayed by a long render/dependency chain.",
      "evidence": "The HAR found seven parser-inserted VeryHigh-priority stylesheets; Lighthouse failed LCP request discovery and network dependency insights. A font request took about 3.0 s. DOM confirmation showed the stylesheets in head.",
      "suggestedFix": "Inline only truly critical CSS, consolidate/defer non-critical styles, preload only the confirmed LCP resource, and ensure font-display plus suitable cache headers.",
      "effort": "medium",
      "pathId": "home",
      "url": "https://xvideo.vlog.br/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "efficient-resource-delivery",
      "guidanceId": "optimize-image-priority",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/resource-dom-confirmation.json",
        "evidence/lighthouse-detail.json"
      ]
    },
    {
      "id": "F11",
      "severity": "medium",
      "confidence": "high",
      "summary": "Third-party and duplicated scripts add avoidable work and transfer cost.",
      "evidence": "The rendered DOM includes cdn.sources.network/init.js twice and the advertising endpoint three times. HAR records 181,475 third-party bytes, including 128,126 bytes from cdn.sources.network.",
      "suggestedFix": "Remove duplicate loaders, load advertising/analytics once and only after consent or clear user value, and audit whether jQuery and icon-font payloads are still required.",
      "effort": "medium",
      "pathId": "home",
      "url": "https://xvideo.vlog.br/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "trim-unused-and-duplicate-code",
      "guidanceId": "identify-heavy-scripts",
      "artifacts": [
        "evidence/recon.json",
        "evidence/home-summary.json"
      ]
    },
    {
      "id": "F12",
      "severity": "high",
      "confidence": "high",
      "summary": "The media embed and several controls lack accessible names.",
      "evidence": "Lighthouse failed frame-title on homepage/detail and link-name on detail. The detail iframe has no title; probes also found an unnamed menu-close button and one image without alt on each sampled media/listing page.",
      "suggestedFix": "Give every iframe a concise title, name icon-only controls, repair unnamed links, and provide meaningful or intentionally empty alt text as appropriate.",
      "effort": "small",
      "pathId": "detail",
      "url": "https://xvideo.vlog.br/coroa-fudendo-com-juliana-liberato-dando-o-cu-pro-amigo-famosinho-do-seu-marido-trouxa/",
      "principleId": "be-inclusive",
      "principleCheckId": "names-roles-labels",
      "guidanceId": "accessibility",
      "artifacts": [
        "evidence/lighthouse-detail.json",
        "evidence/player-selectors.json",
        "evidence/home-probe.json"
      ]
    },
    {
      "id": "F13",
      "severity": "high",
      "confidence": "high",
      "summary": "Heading order and visible keyboard focus are not dependable.",
      "evidence": "Lighthouse failed heading-order on the detail template. Focus probes found outline-style none with no substitute across prominent controls and links.",
      "suggestedFix": "Use a sequential heading hierarchy and a consistent, clearly visible :focus-visible ring that follows reading order through header, content, media controls, and footer.",
      "effort": "small",
      "pathId": "detail",
      "url": "https://xvideo.vlog.br/coroa-fudendo-com-juliana-liberato-dando-o-cu-pro-amigo-famosinho-do-seu-marido-trouxa/",
      "principleId": "be-inclusive",
      "principleCheckId": "structure-and-focus",
      "guidanceId": "accessibility",
      "artifacts": [
        "evidence/lighthouse-detail.json",
        "evidence/detail-probe.json"
      ]
    },
    {
      "id": "F14",
      "severity": "medium",
      "confidence": "high",
      "summary": "The representative media experience does not expose an equivalent caption track, and some controls miss target-size guidance.",
      "evidence": "The page exposes the player only as a cross-origin iframe with no title or page-level caption/transcript control; the DOM contains no video/audio track. The menu close and search controls measured below 44×44 px.",
      "suggestedFix": "Provide captions/transcript alongside the embed (or verify and expose the player’s caption support), title the frame, and enlarge small controls while preserving unrestricted zoom.",
      "effort": "medium",
      "pathId": "detail",
      "url": "https://xvideo.vlog.br/coroa-fudendo-com-juliana-liberato-dando-o-cu-pro-amigo-famosinho-do-seu-marido-trouxa/",
      "principleId": "be-inclusive",
      "principleCheckId": "zoom-reflow-targets-and-media",
      "guidanceId": "accessibility",
      "artifacts": [
        "evidence/player-selectors.json",
        "evidence/home-probe.json"
      ]
    },
    {
      "id": "F15",
      "severity": "medium",
      "confidence": "high",
      "summary": "The sampled templates log browser errors.",
      "evidence": "Lighthouse failed errors-in-console on homepage, contact, and detail. HAR also recorded ERR_BLOCKED_BY_RESPONSE for the advertising script and an aborted first-party funcoes.js request.",
      "suggestedFix": "Remove or correctly gate failing resources, handle expected third-party failures, and keep production console output free of uncaught/resource errors.",
      "effort": "small",
      "pathId": "home",
      "url": "https://xvideo.vlog.br/",
      "principleId": "follow-best-practices",
      "principleCheckId": "no-console-errors",
      "guidanceId": "html",
      "artifacts": [
        "evidence/lighthouse-home.json",
        "evidence/home-summary.json"
      ]
    },
    {
      "id": "F16",
      "severity": "medium",
      "confidence": "high",
      "summary": "Most images omit intrinsic dimensions and several are oversized for their rendered slot.",
      "evidence": "The image primitive found 40/41 homepage images and 31/32 detail images without width/height, 11–12 oversized images, no modern formats, and broad srcset omissions.",
      "suggestedFix": "Emit intrinsic width/height, responsive srcset/sizes, and correctly sized modern-format variants from the media pipeline.",
      "effort": "medium",
      "pathId": "home",
      "url": "https://xvideo.vlog.br/",
      "principleId": "follow-best-practices",
      "principleCheckId": "sound-document-and-assets",
      "guidanceId": "html",
      "artifacts": [
        "evidence/home-images.json",
        "evidence/detail-images.json"
      ]
    },
    {
      "id": "F17",
      "severity": "low",
      "confidence": "high",
      "summary": "Chrome reports inspector/platform issues on primary templates.",
      "evidence": "Lighthouse failed inspector-issues on homepage and detail, alongside third-party-cookie and frame accessibility diagnostics.",
      "suggestedFix": "Resolve the concrete DevTools Issues entries, starting with the untitled frame and third-party cookie/resource policy warnings, then retest BFCache and deprecation diagnostics.",
      "effort": "small",
      "pathId": "home",
      "url": "https://xvideo.vlog.br/",
      "principleId": "follow-best-practices",
      "principleCheckId": "browser-platform-hygiene",
      "guidanceId": "html",
      "artifacts": [
        "evidence/lighthouse-home.json",
        "evidence/lighthouse-detail.json"
      ]
    },
    {
      "id": "F18",
      "severity": "low",
      "confidence": "high",
      "summary": "The contact page has no meta description.",
      "evidence": "DOM and Lighthouse both report no meta description on /contato/; Lighthouse SEO for that page is 0.92. The page is intentionally noindex, but a description still improves direct/share context.",
      "suggestedFix": "Add a concise, page-specific description, or document that the noindex utility page is intentionally excluded from search previews.",
      "effort": "trivial",
      "pathId": "contact",
      "url": "https://xvideo.vlog.br/contato/",
      "principleId": "be-discoverable",
      "principleCheckId": "title-and-description",
      "guidanceId": "improve-text-layout-and-legibility",
      "artifacts": [
        "evidence/contact-probe.json",
        "evidence/lighthouse-contact.json"
      ]
    },
    {
      "id": "F19",
      "severity": "medium",
      "confidence": "high",
      "summary": "Some detail-page anchors are not crawlable.",
      "evidence": "Lighthouse failed crawlable-anchors on the representative detail page; recon also found a javascript:; anchor on the shared shell.",
      "suggestedFix": "Replace script-only anchors with buttons for actions and real href URLs for navigation, preserving descriptive accessible text.",
      "effort": "small",
      "pathId": "detail",
      "url": "https://xvideo.vlog.br/coroa-fudendo-com-juliana-liberato-dando-o-cu-pro-amigo-famosinho-do-seu-marido-trouxa/",
      "principleId": "be-discoverable",
      "principleCheckId": "crawlable-and-mobile-friendly",
      "guidanceId": "html",
      "artifacts": [
        "evidence/lighthouse-detail.json",
        "evidence/recon.json"
      ]
    },
    {
      "id": "F20",
      "severity": "medium",
      "confidence": "high",
      "summary": "Rich video pages lack structured data and complete social metadata.",
      "evidence": "All probes found zero JSON-LD blocks. The detail page exposes og:type and og:image but no complete Open Graph title/description set in the collected metadata.",
      "suggestedFix": "Add accurate VideoObject JSON-LD and complete Open Graph/Twitter metadata that matches the visible title, thumbnail, description, duration, and canonical URL.",
      "effort": "medium",
      "pathId": "detail",
      "url": "https://xvideo.vlog.br/coroa-fudendo-com-juliana-liberato-dando-o-cu-pro-amigo-famosinho-do-seu-marido-trouxa/",
      "principleId": "be-discoverable",
      "principleCheckId": "structured-and-shareable-metadata",
      "guidanceId": "html",
      "artifacts": [
        "evidence/detail-probe.json",
        "evidence/recon.json"
      ]
    },
    {
      "id": "F21",
      "severity": "high",
      "confidence": "high",
      "summary": "Security headers and cookie transport protections are incomplete.",
      "evidence": "HTTPS, HSTS, nosniff, and Referrer-Policy are present, but CSP is absent and all five first-party cookies lack Secure; one analytics cookie lasts 393 days.",
      "suggestedFix": "Set Secure on all HTTPS cookies, shorten analytics retention, and deploy a restrictive nonce/hash-based CSP after inventorying required origins.",
      "effort": "medium",
      "pathId": "home",
      "url": "https://xvideo.vlog.br/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "secure-transport-and-headers",
      "guidanceId": "security",
      "artifacts": [
        "evidence/headers.json",
        "evidence/cookies.json"
      ]
    },
    {
      "id": "F22",
      "severity": "high",
      "confidence": "high",
      "summary": "The page loads a broad advertising/analytics footprint without an evident privacy control.",
      "evidence": "The tracker/HAR evidence records seven third-party origins, 12 requests, and 181,475 third-party bytes, including analytics, advertising, and audience-widget hosts. No consent/privacy control is visible in the initial screenshots.",
      "suggestedFix": "Minimise vendors and identifiers, defer non-essential third parties until informed consent where required, batch analytics, and document retention/purpose.",
      "effort": "medium",
      "pathId": "home",
      "url": "https://xvideo.vlog.br/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "data-minimisation-and-third-parties",
      "guidanceId": "privacy",
      "artifacts": [
        "evidence/trackers.json",
        "evidence/home-summary.json",
        "evidence/home-desktop.png"
      ]
    },
    {
      "id": "F23",
      "severity": "medium",
      "confidence": "high",
      "summary": "Clickjacking and capability policies are absent.",
      "evidence": "Headers inspection found neither CSP frame-ancestors nor X-Frame-Options, and no Permissions-Policy. HSTS and Referrer-Policy are present.",
      "suggestedFix": "Add frame-ancestors (and X-Frame-Options where legacy support matters) plus a least-privilege Permissions-Policy; consider Trusted Types after CSP is established.",
      "effort": "small",
      "pathId": "home",
      "url": "https://xvideo.vlog.br/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "defensive-browser-policies",
      "guidanceId": "security",
      "artifacts": [
        "evidence/headers.json"
      ]
    },
    {
      "id": "F24",
      "severity": "medium",
      "confidence": "high",
      "summary": "Contact-form error prevention and recovery are under-specified.",
      "evidence": "Blank contact input passes client validity, required status is not communicated, and there is no live error summary. This makes accidental empty submissions possible and gives assistive technology no explicit recovery state.",
      "suggestedFix": "Use required semantics, :user-invalid/aria-invalid after interaction, field-level guidance, and an accessible summary without clearing valid input.",
      "effort": "small",
      "pathId": "contact",
      "url": "https://xvideo.vlog.br/contato/",
      "principleId": "be-trustworthy",
      "principleCheckId": "humane-error-handling",
      "guidanceId": "forms",
      "artifacts": [
        "evidence/contact-validation.json",
        "evidence/contact-mobile.png"
      ]
    },
    {
      "id": "F25",
      "severity": "low",
      "confidence": "high",
      "summary": "Contact fields omit useful autocomplete tokens.",
      "evidence": "The named email field reports an empty autocomplete value, while both search inputs explicitly disable autocomplete.",
      "suggestedFix": "Use autocomplete=name and autocomplete=email on contact fields; only suppress suggestions where there is a demonstrated privacy/usability reason.",
      "effort": "trivial",
      "pathId": "contact",
      "url": "https://xvideo.vlog.br/contato/",
      "principleId": "be-trustworthy",
      "principleCheckId": "trustworthy-input-assistance",
      "guidanceId": "autofill-address-form",
      "artifacts": [
        "evidence/contact-probe.json"
      ]
    },
    {
      "id": "F26",
      "severity": "medium",
      "confidence": "high",
      "summary": "The image pipeline ships legacy, non-responsive assets.",
      "evidence": "All 41 homepage images were JPEG/PNG, 31 lacked srcset, 11 were oversized, and none used AVIF/WebP; the detail sample showed the same pattern.",
      "suggestedFix": "Generate AVIF/WebP variants, responsive srcset/sizes, intrinsic dimensions, and appropriately sized icon assets while retaining fallbacks.",
      "effort": "medium",
      "pathId": "home",
      "url": "https://xvideo.vlog.br/",
      "principleId": "be-sustainable",
      "principleCheckId": "optimised-assets",
      "guidanceId": "deliver-optimized-decorative-images",
      "artifacts": [
        "evidence/home-images.json",
        "evidence/detail-images.json"
      ]
    },
    {
      "id": "F27",
      "severity": "medium",
      "confidence": "high",
      "summary": "Duplicated and non-essential third-party work runs during initial load.",
      "evidence": "HAR attributes 181,475 bytes to third parties, and DOM evidence shows duplicate init.js plus three advertising loader instances before user interaction.",
      "suggestedFix": "Deduplicate loaders, defer advertising/analytics to idle or consented states, and stop background collection when the page is hidden.",
      "effort": "medium",
      "pathId": "home",
      "url": "https://xvideo.vlog.br/",
      "principleId": "be-sustainable",
      "principleCheckId": "no-wasteful-work",
      "guidanceId": "deprioritize-background-fetches",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/resource-dom-confirmation.json"
      ]
    },
    {
      "id": "F28",
      "severity": "medium",
      "confidence": "high",
      "summary": "Third-party code consumes a disproportionate share of the initial non-media budget.",
      "evidence": "12 third-party requests transfer 181,475 bytes, about 21% of the 865,402-byte homepage load, before the user starts media playback.",
      "suggestedFix": "Set a third-party budget, remove low-value widgets/vendors, cache shared code, and load media/advertising only at the point of user value.",
      "effort": "medium",
      "pathId": "home",
      "url": "https://xvideo.vlog.br/",
      "principleId": "be-sustainable",
      "principleCheckId": "third-party-and-media-budget",
      "guidanceId": "efficient-background-processing",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/trackers.json"
      ]
    }
  ],
  "taskList": [
    {
      "id": "T01",
      "title": "Restore keyboard/accessibility fundamentals and media equivalence",
      "priority": 1,
      "findingIds": [
        "F06",
        "F12",
        "F13",
        "F14"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T02",
      "title": "Fix detail-page LCP, CLS, and critical delivery",
      "priority": 2,
      "findingIds": [
        "F08",
        "F09",
        "F10"
      ],
      "guidanceId": "performance",
      "status": "open"
    },
    {
      "id": "T03",
      "title": "Harden CSP, cookie flags, framing, and capability policies",
      "priority": 3,
      "findingIds": [
        "F21",
        "F23"
      ],
      "guidanceId": "security",
      "status": "open"
    },
    {
      "id": "T04",
      "title": "Minimise and consent-gate third-party analytics/advertising",
      "priority": 4,
      "findingIds": [
        "F11",
        "F22",
        "F27",
        "F28"
      ],
      "guidanceId": "privacy",
      "status": "open"
    },
    {
      "id": "T05",
      "title": "Modernise responsive image delivery and intrinsic sizing",
      "priority": 5,
      "findingIds": [
        "F16",
        "F26"
      ],
      "guidanceId": "deliver-optimized-decorative-images",
      "status": "open"
    },
    {
      "id": "T06",
      "title": "Make contact validation required, humane, and announced",
      "priority": 6,
      "findingIds": [
        "F07",
        "F24",
        "F25"
      ],
      "guidanceId": "forms",
      "status": "open"
    },
    {
      "id": "T07",
      "title": "Respect dark-theme and reduced-motion preferences",
      "priority": 7,
      "findingIds": [
        "F01",
        "F02"
      ],
      "guidanceId": "dark-mode",
      "status": "open"
    },
    {
      "id": "T08",
      "title": "Repair crawlable actions and rich video metadata",
      "priority": 8,
      "findingIds": [
        "F18",
        "F19",
        "F20"
      ],
      "guidanceId": "html",
      "status": "open"
    },
    {
      "id": "T09",
      "title": "Clear production console and DevTools issues",
      "priority": 9,
      "findingIds": [
        "F15",
        "F17"
      ],
      "guidanceId": "html",
      "status": "open"
    },
    {
      "id": "T10",
      "title": "Progressively enhance navigation with local responsiveness and transitions",
      "priority": 10,
      "findingIds": [
        "F03",
        "F04",
        "F05"
      ],
      "guidanceId": "size-aware-styling",
      "status": "open"
    }
  ],
  "budget": {
    "pathCount": 5,
    "auditPasses": 1
  },
  "agent": "pi",
  "runId": "2026-07-20T18-19-26-865Z"
}
