{
  "url": "https://www.ynet.co.il",
  "auditedAt": "2026-07-24T09:13:24.811Z",
  "mode": "report",
  "status": "completed",
  "statusDetail": "Coverage-complete model-led audit across representative home, section, article, breaking-news, account-entry and error templates.",
  "page": {
    "appType": "mpa",
    "framework": "Mixed legacy/server templates with client-rendered widgets and advertising integrations",
    "notes": "Public Hebrew news publisher. Core raw HTML includes metadata but article/listing content has very low no-JS overlap."
  },
  "evidenceUsed": [
    "screenshot",
    "transition-video",
    "dom",
    "evaluate-probe",
    "layout-metrics",
    "trace",
    "har",
    "discoverability",
    "headers",
    "cookies",
    "trackers",
    "secrets",
    "images",
    "heap-summary",
    "lighthouse",
    "robots/sitemap fetch",
    "Modern Web Guidance 0.0.172"
  ],
  "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",
    "custom-button-actions",
    "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/article-discoverability-crawler.png",
      "caption": "article discoverability crawler",
      "findingIds": [
        "F27"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/article-discoverability-rendered.png",
      "caption": "article discoverability rendered",
      "findingIds": [
        "F04",
        "F10",
        "F27"
      ]
    },
    {
      "type": "discoverability",
      "path": "evidence/article-discoverability.json",
      "caption": "article discoverability",
      "findingIds": [
        "F21",
        "F27"
      ]
    },
    {
      "type": "other",
      "path": "evidence/article-images.json",
      "caption": "article images",
      "findingIds": [
        "F12",
        "F16"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/article-lighthouse.json",
      "caption": "article lighthouse",
      "findingIds": [
        "F11",
        "F15",
        "F17",
        "F19",
        "F21"
      ]
    },
    {
      "type": "layout",
      "path": "evidence/article-mobile-layout.json",
      "caption": "article mobile layout",
      "findingIds": [
        "F03",
        "F07",
        "F12"
      ]
    },
    {
      "type": "other",
      "path": "evidence/article-probe.json",
      "caption": "article probe",
      "findingIds": [
        "F02",
        "F08",
        "F18",
        "F28"
      ]
    },
    {
      "type": "other",
      "path": "evidence/breaking-probe.json",
      "caption": "breaking probe",
      "findingIds": [
        "F09"
      ]
    },
    {
      "type": "other",
      "path": "evidence/consent-buttons.json",
      "caption": "consent buttons",
      "findingIds": [
        "F04",
        "F29"
      ]
    },
    {
      "type": "dom",
      "path": "evidence/consent-dom-probe.json",
      "caption": "consent dom probe",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/consent-flow.json",
      "caption": "consent flow",
      "findingIds": [
        "F10",
        "F25",
        "F29"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-contrast-probe.json",
      "caption": "home contrast probe",
      "findingIds": [
        "F01"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-cookies.json",
      "caption": "home cookies",
      "findingIds": [
        "F24"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-desktop.png",
      "caption": "home desktop",
      "findingIds": [
        "F04",
        "F10",
        "F29"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-discoverability-crawler.png",
      "caption": "home discoverability crawler",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/home-discoverability-rendered.png",
      "caption": "home discoverability rendered",
      "findingIds": []
    },
    {
      "type": "discoverability",
      "path": "evidence/home-discoverability.json",
      "caption": "home discoverability",
      "findingIds": [
        "F21"
      ]
    },
    {
      "type": "dom",
      "path": "evidence/home-dom.json",
      "caption": "home dom",
      "findingIds": [
        "F05",
        "F06"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-headers.json",
      "caption": "home headers",
      "findingIds": [
        "F24"
      ]
    },
    {
      "type": "heap",
      "path": "evidence/home-heap-baseline.json",
      "caption": "home heap baseline",
      "findingIds": [
        "F34",
        "F35"
      ]
    },
    {
      "type": "heap",
      "path": "evidence/home-heap-post-scroll.json",
      "caption": "home heap post scroll",
      "findingIds": [
        "F34"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-images.json",
      "caption": "home images",
      "findingIds": [
        "F14",
        "F16",
        "F20",
        "F32"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/home-lighthouse.json",
      "caption": "home lighthouse",
      "findingIds": [
        "F11",
        "F13",
        "F15",
        "F16",
        "F17",
        "F19",
        "F20",
        "F21"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-memory-metrics.json",
      "caption": "home memory metrics",
      "findingIds": [
        "F33",
        "F34",
        "F35"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-mobile-dark.png",
      "caption": "home mobile dark",
      "findingIds": [
        "F01"
      ]
    },
    {
      "type": "layout",
      "path": "evidence/home-mobile-layout.json",
      "caption": "home mobile layout",
      "findingIds": [
        "F03",
        "F07",
        "F18"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-mobile.png",
      "caption": "home mobile",
      "findingIds": [
        "F01",
        "F04",
        "F06",
        "F07",
        "F18"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-probe.json",
      "caption": "home probe",
      "findingIds": [
        "F02",
        "F03",
        "F05",
        "F06",
        "F07",
        "F08",
        "F09",
        "F28"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-recon.json",
      "caption": "home recon",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/home-reduced-motion-probe.json",
      "caption": "home reduced motion probe",
      "findingIds": [
        "F01"
      ]
    },
    {
      "type": "video",
      "path": "evidence/home-scroll.mp4",
      "caption": "home scroll",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/home-secrets.json",
      "caption": "home secrets",
      "findingIds": []
    },
    {
      "type": "har-summary",
      "path": "evidence/home-summary.json",
      "caption": "home summary",
      "findingIds": [
        "F14",
        "F25",
        "F32",
        "F33"
      ]
    },
    {
      "type": "trace-summary",
      "path": "evidence/home-trace-summary.json",
      "caption": "home trace summary",
      "findingIds": [
        "F11",
        "F13"
      ]
    },
    {
      "type": "trace",
      "path": "evidence/home-trace.json",
      "caption": "home trace",
      "findingIds": [
        "F13"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-trackers.json",
      "caption": "home trackers",
      "findingIds": [
        "F25",
        "F33"
      ]
    },
    {
      "type": "har",
      "path": "evidence/home.har",
      "caption": "home",
      "findingIds": [
        "F14"
      ]
    },
    {
      "type": "other",
      "path": "evidence/login-flow-probe.json",
      "caption": "login flow probe",
      "findingIds": [
        "F26",
        "F31"
      ]
    },
    {
      "type": "other",
      "path": "evidence/login-invalid-flow.json",
      "caption": "login invalid flow",
      "findingIds": [
        "F30"
      ]
    },
    {
      "type": "other",
      "path": "evidence/login-probe.json",
      "caption": "login probe",
      "findingIds": [
        "F23",
        "F28"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/news-discoverability-crawler.png",
      "caption": "news discoverability crawler",
      "findingIds": [
        "F27"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/news-discoverability-rendered.png",
      "caption": "news discoverability rendered",
      "findingIds": []
    },
    {
      "type": "discoverability",
      "path": "evidence/news-discoverability.json",
      "caption": "news discoverability",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/news-probe.json",
      "caption": "news probe",
      "findingIds": [
        "F02",
        "F08"
      ]
    },
    {
      "type": "other",
      "path": "evidence/not-found-probe.json",
      "caption": "not found probe",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/not-found.png",
      "caption": "not found",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/robots-sitemap.json",
      "caption": "robots sitemap",
      "findingIds": [
        "F22"
      ]
    },
    {
      "type": "other",
      "path": "evidence/secrets-context.json",
      "caption": "secrets context",
      "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": "Paired screenshots under light and dark preference",
      "evidence": "Light/dark captures are visually identical.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/home-mobile-dark.png"
      ],
      "findingIds": [
        "F01"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-reduced-motion",
      "status": "issues",
      "confidence": "high",
      "method": "Animation probe under prefers-reduced-motion: reduce",
      "evidence": "Ten animations remained active, including infinite animations.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-reduced-motion-probe.json"
      ],
      "findingIds": [
        "F01"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-contrast",
      "status": "issues",
      "confidence": "high",
      "method": "Computed-style/CSS probe under prefers-contrast: more",
      "evidence": "Preference matched but no contrast/forced-colors adaptation was present.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-contrast-probe.json"
      ],
      "findingIds": [
        "F01"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "view-transitions",
      "status": "issues",
      "confidence": "medium",
      "method": "Cross-template CSS/DOM inspection",
      "evidence": "No view-transition use was found for MPA navigation.",
      "pathIds": [
        "home",
        "news",
        "article"
      ],
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/news-probe.json",
        "evidence/article-probe.json"
      ],
      "findingIds": [
        "F02"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "scroll-driven-animations",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Visual/CSS inspection of representative pages",
      "evidence": "No intentional parallax, scrollytelling, or scroll-linked reveal requiring a scroll timeline was identified on sampled templates.",
      "reason": "No intentional parallax, scrollytelling, or scroll-linked reveal requiring a scroll timeline was identified on sampled templates."
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "physical-gestures",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Interaction inventory and DOM/CSS inspection",
      "evidence": "No primary pull, swipe-to-remove, or other gesture-driven task was present in the sampled editorial and login journeys.",
      "reason": "No primary pull, swipe-to-remove, or other gesture-driven task was present in the sampled editorial and login journeys."
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "scroll-state-aware-chrome",
      "status": "issues",
      "confidence": "medium",
      "method": "Long-page layout and CSS inspection",
      "evidence": "Long pages lacked scroll-state query or progress signaling.",
      "pathIds": [
        "home",
        "article"
      ],
      "artifacts": [
        "evidence/home-mobile-layout.json",
        "evidence/article-mobile-layout.json",
        "evidence/home-probe.json"
      ],
      "findingIds": [
        "F03"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "anchored-positioning",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Overlay and interaction inventory",
      "evidence": "No tooltip or viewport-edge anchored menu was required by the sampled primary journeys; the blocking consent modal is not an anchored overlay.",
      "reason": "No tooltip or viewport-edge anchored menu was required by the sampled primary journeys; the blocking consent modal is not an anchored overlay."
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "directs-attention",
      "status": "pass",
      "confidence": "medium",
      "method": "Visual hierarchy, link and recovery-path inspection",
      "evidence": "Persistent labelled navigation, section headings, real internal hrefs, and a clear 404 home action orient users despite density.",
      "pathIds": [
        "home",
        "not-found"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/not-found-probe.json"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "no-intrusive-interruptions",
      "status": "issues",
      "confidence": "high",
      "method": "Fresh-load screenshots on editorial paths",
      "evidence": "Full-page consent interstitial obscures content.",
      "pathIds": [
        "home",
        "article"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/article-discoverability-rendered.png"
      ],
      "findingIds": [
        "F04"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "semantic-dismissible-primitives",
      "status": "issues",
      "confidence": "high",
      "method": "DOM primitive inventory",
      "evidence": "Blocking modal uses generic divs; no dialog/popover exists.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/home-dom.json"
      ],
      "findingIds": [
        "F05"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "reduced-chrome",
      "status": "issues",
      "confidence": "medium",
      "method": "Screenshot and DOM-density analysis",
      "evidence": "Homepage contains 1,427 links/438 images plus blocking and promotional chrome.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/home-probe.json"
      ],
      "findingIds": [
        "F06"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "responsive-no-horizontal-scroll",
      "status": "issues",
      "confidence": "high",
      "method": "360×800 layout metrics and screenshot",
      "evidence": "Viewport is fixed at 1240 and scaled to 0.29 on mobile.",
      "pathIds": [
        "home",
        "article"
      ],
      "artifacts": [
        "evidence/home-mobile-layout.json",
        "evidence/home-mobile.png"
      ],
      "findingIds": [
        "F07"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "component-level-responsiveness",
      "status": "issues",
      "confidence": "medium",
      "method": "Cross-template CSS signal probe",
      "evidence": "No container-query signal across five templates.",
      "pathIds": [
        "home",
        "article"
      ],
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/article-probe.json"
      ],
      "findingIds": [
        "F08"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "input-modality-aware",
      "status": "issues",
      "confidence": "high",
      "method": "Focus walk and target geometry probe",
      "evidence": "Hundreds of sub-24px targets and invisible sampled focus states.",
      "pathIds": [
        "home",
        "breaking"
      ],
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/breaking-probe.json"
      ],
      "findingIds": [
        "F09"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-purpose-and-primary-action",
      "status": "pass",
      "confidence": "high",
      "method": "First-viewport and heading/link inspection",
      "evidence": "Brand, news headlines, section labels and article titles make the editorial purpose and next reading actions clear.",
      "pathIds": [
        "home",
        "news",
        "article"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/home-recon.json"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "primary-flow-completion",
      "status": "issues",
      "confidence": "high",
      "method": "Fresh-session reading journey",
      "evidence": "Consent modal blocks the representative read-an-article flow.",
      "pathIds": [
        "home",
        "article"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/article-discoverability-rendered.png"
      ],
      "findingIds": [
        "F10"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-system-state-and-recovery",
      "status": "pass",
      "confidence": "high",
      "method": "Invalid-route exercise",
      "evidence": "Unknown URL shows a specific error heading and a home-page recovery link.",
      "pathIds": [
        "not-found"
      ],
      "artifacts": [
        "evidence/not-found.png",
        "evidence/not-found-probe.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "good-core-web-vitals",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse on home/article plus trace",
      "evidence": "LCP 9.6–11.3s, TBT 2.04–2.74s, CLS up to 0.32.",
      "pathIds": [
        "home",
        "article"
      ],
      "artifacts": [
        "evidence/home-lighthouse.json",
        "evidence/article-lighthouse.json"
      ],
      "findingIds": [
        "F11"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "visual-stability",
      "status": "issues",
      "confidence": "high",
      "method": "Layout-shift observer and image audit",
      "evidence": "Article CLS 0.466; 23/23 sampled article images lacked dimensions.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/article-mobile-layout.json",
        "evidence/article-images.json"
      ],
      "findingIds": [
        "F12"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-main-thread",
      "status": "issues",
      "confidence": "high",
      "method": "DevTools trace and Lighthouse",
      "evidence": "23 long tasks and severe TBT.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-trace-summary.json",
        "evidence/home-lighthouse.json"
      ],
      "findingIds": [
        "F13"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-resource-delivery",
      "status": "issues",
      "confidence": "high",
      "method": "HAR summary confirmed against image DOM",
      "evidence": "607 requests/16.98MB and extensive unoptimized image delivery.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home-images.json"
      ],
      "findingIds": [
        "F14"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "trim-unused-and-duplicate-code",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse code-coverage diagnostics",
      "evidence": "2.8–2.9MiB unused JavaScript and 500–568KiB unused CSS estimated.",
      "pathIds": [
        "home",
        "article"
      ],
      "artifacts": [
        "evidence/home-lighthouse.json",
        "evidence/article-lighthouse.json"
      ],
      "findingIds": [
        "F15"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "names-roles-labels",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse accessibility and image DOM audit",
      "evidence": "Unnamed links/buttons and missing image alternatives were found.",
      "pathIds": [
        "home",
        "article"
      ],
      "artifacts": [
        "evidence/home-lighthouse.json",
        "evidence/article-images.json"
      ],
      "findingIds": [
        "F16"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "sufficient-contrast",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse contrast audit",
      "evidence": "Five home and two article contrast failures.",
      "pathIds": [
        "home",
        "article"
      ],
      "artifacts": [
        "evidence/home-lighthouse.json",
        "evidence/article-lighthouse.json"
      ],
      "findingIds": [
        "F17"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "structure-and-focus",
      "status": "issues",
      "confidence": "high",
      "method": "Keyboard focus probe and heading inventory",
      "evidence": "First 25 sampled controls showed no visible focus; consent adds multiple H1s to document structure.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/home-recon.json"
      ],
      "findingIds": [
        "F09"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "legible-text",
      "status": "issues",
      "confidence": "high",
      "method": "360px visual/reflow inspection",
      "evidence": "Fixed 1240px canvas shrinks Hebrew text to an illegible scale on mobile.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png"
      ],
      "findingIds": [
        "F18"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "zoom-reflow-targets-and-media",
      "status": "issues",
      "confidence": "high",
      "method": "Viewport, target and media probe",
      "evidence": "Shrink-to-fit viewport, hundreds of tiny targets, and captionless article video.",
      "pathIds": [
        "home",
        "article"
      ],
      "artifacts": [
        "evidence/home-mobile-layout.json",
        "evidence/article-probe.json"
      ],
      "findingIds": [
        "F18"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "no-console-errors",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse console audit",
      "evidence": "16 home and 7 article console errors.",
      "pathIds": [
        "home",
        "article"
      ],
      "artifacts": [
        "evidence/home-lighthouse.json",
        "evidence/article-lighthouse.json"
      ],
      "findingIds": [
        "F19"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "sound-document-and-assets",
      "status": "issues",
      "confidence": "high",
      "method": "Document and image audit",
      "evidence": "Doctype/charset pass, but nearly all homepage images lack intrinsic dimensions and many are oversized.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-images.json",
        "evidence/home-probe.json"
      ],
      "findingIds": [
        "F20"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "browser-platform-hygiene",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse best-practices/inspector audits",
      "evidence": "Inspector issues and broken source-map mappings were reported.",
      "pathIds": [
        "home",
        "article"
      ],
      "artifacts": [
        "evidence/home-lighthouse.json",
        "evidence/article-lighthouse.json"
      ],
      "findingIds": [
        "F20"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "title-and-description",
      "status": "issues",
      "confidence": "high",
      "method": "Metadata probe across five templates",
      "evidence": "Login template has no meta description.",
      "pathIds": [
        "home",
        "news",
        "article",
        "breaking",
        "login"
      ],
      "artifacts": [
        "evidence/login-probe.json"
      ],
      "findingIds": [
        "F23"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "crawlable-and-mobile-friendly",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse SEO, viewport and raw HTML comparison",
      "evidence": "Non-crawlable links, fixed-width viewport and only 4–10% raw content coverage.",
      "pathIds": [
        "home",
        "article"
      ],
      "artifacts": [
        "evidence/home-lighthouse.json",
        "evidence/home-discoverability.json",
        "evidence/article-discoverability.json"
      ],
      "findingIds": [
        "F21"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "canonical-and-indexing-signals",
      "status": "issues",
      "confidence": "high",
      "method": "Canonical/robots/sitemap fetch and metadata probe",
      "evidence": "Pages have canonicals and robots is reachable, but /sitemap.xml is a 404 and no sitemap is advertised.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/robots-sitemap.json",
        "evidence/home-probe.json"
      ],
      "findingIds": [
        "F22"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "structured-and-shareable-metadata",
      "status": "pass",
      "confidence": "high",
      "method": "JSON-LD/Open Graph inspection",
      "evidence": "Editorial templates expose 2–3 JSON-LD blocks and 6–7 Open Graph fields matching visible titles.",
      "pathIds": [
        "home",
        "article"
      ],
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/article-probe.json"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "secure-transport-and-headers",
      "status": "issues",
      "confidence": "high",
      "method": "Headers/cookies primitives",
      "evidence": "Missing HSTS/nosniff/referrer/permissions headers and insecure cookie attributes.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-headers.json",
        "evidence/home-cookies.json"
      ],
      "findingIds": [
        "F24"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "data-minimisation-and-third-parties",
      "status": "issues",
      "confidence": "high",
      "method": "Tracker and HAR primitives plus consent flow",
      "evidence": "71 third-party origins and 27 known trackers with asymmetric consent choices.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-trackers.json",
        "evidence/home-summary.json",
        "evidence/consent-flow.json"
      ],
      "findingIds": [
        "F25"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "in-context-permissions-and-modern-auth",
      "status": "issues",
      "confidence": "high",
      "method": "Login DOM/source probe",
      "evidence": "No on-load permission request was detected, but relevant auth flow lacks passkeys.",
      "pathIds": [
        "login"
      ],
      "artifacts": [
        "evidence/login-flow-probe.json"
      ],
      "findingIds": [
        "F26"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "defensive-browser-policies",
      "status": "issues",
      "confidence": "high",
      "method": "Security header and cookie inspection",
      "evidence": "Frame protection exists, but HSTS, robust CSP directives, nosniff, Referrer-Policy and Permissions-Policy are absent.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-headers.json",
        "evidence/home-cookies.json"
      ],
      "findingIds": [
        "F24"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "progressive-enhancement",
      "status": "issues",
      "confidence": "high",
      "method": "Raw HTML/rendered DOM comparison with crawler screenshots",
      "evidence": "Article/news are classified as JS shells with 4–5% content overlap and blank crawler views.",
      "pathIds": [
        "article",
        "news"
      ],
      "artifacts": [
        "evidence/article-discoverability.json",
        "evidence/article-discoverability-crawler.png",
        "evidence/news-discoverability-crawler.png"
      ],
      "findingIds": [
        "F27"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "resilient-runtime-behaviour",
      "status": "pass",
      "confidence": "medium",
      "method": "Representative load/overlay/recovery exercise",
      "evidence": "Across five templates, content rendered, consent could be managed, and the explicit invalid route reached a stable recovery page.",
      "pathIds": [
        "home",
        "not-found"
      ],
      "artifacts": [
        "evidence/consent-flow.json",
        "evidence/not-found-probe.json"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "offline-and-installable",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Manifest/service-worker probe and site-type judgement",
      "evidence": "This public news MPA is not presented as an installable app; no offline app intent is declared, so PWA installability is not required for this check.",
      "reason": "This public news MPA is not presented as an installable app; no offline app intent is declared, so PWA installability is not required for this check."
    },
    {
      "principleId": "be-resilient",
      "checkId": "network-and-http-failure-states",
      "status": "pass",
      "confidence": "high",
      "method": "Invalid HTTP route exercise",
      "evidence": "A missing URL produces a specific “page does not exist” state and a link back home rather than a blank shell.",
      "pathIds": [
        "not-found"
      ],
      "artifacts": [
        "evidence/not-found.png",
        "evidence/not-found-probe.json"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "lang-dir-and-logical-properties",
      "status": "issues",
      "confidence": "high",
      "method": "Root attributes, computed direction and CSS signal probe",
      "evidence": "lang=he but computed direction is ltr; physical CSS overwhelmingly dominates.",
      "pathIds": [
        "home",
        "article"
      ],
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/article-probe.json"
      ],
      "findingIds": [
        "F28"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "locale-aware-data",
      "status": "pass",
      "confidence": "medium",
      "method": "Rendered locale/content inspection across home, breaking news and weather links",
      "evidence": "Dates, temperatures, breaking-news times and surrounding labels are rendered in Hebrew conventions consistently on sampled pages.",
      "pathIds": [
        "home",
        "breaking"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/breaking-probe.json"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "time-zone-correctness",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Journey and data-surface inventory",
      "evidence": "No user-created event, cross-time-zone schedule, recurring interval, or editable time data was present in the sampled editorial/login journeys.",
      "reason": "No user-created event, cross-time-zone schedule, recurring interval, or editable time data was present in the sampled editorial/login journeys."
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "no-dark-patterns",
      "status": "issues",
      "confidence": "high",
      "method": "Consent choice walkthrough",
      "evidence": "No initial Reject all; Manage options exposes 289 toggles with 63 checked.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/consent-buttons.json",
        "evidence/consent-flow.json"
      ],
      "findingIds": [
        "F29"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "humane-error-handling",
      "status": "issues",
      "confidence": "high",
      "method": "Empty email submission exercise",
      "evidence": "No error, aria-invalid, describedby, focus move or invalid state appeared.",
      "pathIds": [
        "login"
      ],
      "artifacts": [
        "evidence/login-invalid-flow.json"
      ],
      "findingIds": [
        "F30"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "trustworthy-input-assistance",
      "status": "issues",
      "confidence": "high",
      "method": "Login input inspection",
      "evidence": "Visible email field has no autocomplete token.",
      "pathIds": [
        "login"
      ],
      "artifacts": [
        "evidence/login-flow-probe.json"
      ],
      "findingIds": [
        "F31"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "safe-commercial-and-account-flows",
      "status": "issues",
      "confidence": "high",
      "method": "Account entry and consent-flow walkthrough",
      "evidence": "Sign-in lacks passkeys/autofill assistance, and account entry remains behind asymmetric consent UI.",
      "pathIds": [
        "login"
      ],
      "artifacts": [
        "evidence/login-flow-probe.json",
        "evidence/consent-flow.json"
      ],
      "findingIds": [
        "F26",
        "F29",
        "F31"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "optimised-assets",
      "status": "issues",
      "confidence": "high",
      "method": "HAR/image primitive",
      "evidence": "10.27MB/403 image requests with extensive legacy, oversized and eager assets.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home-images.json"
      ],
      "findingIds": [
        "F32"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "no-wasteful-work",
      "status": "issues",
      "confidence": "high",
      "method": "Trace and repeated-scroll resource/memory probe",
      "evidence": "Large startup workload and 74 new resource entries during repeated traversal.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-trace-summary.json",
        "evidence/home-memory-metrics.json"
      ],
      "findingIds": [
        "F33"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "third-party-and-media-budget",
      "status": "issues",
      "confidence": "high",
      "method": "HAR and tracker primitives",
      "evidence": "71 third-party origins, 5.46MB scripts, and 27 known tracking endpoints are disproportionate.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-trackers.json",
        "evidence/home-summary.json"
      ],
      "findingIds": [
        "F33"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "structured-agent-capabilities",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Agent API/source and site-intent inspection",
      "evidence": "No agent-facing capability or declared agent integration intent was present; for this emerging contextual principle, absence is an opportunity rather than a failure.",
      "reason": "No agent-facing capability or declared agent integration intent was present; for this emerging contextual principle, absence is an opportunity rather than a failure."
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "on-device-inference",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Built-in AI/source and site-intent inspection",
      "evidence": "No product task requiring on-device inference was exposed in the sampled editorial/login journeys, and no agent-facing intent is declared.",
      "reason": "No product task requiring on-device inference was exposed in the sampled editorial/login journeys, and no agent-facing intent is declared."
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-leak-under-repeated-interaction",
      "status": "issues",
      "confidence": "medium",
      "method": "Garbage-collected baseline/post heap plus in-session metrics after 10 scroll cycles",
      "evidence": "Heap/DOM grew materially after repeated traversal; confidence is medium because dynamic feed loading may explain part of growth.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-heap-baseline.json",
        "evidence/home-heap-post-scroll.json",
        "evidence/home-memory-metrics.json"
      ],
      "findingIds": [
        "F34"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "bounded-footprint",
      "status": "issues",
      "confidence": "high",
      "method": "Heap summary and live DOM sample",
      "evidence": "Baseline is 147.4MB/2.05M heap nodes and 13,735 live DOM elements.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-heap-baseline.json",
        "evidence/home-memory-metrics.json"
      ],
      "findingIds": [
        "F35"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-detached-dom-or-unbounded-listeners",
      "status": "pass",
      "confidence": "medium",
      "method": "Before/after heap constructor summary inspection",
      "evidence": "No Detached* constructor appeared among the largest retained constructor populations; listener accumulation was not directly exposed, so confidence is medium.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-heap-baseline.json",
        "evidence/home-heap-post-scroll.json"
      ]
    }
  ],
  "principleOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F01"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F02"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F03"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F04",
        "F05",
        "F06"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F07",
        "F08",
        "F09"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F10"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F11",
        "F12",
        "F13",
        "F14",
        "F15"
      ]
    },
    {
      "principleId": "be-inclusive",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F16",
        "F17",
        "F09",
        "F18"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F19",
        "F20"
      ]
    },
    {
      "principleId": "be-discoverable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F23",
        "F21",
        "F22"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F24",
        "F25",
        "F26"
      ]
    },
    {
      "principleId": "be-resilient",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F27"
      ]
    },
    {
      "principleId": "be-internationalised",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F28"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F29",
        "F30",
        "F31",
        "F26"
      ]
    },
    {
      "principleId": "be-sustainable",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F32",
        "F33"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "expectation": "contextual",
      "status": "not-applicable",
      "reason": "No agent-facing capability or declared agent integration intent was present; for this emerging contextual principle, absence is an opportunity rather than a failure. No product task requiring on-device inference was exposed in the sampled editorial/login journeys, and no agent-facing intent is declared."
    },
    {
      "principleId": "be-memory-efficient",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F34",
        "F35"
      ]
    }
  ],
  "paths": [
    {
      "id": "home",
      "description": "Homepage: primary news discovery, navigation, consent, responsive, performance and network template.",
      "url": "https://www.ynet.co.il",
      "conditions": [
        "fresh session",
        "desktop",
        "360x800",
        "dark preference",
        "reduced motion",
        "increased contrast",
        "keyboard focus",
        "repeated scroll"
      ],
      "result": "issues"
    },
    {
      "id": "news",
      "description": "News section listing: representative section/index template and no-JS discoverability.",
      "url": "https://www.ynet.co.il/news",
      "conditions": [
        "fresh session",
        "JavaScript disabled crawler comparison"
      ],
      "result": "issues"
    },
    {
      "id": "article",
      "description": "News article: representative content/detail template, media, stability, accessibility and no-JS rendering.",
      "url": "https://www.ynet.co.il/news/article/b1yqo5grfx",
      "conditions": [
        "fresh session",
        "360x800",
        "JavaScript disabled crawler comparison"
      ],
      "result": "issues"
    },
    {
      "id": "breaking",
      "description": "Breaking-news listing: dense frequently updated list and target-size/navigation behavior.",
      "url": "https://www.ynet.co.il/news/category/184",
      "conditions": [
        "fresh session",
        "keyboard focus"
      ],
      "result": "issues"
    },
    {
      "id": "login",
      "description": "Account entry: representative form/auth journey, autocomplete, invalid input and modern authentication.",
      "url": "https://www.ynet.co.il/plus/newpaywall/login?redirect=/plus",
      "conditions": [
        "fresh session",
        "empty submission"
      ],
      "result": "issues"
    },
    {
      "id": "not-found",
      "description": "Invalid URL: HTTP/error recovery state.",
      "url": "https://www.ynet.co.il/definitely-not-a-real-page-web-uplift",
      "conditions": [
        "fresh session"
      ],
      "result": "pass"
    }
  ],
  "findings": [
    {
      "id": "F01",
      "severity": "high",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-color-scheme",
      "guidanceId": "dark-mode",
      "summary": "The interface does not meaningfully adapt to dark, reduced-motion, or increased-contrast preferences.",
      "evidence": "Light and dark mobile screenshots are visually identical; under prefers-reduced-motion: reduce, ten animations remain running (including four 6–17.2s animations and six infinite animations); the contrast probe found no prefers-contrast/forced-colors CSS.",
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/home-mobile-dark.png",
        "evidence/home-reduced-motion-probe.json",
        "evidence/home-contrast-probe.json"
      ],
      "suggestedFix": "Define semantic light/dark color tokens with color-scheme and prefers-color-scheme, stop non-essential motion under prefers-reduced-motion, and add forced-colors/prefers-contrast adaptations.",
      "effort": "medium",
      "confidence": "high",
      "pathId": "home"
    },
    {
      "id": "F02",
      "severity": "medium",
      "principleId": "implement-natural-interactions",
      "principleCheckId": "view-transitions",
      "guidanceId": "cross-document-transitions",
      "summary": "Navigation changes are abrupt and do not use View Transitions.",
      "evidence": "Rendered CSS/DOM probes on five templates found no view-transition signal; the site is an MPA with many cross-document navigation links.",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/news-probe.json",
        "evidence/article-probe.json"
      ],
      "suggestedFix": "Add @view-transition { navigation: auto } for same-origin pages, with reduced-motion handling and stable view-transition-name assignments for shared elements.",
      "effort": "medium",
      "confidence": "medium",
      "pathId": "home"
    },
    {
      "id": "F03",
      "severity": "low",
      "principleId": "provide-guided-navigation",
      "principleCheckId": "scroll-state-aware-chrome",
      "guidanceId": "shrinking-header-on-scroll",
      "summary": "Long pages do not expose modern scroll-state-aware navigation chrome.",
      "evidence": "The 15,291px homepage and 7,467px article probes found no scroll-state/container-query or scroll-progress implementation.",
      "artifacts": [
        "evidence/home-mobile-layout.json",
        "evidence/article-mobile-layout.json",
        "evidence/home-probe.json"
      ],
      "suggestedFix": "Use a sticky header with scroll-state container queries or a lightweight scroll progress indicator, while respecting reduced motion.",
      "effort": "medium",
      "confidence": "medium",
      "pathId": "home"
    },
    {
      "id": "F04",
      "severity": "high",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "no-intrusive-interruptions",
      "guidanceId": "light-dismiss-a-dialog",
      "summary": "A consent interstitial blocks the full page on every fresh visit.",
      "evidence": "Desktop, mobile, article, and crawler-rendered screenshots show an opaque modal and dimmed page before any interaction; initial actions are only “Consent” and “Manage options”.",
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/home-mobile.png",
        "evidence/article-discoverability-rendered.png",
        "evidence/consent-buttons.json"
      ],
      "suggestedFix": "Present a compact, non-obscuring consent notice where lawful, include equally prominent accept/reject controls, and preserve access to core editorial content.",
      "effort": "medium",
      "confidence": "high",
      "pathId": "home"
    },
    {
      "id": "F05",
      "severity": "medium",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "semantic-dismissible-primitives",
      "guidanceId": "declarative-dialog-popover-control",
      "summary": "The blocking consent UI is built from generic divs rather than a dialog primitive.",
      "evidence": "DOM probes found zero <dialog> or popover elements while a fixed .fc-consent-root/.fc-dialog-overlay covered most of the viewport.",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/home-dom.json"
      ],
      "suggestedFix": "Implement modal behavior with <dialog>, labelled by visible headings, with correct focus containment, escape/cancel behavior, and a non-modal fallback.",
      "effort": "medium",
      "confidence": "high",
      "pathId": "home"
    },
    {
      "id": "F06",
      "severity": "medium",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "reduced-chrome",
      "guidanceId": "reduce-style-repetition",
      "summary": "The homepage is extremely dense with repeated navigation, cards, ads, and recommendation chrome.",
      "evidence": "The first mobile capture is a scaled 15,291px page with a blocking modal; the DOM includes 1,427 links and 438 images.",
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/home-probe.json",
        "evidence/home-dom.json"
      ],
      "suggestedFix": "Reduce duplicate navigation and recommendation modules, prioritize editorial hierarchy, and defer secondary/ad content below the initial reading task.",
      "effort": "large",
      "confidence": "medium",
      "pathId": "home"
    },
    {
      "id": "F07",
      "severity": "critical",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "responsive-no-horizontal-scroll",
      "guidanceId": "fluid-scaling",
      "summary": "The site forces a 1,240px desktop layout on a 360px mobile viewport.",
      "evidence": "meta viewport is width=1240 on all five templates; at a 360×800 device viewport Chrome scales the 1,241px layout to 0.29, making text and controls tiny.",
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/home-mobile-layout.json",
        "evidence/article-mobile-layout.json",
        "evidence/home-probe.json"
      ],
      "suggestedFix": "Use width=device-width, initial-scale=1, remove fixed 1,240px page assumptions, and rebuild key grids with intrinsic fluid sizing.",
      "effort": "large",
      "confidence": "high",
      "pathId": "home"
    },
    {
      "id": "F08",
      "severity": "medium",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "component-level-responsiveness",
      "guidanceId": "size-aware-styling",
      "summary": "Components rely on physical fixed-layout CSS rather than container-responsive composition.",
      "evidence": "CSS probes on all five templates found no @container/container-type signal and hundreds of physical left/right declarations.",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/news-probe.json",
        "evidence/article-probe.json"
      ],
      "suggestedFix": "Introduce container-type on reusable card/list regions and @container rules for compact and expanded variants.",
      "effort": "large",
      "confidence": "medium",
      "pathId": "home"
    },
    {
      "id": "F09",
      "severity": "high",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "input-modality-aware",
      "guidanceId": "accessibility",
      "summary": "Touch targets and keyboard focus are not reliably usable.",
      "evidence": "The homepage probe counted 331 visible controls below 24px in at least one dimension and all first 25 sampled controls had no visible outline or box shadow after focus; breaking news had 517 small targets.",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/breaking-probe.json"
      ],
      "suggestedFix": "Provide visible :focus-visible styles and increase interactive hit areas to at least 24×24 CSS px, preferably 44×44 for primary mobile controls.",
      "effort": "medium",
      "confidence": "high",
      "pathId": "home"
    },
    {
      "id": "F10",
      "severity": "high",
      "principleId": "support-core-task-success",
      "principleCheckId": "primary-flow-completion",
      "guidanceId": "primary-user-journey-task-completion",
      "summary": "Reading primary content is gated by a full-page consent decision.",
      "evidence": "Every representative editorial path loaded behind the same blocking consent interstitial; the article’s rendered screenshot is not readable until a choice is made.",
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/article-discoverability-rendered.png",
        "evidence/consent-flow.json"
      ],
      "suggestedFix": "Keep core news content readable while consent choices are pending and defer non-essential advertising/personalization requests until a choice.",
      "effort": "large",
      "confidence": "high",
      "pathId": "home"
    },
    {
      "id": "F11",
      "severity": "critical",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "good-core-web-vitals",
      "guidanceId": "performance",
      "summary": "Load and interaction performance are far outside good ranges.",
      "evidence": "Lighthouse measured homepage performance 0.23, LCP 11.3s, TBT 2,040ms, Speed Index 25.4s and TTI 60.1s; the article scored 0.10 with LCP 9.6s, TBT 2,740ms and CLS 0.32.",
      "artifacts": [
        "evidence/home-lighthouse.json",
        "evidence/article-lighthouse.json",
        "evidence/home-trace-summary.json"
      ],
      "suggestedFix": "Set performance budgets, prioritize the LCP asset, eliminate non-essential startup scripts, and delay ad/recommendation stacks until after core content is interactive.",
      "effort": "large",
      "confidence": "high",
      "pathId": "home"
    },
    {
      "id": "F12",
      "severity": "high",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "visual-stability",
      "guidanceId": "visually-stable-font-fallbacks",
      "summary": "Article content shifts substantially during load.",
      "evidence": "The mobile article layout observer recorded CLS 0.466, including a single 0.286 shift; all 23 sampled article images lacked width/height attributes.",
      "artifacts": [
        "evidence/article-mobile-layout.json",
        "evidence/article-images.json"
      ],
      "suggestedFix": "Reserve image/ad/media space with width, height, and aspect-ratio; use metric-compatible font fallbacks and avoid late insertion above content.",
      "effort": "medium",
      "confidence": "high",
      "pathId": "home"
    },
    {
      "id": "F13",
      "severity": "high",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "efficient-main-thread",
      "guidanceId": "break-up-long-tasks",
      "summary": "Heavy scripting repeatedly blocks the main thread.",
      "evidence": "The trace recorded 23 long tasks, a 161ms longest task, and 662ms trace TBT; Lighthouse measured 2,040–2,740ms TBT.",
      "artifacts": [
        "evidence/home-trace-summary.json",
        "evidence/home-trace.json",
        "evidence/home-lighthouse.json"
      ],
      "suggestedFix": "Profile script execution, remove or delay low-value third parties, split long tasks, and schedule remaining work by user-visible priority.",
      "effort": "large",
      "confidence": "high",
      "pathId": "home"
    },
    {
      "id": "F14",
      "severity": "critical",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "efficient-resource-delivery",
      "guidanceId": "optimize-image-priority",
      "summary": "The homepage transfers an excessive network and image payload.",
      "evidence": "HAR captured 607 requests and 16.98MB transferred: 403 image requests/10.27MB and 80 scripts/5.46MB. The image audit found 99/100 without dimensions, 79 below-fold images not lazy, 30 oversized, and 76 without srcset.",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home.har",
        "evidence/home-images.json"
      ],
      "suggestedFix": "Lazy-load below-fold media, emit responsive srcset/sizes and explicit dimensions, consolidate requests, cache immutable assets, and prioritize only the LCP image.",
      "effort": "large",
      "confidence": "high",
      "pathId": "home"
    },
    {
      "id": "F15",
      "severity": "high",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "trim-unused-and-duplicate-code",
      "guidanceId": "identify-heavy-scripts",
      "summary": "Large amounts of unused JavaScript and CSS ship on initial load.",
      "evidence": "Lighthouse estimated 2,809KiB unused JavaScript and 500KiB unused CSS on home, and 2,935KiB unused JavaScript/568KiB CSS on the article.",
      "artifacts": [
        "evidence/home-lighthouse.json",
        "evidence/article-lighthouse.json"
      ],
      "suggestedFix": "Route-split template code, remove duplicate/legacy bundles, and conditionally load ad, video, accessibility, and recommendation integrations only where needed.",
      "effort": "large",
      "confidence": "high",
      "pathId": "home"
    },
    {
      "id": "F16",
      "severity": "high",
      "principleId": "be-inclusive",
      "principleCheckId": "names-roles-labels",
      "guidanceId": "accessibility",
      "summary": "Important links, buttons, and images lack accessible names.",
      "evidence": "Lighthouse home found 20 unnamed links, 3 unnamed buttons, and 9 images without alt; article image inspection reported 11/23 without alt (including third-party player assets).",
      "artifacts": [
        "evidence/home-lighthouse.json",
        "evidence/home-images.json",
        "evidence/article-images.json"
      ],
      "suggestedFix": "Add accurate accessible names and meaningful alt, hide decorative/duplicate assets from assistive technology, and verify third-party embeds expose usable controls.",
      "effort": "medium",
      "confidence": "high",
      "pathId": "home"
    },
    {
      "id": "F17",
      "severity": "high",
      "principleId": "be-inclusive",
      "principleCheckId": "sufficient-contrast",
      "guidanceId": "accessibility",
      "summary": "Text contrast fails on representative surfaces.",
      "evidence": "Lighthouse found five insufficient-contrast nodes on home and two on article; accessibility scores were 0.61 and 0.80.",
      "artifacts": [
        "evidence/home-lighthouse.json",
        "evidence/article-lighthouse.json"
      ],
      "suggestedFix": "Adjust semantic foreground/background tokens to meet WCAG AA in all states and verify them in light, dark, and high-contrast modes.",
      "effort": "small",
      "confidence": "high",
      "pathId": "home"
    },
    {
      "id": "F18",
      "severity": "critical",
      "principleId": "be-inclusive",
      "principleCheckId": "zoom-reflow-targets-and-media",
      "guidanceId": "fluid-scaling",
      "summary": "Mobile reflow and media accessibility are seriously compromised.",
      "evidence": "width=1240 forces browser shrink-to-fit on 360px screens; probes found hundreds of undersized targets and two article videos without caption tracks.",
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/home-mobile-layout.json",
        "evidence/article-probe.json"
      ],
      "suggestedFix": "Enable device-width reflow and user scaling, enlarge targets, and supply captions/transcripts for editorial video.",
      "effort": "large",
      "confidence": "high",
      "pathId": "home"
    },
    {
      "id": "F19",
      "severity": "high",
      "principleId": "follow-best-practices",
      "principleCheckId": "no-console-errors",
      "guidanceId": "html",
      "summary": "Representative pages log many browser errors.",
      "evidence": "Lighthouse found 16 console errors on home and 7 on article; source-map processing also reported out-of-bounds mappings.",
      "artifacts": [
        "evidence/home-lighthouse.json",
        "evidence/article-lighthouse.json"
      ],
      "suggestedFix": "Fix runtime/network errors, publish correct source maps, and add console-error regression checks for each template.",
      "effort": "medium",
      "confidence": "high",
      "pathId": "home"
    },
    {
      "id": "F20",
      "severity": "medium",
      "principleId": "follow-best-practices",
      "principleCheckId": "sound-document-and-assets",
      "guidanceId": "html",
      "summary": "Document assets are not soundly sized and browser inspector issues remain.",
      "evidence": "Image audit found 99/100 homepage images without width/height and 30 oversized; Lighthouse reported inspector issues and broken source-map mappings.",
      "artifacts": [
        "evidence/home-images.json",
        "evidence/home-lighthouse.json"
      ],
      "suggestedFix": "Emit intrinsic dimensions and correctly sized responsive assets, repair source maps, and resolve DevTools inspector/deprecation findings.",
      "effort": "medium",
      "confidence": "high",
      "pathId": "home"
    },
    {
      "id": "F21",
      "severity": "medium",
      "principleId": "be-discoverable",
      "principleCheckId": "crawlable-and-mobile-friendly",
      "guidanceId": "html",
      "summary": "Mobile and crawler signals are inconsistent.",
      "evidence": "Lighthouse found six non-crawlable links on home and two on article; the site declares width=1240 rather than device-width, and raw-content coverage was only 4–10%.",
      "artifacts": [
        "evidence/home-lighthouse.json",
        "evidence/article-lighthouse.json",
        "evidence/home-discoverability.json",
        "evidence/article-discoverability.json"
      ],
      "suggestedFix": "Use real href links, device-width viewport metadata, and server-render the primary article/listing content rather than only metadata and a thin shell.",
      "effort": "large",
      "confidence": "high",
      "pathId": "home"
    },
    {
      "id": "F22",
      "severity": "medium",
      "principleId": "be-discoverable",
      "principleCheckId": "canonical-and-indexing-signals",
      "guidanceId": "html",
      "summary": "The standard sitemap endpoint is missing and robots.txt does not advertise an alternative.",
      "evidence": "GET /sitemap.xml returned the HTML 404 page; robots.txt returned 200 but contained no Sitemap directive.",
      "artifacts": [
        "evidence/robots-sitemap.json"
      ],
      "suggestedFix": "Publish a current XML sitemap (or sitemap index) and advertise its absolute URL in robots.txt.",
      "effort": "small",
      "confidence": "high",
      "pathId": "home"
    },
    {
      "id": "F23",
      "severity": "low",
      "principleId": "be-discoverable",
      "principleCheckId": "title-and-description",
      "guidanceId": "html",
      "summary": "The login template has no meta description.",
      "evidence": "The login probe found a descriptive title but an empty/missing meta description; editorial templates had both.",
      "artifacts": [
        "evidence/login-probe.json"
      ],
      "suggestedFix": "Add a concise, unique meta description for the sign-in/subscription entry template.",
      "effort": "trivial",
      "confidence": "high",
      "pathId": "home"
    },
    {
      "id": "F24",
      "severity": "high",
      "principleId": "be-private-and-secure",
      "principleCheckId": "secure-transport-and-headers",
      "guidanceId": "security",
      "summary": "Security headers and cookie attributes are materially incomplete.",
      "evidence": "HTTPS and frame restrictions are present, but HSTS, nosniff, Referrer-Policy and Permissions-Policy are absent; 13/13 observed cookies were flagged insecure and several are long-lived SameSite=None analytics cookies.",
      "artifacts": [
        "evidence/home-headers.json",
        "evidence/home-cookies.json"
      ],
      "suggestedFix": "Deploy HSTS and nosniff, explicit Referrer/Permissions policies, strengthen CSP beyond frame-ancestors, and mark all HTTPS cookies Secure with the narrowest workable SameSite.",
      "effort": "medium",
      "confidence": "high",
      "pathId": "home"
    },
    {
      "id": "F25",
      "severity": "critical",
      "principleId": "be-private-and-secure",
      "principleCheckId": "data-minimisation-and-third-parties",
      "guidanceId": "privacy",
      "summary": "The page activates an extreme tracking and third-party footprint before a clear rejection choice.",
      "evidence": "Tracker capture found 71 third-party origins and 27 known tracker endpoints; HAR recorded 607 requests. Initial consent UI has no reject action, while Manage options exposes 289 toggles with 63 checked.",
      "artifacts": [
        "evidence/home-trackers.json",
        "evidence/home-summary.json",
        "evidence/consent-flow.json"
      ],
      "suggestedFix": "Default non-essential purposes off, add an equally prominent Reject all action, block tracker requests until valid consent, and remove vendors without measurable editorial value.",
      "effort": "large",
      "confidence": "high",
      "pathId": "home"
    },
    {
      "id": "F26",
      "severity": "medium",
      "principleId": "be-private-and-secure",
      "principleCheckId": "in-context-permissions-and-modern-auth",
      "guidanceId": "passkey-authentication",
      "summary": "The account flow offers email/social sign-in but no passkey path.",
      "evidence": "The visible login surface offers email, Google, and Apple; source and UI probes found no passkey text or navigator.credentials/PublicKeyCredential integration.",
      "artifacts": [
        "evidence/login-flow-probe.json"
      ],
      "suggestedFix": "Add passkey registration and conditional authentication while retaining account-recovery and federated fallbacks.",
      "effort": "large",
      "confidence": "high",
      "pathId": "login"
    },
    {
      "id": "F27",
      "severity": "high",
      "principleId": "be-resilient",
      "principleCheckId": "progressive-enhancement",
      "guidanceId": "consistent-cross-document-transitions",
      "summary": "Core article and listing content is largely unavailable without JavaScript.",
      "evidence": "Discoverability measured raw-content overlap of 4% for article and 5% for news, classified both as JS shells; crawler screenshots are blank while rendered screenshots contain the page/modal.",
      "artifacts": [
        "evidence/article-discoverability.json",
        "evidence/article-discoverability-crawler.png",
        "evidence/article-discoverability-rendered.png",
        "evidence/news-discoverability-crawler.png"
      ],
      "suggestedFix": "Server-render the complete headline, article body, byline, key media alternatives, and listing links; layer interactivity and ads on afterward.",
      "effort": "large",
      "confidence": "high",
      "pathId": "home"
    },
    {
      "id": "F28",
      "severity": "high",
      "principleId": "be-internationalised",
      "principleCheckId": "lang-dir-and-logical-properties",
      "guidanceId": "translator",
      "summary": "Hebrew pages compute left-to-right direction and depend heavily on physical CSS.",
      "evidence": "All five probes report lang=he but computed dir=ltr; article CSS signal found 1,032 physical left/right declarations versus 4 logical-property uses.",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/article-probe.json",
        "evidence/login-probe.json"
      ],
      "suggestedFix": "Set dir=rtl on the root and migrate layout to inline/block logical properties, testing mixed Hebrew/Latin content and controls.",
      "effort": "large",
      "confidence": "high",
      "pathId": "home"
    },
    {
      "id": "F29",
      "severity": "high",
      "principleId": "be-trustworthy",
      "principleCheckId": "no-dark-patterns",
      "guidanceId": "custom-button-actions",
      "summary": "Consent choices are asymmetric and many purposes are preselected.",
      "evidence": "Initial UI offers Consent and Manage options, not Reject all. Manage options shows Accept all/Confirm choices and 289 toggles, 63 checked.",
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/consent-buttons.json",
        "evidence/consent-flow.json"
      ],
      "suggestedFix": "Provide equally prominent Accept all and Reject all controls, default optional purposes off, group vendors intelligibly, and keep refusal as easy as acceptance.",
      "effort": "medium",
      "confidence": "high",
      "pathId": "login"
    },
    {
      "id": "F30",
      "severity": "high",
      "principleId": "be-trustworthy",
      "principleCheckId": "humane-error-handling",
      "guidanceId": "accessible-error-announcement",
      "summary": "Submitting the empty email step provides no visible or accessible error state.",
      "evidence": "After activating Continue with an empty visible email field, the field still reported valid=true, no aria-invalid/describedby, no alert, and focus did not move to the field.",
      "artifacts": [
        "evidence/login-invalid-flow.json"
      ],
      "suggestedFix": "Use required/type=email validation after interaction, move focus to the invalid field, set aria-invalid/aria-describedby, and announce a specific correction in a live region.",
      "effort": "small",
      "confidence": "high",
      "pathId": "login"
    },
    {
      "id": "F31",
      "severity": "medium",
      "principleId": "be-trustworthy",
      "principleCheckId": "trustworthy-input-assistance",
      "guidanceId": "autofill-sign-in-form",
      "summary": "The visible email sign-in field omits autocomplete metadata.",
      "evidence": "Login probe found type=email with an empty autocomplete attribute; no passkey-assisted flow was present.",
      "artifacts": [
        "evidence/login-flow-probe.json"
      ],
      "suggestedFix": "Use autocomplete=email or username as appropriate and add webauthn to the token when conditional passkey UI is supported.",
      "effort": "trivial",
      "confidence": "high",
      "pathId": "login"
    },
    {
      "id": "F32",
      "severity": "high",
      "principleId": "be-sustainable",
      "principleCheckId": "optimised-assets",
      "guidanceId": "deliver-optimized-decorative-images",
      "summary": "Image delivery is wasteful for a text-led news homepage.",
      "evidence": "403 image requests transferred 10.27MB; 99/100 audited images were classified legacy, 30 oversized, 76 missing srcset, and 79 below-fold images not lazy.",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home-images.json"
      ],
      "suggestedFix": "Adopt responsive format=auto/AVIF/WebP delivery, right-size each slot, lazy-load below the fold, and remove duplicate hidden image instances.",
      "effort": "large",
      "confidence": "high",
      "pathId": "home"
    },
    {
      "id": "F33",
      "severity": "high",
      "principleId": "be-sustainable",
      "principleCheckId": "third-party-and-media-budget",
      "guidanceId": "deprioritize-background-fetches",
      "summary": "Third-party scripts and background work dominate the resource budget.",
      "evidence": "71 third-party origins, 80 scripts/5.46MB and 607 total requests were observed; ten repeated scroll cycles added 74 resource entries and raised live DOM nodes from 13,735 to 16,209.",
      "artifacts": [
        "evidence/home-trackers.json",
        "evidence/home-summary.json",
        "evidence/home-memory-metrics.json"
      ],
      "suggestedFix": "Create a vendor budget, remove low-value integrations, load ads/recommendations only near view, and stop background work when hidden or consent is absent.",
      "effort": "large",
      "confidence": "high",
      "pathId": "home"
    },
    {
      "id": "F34",
      "severity": "medium",
      "principleId": "be-memory-efficient",
      "principleCheckId": "no-leak-under-repeated-interaction",
      "guidanceId": "manage-recurring-intervals",
      "summary": "Repeated navigation-like scrolling grows retained heap and DOM materially.",
      "evidence": "Garbage-collected heap summaries grew from 147.4MB/2.05M nodes to 163.8MB/2.33M after ten top-to-bottom cycles; in-session used heap rose 124.5MB→179.3MB and DOM nodes 13,735→16,209.",
      "artifacts": [
        "evidence/home-heap-baseline.json",
        "evidence/home-heap-post-scroll.json",
        "evidence/home-memory-metrics.json"
      ],
      "suggestedFix": "Profile retained paths after repeated feed traversal, dispose players/ads/listeners on exit, bound caches, and virtualize or remove offscreen feed modules.",
      "effort": "large",
      "confidence": "medium",
      "pathId": "home"
    },
    {
      "id": "F35",
      "severity": "high",
      "principleId": "be-memory-efficient",
      "principleCheckId": "bounded-footprint",
      "guidanceId": "defer-rendering-heavy-content",
      "summary": "The initial page footprint is disproportionate for a news index.",
      "evidence": "Baseline heap after garbage collection contained 2,051,937 nodes and 147.4MB self size; live DOM contained 13,735 elements before scrolling.",
      "artifacts": [
        "evidence/home-heap-baseline.json",
        "evidence/home-memory-metrics.json"
      ],
      "suggestedFix": "Reduce duplicate hidden DOM, virtualize long lists, defer recommendation/ad trees, and avoid instantiating media players until requested or near view.",
      "effort": "large",
      "confidence": "high",
      "pathId": "home"
    }
  ],
  "taskList": [
    {
      "id": "T1",
      "title": "Rebuild mobile layout around device-width reflow and accessible targets",
      "priority": 1,
      "findingIds": [
        "F07",
        "F08",
        "F09",
        "F18",
        "F28"
      ],
      "guidanceId": "fluid-scaling",
      "status": "open"
    },
    {
      "id": "T2",
      "title": "Cut startup network, script, image, tracker and memory cost",
      "priority": 2,
      "findingIds": [
        "F11",
        "F12",
        "F13",
        "F14",
        "F15",
        "F32",
        "F33",
        "F34",
        "F35"
      ],
      "guidanceId": "performance",
      "status": "open"
    },
    {
      "id": "T3",
      "title": "Make consent symmetric, non-blocking and privacy-preserving",
      "priority": 3,
      "findingIds": [
        "F04",
        "F05",
        "F10",
        "F25",
        "F29"
      ],
      "guidanceId": "privacy",
      "status": "open"
    },
    {
      "id": "T4",
      "title": "Server-render complete article and listing content",
      "priority": 4,
      "findingIds": [
        "F21",
        "F27"
      ],
      "guidanceId": "consistent-cross-document-transitions",
      "status": "open"
    },
    {
      "id": "T5",
      "title": "Repair accessibility names, contrast, focus and captions",
      "priority": 5,
      "findingIds": [
        "F09",
        "F16",
        "F17",
        "F18"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T6",
      "title": "Harden security headers and cookie policy",
      "priority": 6,
      "findingIds": [
        "F24"
      ],
      "guidanceId": "security",
      "status": "open"
    },
    {
      "id": "T7",
      "title": "Make sign-in humane and passkey/autofill-ready",
      "priority": 7,
      "findingIds": [
        "F26",
        "F30",
        "F31"
      ],
      "guidanceId": "passkey-authentication",
      "status": "open"
    },
    {
      "id": "T8",
      "title": "Repair crawl/index metadata and sitemap delivery",
      "priority": 8,
      "findingIds": [
        "F22",
        "F23"
      ],
      "guidanceId": "html",
      "status": "open"
    }
  ],
  "budget": {
    "pathCount": 6,
    "auditPasses": 1
  },
  "agent": "pi",
  "runId": "2026-07-24T08-56-12-753Z"
}
