{
  "url": "https://www.epicsports.in",
  "auditedAt": "2026-07-21T12:06:04.171Z",
  "mode": "report",
  "status": "completed",
  "statusDetail": "Coverage complete across 58 registered checks. The requested host redirects to https://live.epicsports.in/.",
  "page": {
    "appType": "mpa",
    "framework": "Blogger template with embedded 365scores widget",
    "notes": "Public server-rendered sports content site. Requested www host redirects to live subdomain."
  },
  "evidenceUsed": [
    "screenshot",
    "dom",
    "evaluate-probe",
    "layout-metrics",
    "trace",
    "har",
    "discoverability",
    "headers",
    "cookies",
    "trackers",
    "secrets",
    "images",
    "heap-summary",
    "lighthouse",
    "robots.txt",
    "sitemap.xml",
    "HTTP response inspection",
    "Modern Web Guidance"
  ],
  "guidanceConsulted": [
    "dark-mode",
    "accessibility",
    "adapt-scrollbar-to-contrast-preferences",
    "same-document-transitions",
    "scrollytelling",
    "physics-based-easing",
    "shrinking-header-on-scroll",
    "anchor-positioning-tab-underline",
    "directional-navigation-transitions",
    "light-dismiss-a-dialog",
    "declarative-dialog-popover-control",
    "complex-shapes",
    "fluid-scaling",
    "size-aware-styling",
    "improve-text-layout-and-legibility",
    "forms",
    "accessible-error-announcement",
    "identify-inp-causes",
    "visually-stable-font-fallbacks",
    "break-up-long-tasks",
    "optimize-image-priority",
    "identify-heavy-scripts",
    "move-dom-element-without-losing-state",
    "css",
    "html",
    "security",
    "privacy",
    "passkeys",
    "flicker-free-client-side-ab-testing",
    "resilient-context-menus-and-nested-dropdowns",
    "persistent-toast-notifications",
    "translator",
    "support-global-calendar-systems",
    "coordinate-global-events",
    "search-hidden-content",
    "autofill-address-form",
    "autofill-payment-form",
    "deliver-optimized-decorative-images",
    "deprioritize-background-fetches",
    "webmcp",
    "language-model",
    "manage-recurring-intervals"
  ],
  "artifacts": [
    {
      "type": "screenshot",
      "path": "evidence/article-desktop.png",
      "caption": "article desktop",
      "findingIds": [
        "F05"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/article-discoverability-crawler.png",
      "caption": "article discoverability crawler"
    },
    {
      "type": "screenshot",
      "path": "evidence/article-discoverability-rendered.png",
      "caption": "article discoverability rendered"
    },
    {
      "type": "discoverability",
      "path": "evidence/article-discoverability.json",
      "caption": "article discoverability"
    },
    {
      "type": "dom",
      "path": "evidence/article-dom.json",
      "caption": "article dom"
    },
    {
      "type": "layout",
      "path": "evidence/article-layout-mobile.json",
      "caption": "article layout mobile"
    },
    {
      "type": "other",
      "path": "evidence/article-metadata.json",
      "caption": "article metadata",
      "findingIds": [
        "F16",
        "F17"
      ]
    },
    {
      "type": "other",
      "path": "evidence/article-time.json",
      "caption": "article time",
      "findingIds": [
        "F22",
        "F23"
      ]
    },
    {
      "type": "other",
      "path": "evidence/contact-content.json",
      "caption": "contact content",
      "findingIds": [
        "F16"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/contact-desktop.png",
      "caption": "contact desktop",
      "findingIds": [
        "F05"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/contact-discoverability-crawler.png",
      "caption": "contact discoverability crawler"
    },
    {
      "type": "screenshot",
      "path": "evidence/contact-discoverability-rendered.png",
      "caption": "contact discoverability rendered"
    },
    {
      "type": "discoverability",
      "path": "evidence/contact-discoverability.json",
      "caption": "contact discoverability"
    },
    {
      "type": "layout",
      "path": "evidence/contact-layout-mobile.json",
      "caption": "contact layout mobile"
    },
    {
      "type": "other",
      "path": "evidence/contact-recon.json",
      "caption": "contact recon"
    },
    {
      "type": "other",
      "path": "evidence/cookies.json",
      "caption": "cookies",
      "findingIds": [
        "F18"
      ]
    },
    {
      "type": "other",
      "path": "evidence/focus-probe.json",
      "caption": "focus probe",
      "findingIds": [
        "F04",
        "F06",
        "F12"
      ]
    },
    {
      "type": "other",
      "path": "evidence/guidance-list.json",
      "caption": "guidance list"
    },
    {
      "type": "other",
      "path": "evidence/guidance-retrieved.md",
      "caption": "guidance retrieved"
    },
    {
      "type": "other",
      "path": "evidence/guidance-searches.json",
      "caption": "guidance searches"
    },
    {
      "type": "other",
      "path": "evidence/headers.json",
      "caption": "headers",
      "findingIds": [
        "F18",
        "F20"
      ]
    },
    {
      "type": "heap",
      "path": "evidence/heap-baseline.json",
      "caption": "heap baseline"
    },
    {
      "type": "heap",
      "path": "evidence/heap-post-menu-valid.json",
      "caption": "heap post menu valid"
    },
    {
      "type": "heap",
      "path": "evidence/heap-post-menu.json",
      "caption": "heap post menu"
    },
    {
      "type": "screenshot",
      "path": "evidence/home-dark.png",
      "caption": "home dark",
      "findingIds": [
        "F01"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-desktop.png",
      "caption": "home desktop",
      "findingIds": [
        "F05",
        "F25"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-discoverability-crawler.png",
      "caption": "home discoverability crawler"
    },
    {
      "type": "screenshot",
      "path": "evidence/home-discoverability-rendered.png",
      "caption": "home discoverability rendered"
    },
    {
      "type": "discoverability",
      "path": "evidence/home-discoverability.json",
      "caption": "home discoverability"
    },
    {
      "type": "dom",
      "path": "evidence/home-dom.json",
      "caption": "home dom",
      "findingIds": [
        "F04",
        "F21"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-forced-colors.png",
      "caption": "home forced colors"
    },
    {
      "type": "other",
      "path": "evidence/home-images.json",
      "caption": "home images",
      "findingIds": [
        "F15",
        "F24"
      ]
    },
    {
      "type": "layout",
      "path": "evidence/home-layout-mobile.json",
      "caption": "home layout mobile",
      "findingIds": [
        "F13"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-mobile.png",
      "caption": "home mobile",
      "findingIds": [
        "F05"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-platform.json",
      "caption": "home platform",
      "findingIds": [
        "F17"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-recon.json",
      "caption": "home recon"
    },
    {
      "type": "other",
      "path": "evidence/home-structure.json",
      "caption": "home structure",
      "findingIds": [
        "F03",
        "F06",
        "F08",
        "F09",
        "F13"
      ]
    },
    {
      "type": "har-summary",
      "path": "evidence/home-summary.json",
      "caption": "home summary",
      "findingIds": [
        "F08",
        "F09",
        "F19",
        "F25",
        "F26"
      ]
    },
    {
      "type": "trace-summary",
      "path": "evidence/home-trace-summary.json",
      "caption": "home trace summary",
      "findingIds": [
        "F07"
      ]
    },
    {
      "type": "trace",
      "path": "evidence/home-trace.json",
      "caption": "home trace"
    },
    {
      "type": "har",
      "path": "evidence/home.har",
      "caption": "home",
      "findingIds": [
        "F19"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse-article-fail-details.json",
      "caption": "lighthouse article fail details",
      "findingIds": [
        "F10",
        "F11",
        "F14"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse-article-summary.json",
      "caption": "lighthouse article summary",
      "findingIds": [
        "F07"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse-article.json",
      "caption": "lighthouse article"
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse-contact-fail-details.json",
      "caption": "lighthouse contact fail details",
      "findingIds": [
        "F10",
        "F11",
        "F14"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse-contact-summary.json",
      "caption": "lighthouse contact summary",
      "findingIds": [
        "F07"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse-contact.json",
      "caption": "lighthouse contact"
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse-home-fail-details.json",
      "caption": "lighthouse home fail details",
      "findingIds": [
        "F10",
        "F11",
        "F14",
        "F15"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse-home-summary.json",
      "caption": "lighthouse home summary",
      "findingIds": [
        "F07"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse-home.json",
      "caption": "lighthouse home"
    },
    {
      "type": "other",
      "path": "evidence/live-robots-txt",
      "caption": "live robots txt"
    },
    {
      "type": "other",
      "path": "evidence/live-sitemap-xml",
      "caption": "live sitemap xml"
    },
    {
      "type": "other",
      "path": "evidence/memory-common-leaks.md",
      "caption": "memory common leaks"
    },
    {
      "type": "other",
      "path": "evidence/memory-leak-method.md",
      "caption": "memory leak method"
    },
    {
      "type": "other",
      "path": "evidence/not-found-headers.txt",
      "caption": "not found headers"
    },
    {
      "type": "screenshot",
      "path": "evidence/not-found.png",
      "caption": "not found"
    },
    {
      "type": "other",
      "path": "evidence/reduced-motion.json",
      "caption": "reduced motion",
      "findingIds": [
        "F02"
      ]
    },
    {
      "type": "other",
      "path": "evidence/robots-txt",
      "caption": "robots txt"
    },
    {
      "type": "other",
      "path": "evidence/root-headers.txt",
      "caption": "root headers"
    },
    {
      "type": "other",
      "path": "evidence/secrets.json",
      "caption": "secrets"
    },
    {
      "type": "other",
      "path": "evidence/sitemap-xml",
      "caption": "sitemap xml"
    },
    {
      "type": "other",
      "path": "evidence/trackers.json",
      "caption": "trackers",
      "findingIds": [
        "F19",
        "F26"
      ]
    }
  ],
  "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": "Preference-emulated screenshot and runtime animation probe",
      "evidence": "The prefers-color-scheme: dark screenshot is visually identical to the light surface; the existing Night theme is only activated manually.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-dark.png"
      ],
      "findingIds": [
        "F01"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-reduced-motion",
      "status": "issues",
      "confidence": "high",
      "method": "Preference-emulated screenshot and runtime animation probe",
      "evidence": "The reduced-motion probe found seven running animations, including flare, four flashing border animations, blueFlow, and pulseGlow; no reduced-motion CSS rule was present.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/reduced-motion.json"
      ],
      "findingIds": [
        "F02"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-contrast",
      "status": "pass",
      "confidence": "high",
      "method": "Preference-emulated screenshot and runtime animation probe",
      "evidence": "Forced-colors and prefers-contrast screenshot keeps navigation, social actions, match tabs, borders, and text visible.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-dark.png"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "view-transitions",
      "status": "issues",
      "confidence": "high",
      "method": "DOM/CSS inspection and navigation walkthrough",
      "evidence": "DOM/CSS inspection found no view-transition-name or @view-transition usage across the multi-page home-to-article journey.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-structure.json"
      ],
      "findingIds": [
        "F03"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "scroll-driven-animations",
      "status": "not-applicable",
      "confidence": "high",
      "method": "DOM/CSS inspection and navigation walkthrough",
      "evidence": "No scroll-linked parallax, reveal, carousel, or scrollytelling interaction exists on the representative templates.",
      "reason": "No scroll-linked parallax, reveal, carousel, or scrollytelling interaction exists on the representative templates."
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "physical-gestures",
      "status": "not-applicable",
      "confidence": "high",
      "method": "DOM/CSS inspection and navigation walkthrough",
      "evidence": "No swipe, drag, pull-to-reveal, or other custom gesture surface exists; navigation uses links and scrolling.",
      "reason": "No swipe, drag, pull-to-reveal, or other custom gesture surface exists; navigation uses links and scrolling."
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "scroll-state-aware-chrome",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Desktop/mobile screenshot and DOM navigation inspection",
      "evidence": "The header is not sticky or affixed, so there is no persistent scroll chrome whose state needs to react.",
      "reason": "The header is not sticky or affixed, so there is no persistent scroll chrome whose state needs to react."
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "anchored-positioning",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Desktop/mobile screenshot and DOM navigation inspection",
      "evidence": "No tooltip, popover, or viewport-edge menu requiring anchor positioning was present in the exercised states.",
      "reason": "No tooltip, popover, or viewport-edge menu requiring anchor positioning was present in the exercised states."
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "directs-attention",
      "status": "pass",
      "confidence": "high",
      "method": "Desktop/mobile screenshot and DOM navigation inspection",
      "evidence": "Screenshots show clear page headings, selected Today state, match-day tabs, and conventional same-origin links that preserve location.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "no-intrusive-interruptions",
      "status": "pass",
      "confidence": "high",
      "method": "Load screenshot and semantic DOM inspection",
      "evidence": "Load screenshots on all representative templates show no modal, consent wall, or full-viewport interstitial obscuring content.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "semantic-dismissible-primitives",
      "status": "issues",
      "confidence": "high",
      "method": "Load screenshot and semantic DOM inspection",
      "evidence": "DOM inspection shows #menubtn plus label.menublabel controls a fixed panel; there is no button, dialog, popover, or details primitive, and the input could not receive programmatic focus.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/focus-probe.json"
      ],
      "findingIds": [
        "F04"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "reduced-chrome",
      "status": "issues",
      "confidence": "high",
      "method": "Load screenshot and semantic DOM inspection",
      "evidence": "Desktop and mobile screenshots show four large promotional rows before match information, consuming roughly 340px of the first mobile viewport and repeating on home, article, and contact templates.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/home-mobile.png",
        "evidence/article-desktop.png",
        "evidence/contact-desktop.png"
      ],
      "findingIds": [
        "F05"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "responsive-no-horizontal-scroll",
      "status": "pass",
      "confidence": "high",
      "method": "360x800 layout metrics, screenshots, focus and target-size probes",
      "evidence": "Layout probes on home, article, and contact at 360x800 all report scrollWidth 360, overflow 0, and a viewport meta tag.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-layout-mobile.json"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "component-level-responsiveness",
      "status": "pass",
      "confidence": "high",
      "method": "360x800 layout metrics, screenshots, focus and target-size probes",
      "evidence": "Desktop/mobile screenshots show header, social rows, content cards, and footer adapting from wide to narrow without clipping; no component is reused at conflicting container widths.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-layout-mobile.json"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "input-modality-aware",
      "status": "issues",
      "confidence": "high",
      "method": "360x800 layout metrics, screenshots, focus and target-size probes",
      "evidence": "The focus probe focused links successfully but every sampled link computed outline: none and box-shadow: none. Control geometry also shows nav and social controls at 35px high.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/focus-probe.json",
        "evidence/home-structure.json"
      ],
      "findingIds": [
        "F06"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-purpose-and-primary-action",
      "status": "pass",
      "confidence": "high",
      "method": "Representative home, article, contact, empty-state, and 404 walkthrough",
      "evidence": "Home identifies today’s matches and day navigation; article has a specific match title; contact has a clear heading and email purpose.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "primary-flow-completion",
      "status": "pass",
      "confidence": "high",
      "method": "Representative home, article, contact, empty-state, and 404 walkthrough",
      "evidence": "The home article link reaches a complete match-detail page, and the contact route provides a visible email address without an account wall.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-system-state-and-recovery",
      "status": "pass",
      "confidence": "high",
      "method": "Representative home, article, contact, empty-state, and 404 walkthrough",
      "evidence": "The empty match state says there are no important matches, and a real 404 response renders a Page not found view with global navigation.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "good-core-web-vitals",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse on three templates plus trace, layout, HAR, and DOM confirmation",
      "evidence": "Lighthouse measured LCP 2.6s on home and article and 3.8s on contact; article time-to-interactive was 12.8s. The direct trace corroborated home LCP at 2.10s under a separate desktop run.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-home-summary.json",
        "evidence/lighthouse-article-summary.json",
        "evidence/lighthouse-contact-summary.json",
        "evidence/home-trace-summary.json"
      ],
      "findingIds": [
        "F07"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "visual-stability",
      "status": "pass",
      "confidence": "high",
      "method": "Lighthouse on three templates plus trace, layout, HAR, and DOM confirmation",
      "evidence": "Layout observers reported CLS 0 on all 360px routes; Lighthouse measured 0 on home/contact and 0.002 on article.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-trace-summary.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-main-thread",
      "status": "pass",
      "confidence": "high",
      "method": "Lighthouse on three templates plus trace, layout, HAR, and DOM confirmation",
      "evidence": "Direct trace had zero long tasks and 0ms TBT; Lighthouse TBT was 0ms on home/contact and 120ms on article, within the good lab threshold.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-trace-summary.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-resource-delivery",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse on three templates plus trace, layout, HAR, and DOM confirmation",
      "evidence": "HAR plus DOM confirmation found two Font Awesome stylesheets in head and synchronous classic scripts for timer.js and widgets.365scores.com/main.js; Lighthouse flagged the network dependency tree.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home-structure.json"
      ],
      "findingIds": [
        "F08"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "trim-unused-and-duplicate-code",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse on three templates plus trace, layout, HAR, and DOM confirmation",
      "evidence": "HAR recorded 22 script requests and 406,812 script bytes. Two major Font Awesome versions load together, while 365scores creates 21 requests and GTM is the largest script at 134,970 bytes.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home-structure.json"
      ],
      "findingIds": [
        "F09"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "names-roles-labels",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse accessibility audits, focus probe, target geometry, and screenshots",
      "evidence": "Lighthouse found no main landmark on every template, malformed ul/li nesting, unnamed linked images on article/contact, and a contact image without alt text. Accessibility scores were 85, 81, and 73.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-home-fail-details.json",
        "evidence/lighthouse-article-fail-details.json",
        "evidence/lighthouse-contact-fail-details.json"
      ],
      "findingIds": [
        "F10"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "sufficient-contrast",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse accessibility audits, focus probe, target geometry, and screenshots",
      "evidence": "Lighthouse measured white on WhatsApp green at 1.98:1, Instagram at 4.33:1, share controls as low as 2.46:1, and article metadata at 3.84:1.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-home-fail-details.json",
        "evidence/lighthouse-contact-fail-details.json",
        "evidence/lighthouse-article-fail-details.json"
      ],
      "findingIds": [
        "F11"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "structure-and-focus",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse accessibility audits, focus probe, target geometry, and screenshots",
      "evidence": "The active focus probe reports outline none and box-shadow none for every sampled visible link, while the global CSS resets outline to 0.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/focus-probe.json"
      ],
      "findingIds": [
        "F12"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "legible-text",
      "status": "pass",
      "confidence": "high",
      "method": "Lighthouse accessibility audits, focus probe, target geometry, and screenshots",
      "evidence": "Desktop/mobile screenshots show readable 16px body text, clear headings, and no clipped or overlapping copy at 360px.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-home-fail-details.json"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "zoom-reflow-targets-and-media",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse accessibility audits, focus probe, target geometry, and screenshots",
      "evidence": "The control-size probe found primary nav, social icons, day tabs, and footer links at 35px or 15px high, below the commonly recommended 44px target. Reflow itself had no overflow.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-structure.json",
        "evidence/home-layout-mobile.json"
      ],
      "findingIds": [
        "F13"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "no-console-errors",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse best-practices audits, image audit, and DOM inspection",
      "evidence": "Lighthouse captured SyntaxError: Unexpected token ) on home, article, and contact mobile documents.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-home-fail-details.json",
        "evidence/lighthouse-article-fail-details.json",
        "evidence/lighthouse-contact-fail-details.json"
      ],
      "findingIds": [
        "F14"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "sound-document-and-assets",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse best-practices audits, image audit, and DOM inspection",
      "evidence": "The image audit found all three home images missing a complete width/height pair, two oversized images, and no responsive source sets. Lighthouse found the article preview displayed at 2.36:1 despite a 3.00:1 source ratio.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-images.json",
        "evidence/lighthouse-home-fail-details.json"
      ],
      "findingIds": [
        "F15"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "browser-platform-hygiene",
      "status": "pass",
      "confidence": "high",
      "method": "Lighthouse best-practices audits, image audit, and DOM inspection",
      "evidence": "Lighthouse best-practices evidence found no deprecated-API, permission-on-load, paste-prevention, or vulnerable-library failure beyond the separately reported console error.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-home-fail-details.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "title-and-description",
      "status": "issues",
      "confidence": "high",
      "method": "Discoverability primitive, metadata probes, robots, sitemap, and Lighthouse SEO",
      "evidence": "Article and contact pages reuse the homepage description about news, wallpapers, scoreboards, and TV lists instead of describing the match or contact route.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/article-metadata.json",
        "evidence/contact-content.json"
      ],
      "findingIds": [
        "F16"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "crawlable-and-mobile-friendly",
      "status": "pass",
      "confidence": "high",
      "method": "Discoverability primitive, metadata probes, robots, sitemap, and Lighthouse SEO",
      "evidence": "All prominent navigation/content links have href values, viewport metadata is present, and robots allows search crawling.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-discoverability.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "canonical-and-indexing-signals",
      "status": "pass",
      "confidence": "high",
      "method": "Discoverability primitive, metadata probes, robots, sitemap, and Lighthouse SEO",
      "evidence": "Home, article, and contact return successful content; canonical URLs are correct; live robots points to a 200 sitemap containing the article; no noindex was found.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-discoverability.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "structured-and-shareable-metadata",
      "status": "issues",
      "confidence": "high",
      "method": "Discoverability primitive, metadata probes, robots, sitemap, and Lighthouse SEO",
      "evidence": "The article NewsArticle JSON-LD says headline \"Article headline\", uses example.com image URLs, and contains an unresolved author-photo substitution; homepage BlogPosting data also contains unresolved template text.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/article-metadata.json",
        "evidence/home-platform.json"
      ],
      "findingIds": [
        "F17"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "secure-transport-and-headers",
      "status": "issues",
      "confidence": "high",
      "method": "Headers, cookies, secrets, trackers, and HAR evidence",
      "evidence": "Header inspection found no CSP or HSTS. All three analytics cookies lacked Secure and used SameSite=None, including a 400-day _ga cookie.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/headers.json",
        "evidence/cookies.json"
      ],
      "findingIds": [
        "F18"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "data-minimisation-and-third-parties",
      "status": "issues",
      "confidence": "high",
      "method": "Headers, cookies, secrets, trackers, and HAR evidence",
      "evidence": "HAR recorded 33 of 41 requests and 606,421 of 702,185 transferred bytes as third-party. Tracker evidence found Google Analytics and Tag Manager plus ten third-party origins.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home.har",
        "evidence/home-summary.json",
        "evidence/trackers.json"
      ],
      "findingIds": [
        "F19"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "in-context-permissions-and-modern-auth",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Headers, cookies, secrets, trackers, and HAR evidence",
      "evidence": "No authentication flow or browser permission request exists on the representative public content routes.",
      "reason": "No authentication flow or browser permission request exists on the representative public content routes."
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "defensive-browser-policies",
      "status": "issues",
      "confidence": "high",
      "method": "Headers, cookies, secrets, trackers, and HAR evidence",
      "evidence": "The main response has no X-Frame-Options or CSP frame-ancestors, no Referrer-Policy, and no Permissions-Policy.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/headers.json"
      ],
      "findingIds": [
        "F20"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "progressive-enhancement",
      "status": "pass",
      "confidence": "high",
      "method": "No-JS discoverability, mobile layouts, and HTTP 404 walkthrough",
      "evidence": "Discoverability captures show 100% raw-content coverage on home, 88% article, and 98% contact with title and H1 present without JavaScript.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-discoverability.json"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "resilient-runtime-behaviour",
      "status": "pass",
      "confidence": "high",
      "method": "No-JS discoverability, mobile layouts, and HTTP 404 walkthrough",
      "evidence": "The CSS-driven mobile menu and content templates rendered without clipping at 360px; no fragile overlay or async blank state appeared.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-discoverability.json"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "offline-and-installable",
      "status": "not-applicable",
      "confidence": "high",
      "method": "No-JS discoverability, mobile layouts, and HTTP 404 walkthrough",
      "evidence": "This is a server-rendered sports content site rather than an installed application; an offline/installable product experience is not part of the observed intent.",
      "reason": "This is a server-rendered sports content site rather than an installed application; an offline/installable product experience is not part of the observed intent."
    },
    {
      "principleId": "be-resilient",
      "checkId": "network-and-http-failure-states",
      "status": "pass",
      "confidence": "high",
      "method": "No-JS discoverability, mobile layouts, and HTTP 404 walkthrough",
      "evidence": "A nonexistent URL returns HTTP 404 and a readable Page not found state while retaining the global navigation.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-discoverability.json"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "lang-dir-and-logical-properties",
      "status": "issues",
      "confidence": "high",
      "method": "lang/dir/CSS inspection and match date/time content probe",
      "evidence": "Rendered DOM reports lang=en and dir=ltr, but CSS evidence contains extensive float:left/right, margin-left/right, padding-right, and positioned left/right declarations rather than logical properties.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-dom.json"
      ],
      "findingIds": [
        "F21"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "locale-aware-data",
      "status": "issues",
      "confidence": "high",
      "method": "lang/dir/CSS inspection and match date/time content probe",
      "evidence": "The article renders \"20 July 2026\", \"12:30 AM IST\", 11:00 PM for UAE, and 10:00 PM for Saudi Arabia, with no semantic time elements and no page-owned Intl formatting signal.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/article-time.json"
      ],
      "findingIds": [
        "F22"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "time-zone-correctness",
      "status": "issues",
      "confidence": "high",
      "method": "lang/dir/CSS inspection and match date/time content probe",
      "evidence": "The match lists abbreviations or country flags for three hand-picked zones but no offset, zone identifier, conversion control, or user-local time; 7/19 elsewhere on the same page conflicts with 20 July.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/article-time.json"
      ],
      "findingIds": [
        "F23"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "no-dark-patterns",
      "status": "pass",
      "confidence": "high",
      "method": "Visual flow review and form/account surface inventory",
      "evidence": "Visual review found no confirmshaming, forced continuity, disguised advertisement, checkout trap, or preselected consent control.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "humane-error-handling",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Visual flow review and form/account surface inventory",
      "evidence": "No form exists on the audited home, article, or contact routes; contact is provided as an email address.",
      "reason": "No form exists on the audited home, article, or contact routes; contact is provided as an email address."
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "trustworthy-input-assistance",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Visual flow review and form/account surface inventory",
      "evidence": "No user input fields exist on the representative routes.",
      "reason": "No user input fields exist on the representative routes."
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "safe-commercial-and-account-flows",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Visual flow review and form/account surface inventory",
      "evidence": "No checkout, subscription, consent, authentication, or account-management flow exists on the representative routes.",
      "reason": "No checkout, subscription, consent, authentication, or account-management flow exists on the representative routes."
    },
    {
      "principleId": "be-sustainable",
      "checkId": "optimised-assets",
      "status": "issues",
      "confidence": "high",
      "method": "HAR byte budget, tracker inventory, image audit, and screenshots",
      "evidence": "Image evidence found a 1600px logo displayed at 200px and a 2340px preview displayed around 178px, both without srcset; one content image remains JPEG.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-images.json"
      ],
      "findingIds": [
        "F24"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "no-wasteful-work",
      "status": "issues",
      "confidence": "high",
      "method": "HAR byte budget, tracker inventory, image audit, and screenshots",
      "evidence": "The homepage says there are no important matches while 365scores makes 21 requests and transfers 257,559 bytes.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/home-summary.json"
      ],
      "findingIds": [
        "F25"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "third-party-and-media-budget",
      "status": "issues",
      "confidence": "high",
      "method": "HAR byte budget, tracker inventory, image audit, and screenshots",
      "evidence": "Third parties account for 86% of transfer bytes, led by scores, tag manager, CDN icon assets, and analytics on a small content page.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/trackers.json"
      ],
      "findingIds": [
        "F26"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "structured-agent-capabilities",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Raw-content discoverability, structured metadata, robots, and capability inventory",
      "evidence": "The site is a read-only content publication with no safe transactional capability for an agent to invoke; raw content and metadata were evaluated separately.",
      "reason": "The site is a read-only content publication with no safe transactional capability for an agent to invoke; raw content and metadata were evaluated separately."
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "on-device-inference",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Raw-content discoverability, structured metadata, robots, and capability inventory",
      "evidence": "No summarization or language-model feature is part of the observed product, so on-device inference is not needed for current task success.",
      "reason": "No summarization or language-model feature is part of the observed product, so on-device inference is not needed for current task success."
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-leak-under-repeated-interaction",
      "status": "pass",
      "confidence": "high",
      "method": "Baseline and post-interaction heap-summary comparison",
      "evidence": "After ten mobile-menu open/close cycles, retained self size changed from 9,182,323 to 9,237,022 bytes (0.6%) and node count from 184,164 to 184,587 (0.23%), not unbounded growth.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-baseline.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "bounded-footprint",
      "status": "pass",
      "confidence": "high",
      "method": "Baseline and post-interaction heap-summary comparison",
      "evidence": "The loaded scores/content page retained about 9.2MB self size and 184k heap nodes, proportionate to its third-party widget load.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-baseline.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-detached-dom-or-unbounded-listeners",
      "status": "pass",
      "confidence": "high",
      "method": "Baseline and post-interaction heap-summary comparison",
      "evidence": "Before/after heap summaries show stable closure and object counts and no Detached constructor population in the reported summaries.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-baseline.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": "pass"
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F04",
        "F05"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F06"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "be-fast-and-stable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F07",
        "F08",
        "F09"
      ]
    },
    {
      "principleId": "be-inclusive",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F10",
        "F11",
        "F12",
        "F13"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F14",
        "F15"
      ]
    },
    {
      "principleId": "be-discoverable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F16",
        "F17"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F18",
        "F19",
        "F20"
      ]
    },
    {
      "principleId": "be-resilient",
      "expectation": "contextual",
      "status": "pass"
    },
    {
      "principleId": "be-internationalised",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F21",
        "F22",
        "F23"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "be-sustainable",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F24",
        "F25",
        "F26"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "expectation": "contextual",
      "status": "not-applicable",
      "reason": "The site is a read-only content publication with no safe transactional capability for an agent to invoke; raw content and metadata were evaluated separately. No summarization or language-model feature is part of the observed product, so on-device inference is not needed for current task success."
    },
    {
      "principleId": "be-memory-efficient",
      "expectation": "default",
      "status": "pass"
    }
  ],
  "paths": [
    {
      "id": "home",
      "description": "Homepage and match listing: entry page, day navigation, empty match state, article discovery, preferences, responsive layout, performance, network, privacy, security, and memory.",
      "url": "https://live.epicsports.in/",
      "conditions": [
        "desktop 1280x800",
        "mobile 360x800",
        "prefers-color-scheme: dark",
        "prefers-reduced-motion: reduce",
        "forced-colors: active",
        "keyboard focus",
        "no JavaScript crawler",
        "10 mobile-menu cycles"
      ],
      "result": "issues"
    },
    {
      "id": "article",
      "description": "Representative match/article detail template reached from the homepage; covers article content, match data, metadata, accessibility, responsive layout, performance, and no-JS rendering.",
      "url": "https://live.epicsports.in/2026/07/spain-france.html",
      "conditions": [
        "desktop 1280x800",
        "mobile 360x800",
        "no JavaScript crawler"
      ],
      "result": "issues"
    },
    {
      "id": "contact",
      "description": "Representative static information/contact template; covers contact-task completion, metadata, accessibility, responsive layout, performance, and no-JS rendering.",
      "url": "https://live.epicsports.in/p/contact-us.html",
      "conditions": [
        "desktop 1280x800",
        "mobile 360x800",
        "no JavaScript crawler"
      ],
      "result": "issues"
    },
    {
      "id": "not-found",
      "description": "Nonexistent route to evaluate HTTP failure state and recovery.",
      "url": "https://live.epicsports.in/does-not-exist-audit",
      "conditions": [
        "desktop 1280x800"
      ],
      "result": "pass"
    }
  ],
  "findings": [
    {
      "id": "F01",
      "severity": "medium",
      "confidence": "high",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-color-scheme",
      "guidanceId": "dark-mode",
      "summary": "The site does not follow the system dark-color preference.",
      "evidence": "The prefers-color-scheme: dark screenshot is visually identical to the light surface; the existing Night theme is only activated manually.",
      "suggestedFix": "Declare color-scheme and map page surfaces and text to preference-aware colors with prefers-color-scheme or light-dark(), while retaining the manual override.",
      "artifacts": [
        "evidence/home-dark.png"
      ],
      "pathId": "home",
      "url": "https://live.epicsports.in/",
      "effort": "small"
    },
    {
      "id": "F02",
      "severity": "medium",
      "confidence": "high",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-reduced-motion",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "summary": "Continuous decorative animation continues when reduced motion is requested.",
      "evidence": "The reduced-motion probe found seven running animations, including flare, four flashing border animations, blueFlow, and pulseGlow; no reduced-motion CSS rule was present.",
      "suggestedFix": "Under prefers-reduced-motion: reduce, remove the repeating flare, border, gradient, blink, and scale animations or reduce them to an immediate state.",
      "artifacts": [
        "evidence/reduced-motion.json"
      ],
      "pathId": "home",
      "url": "https://live.epicsports.in/",
      "effort": "small"
    },
    {
      "id": "F03",
      "severity": "low",
      "confidence": "high",
      "principleId": "implement-natural-interactions",
      "principleCheckId": "view-transitions",
      "guidanceId": "same-document-transitions",
      "summary": "Page navigation swaps abruptly.",
      "evidence": "DOM/CSS inspection found no view-transition-name or @view-transition usage across the multi-page home-to-article journey.",
      "suggestedFix": "Progressively enhance same-origin navigation with cross-document View Transitions and a no-motion fallback.",
      "artifacts": [
        "evidence/home-structure.json"
      ],
      "pathId": "home",
      "url": "https://live.epicsports.in/",
      "effort": "small"
    },
    {
      "id": "F04",
      "severity": "medium",
      "confidence": "high",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "semantic-dismissible-primitives",
      "guidanceId": "declarative-dialog-popover-control",
      "summary": "The mobile navigation is an ad-hoc hidden checkbox and labels rather than a semantic control.",
      "evidence": "DOM inspection shows #menubtn plus label.menublabel controls a fixed panel; there is no button, dialog, popover, or details primitive, and the input could not receive programmatic focus.",
      "suggestedFix": "Use a real button with expanded/controls state and a semantic disclosure or popover pattern, preserving light dismiss and Escape behavior.",
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/focus-probe.json"
      ],
      "pathId": "home",
      "url": "https://live.epicsports.in/",
      "effort": "small"
    },
    {
      "id": "F05",
      "severity": "medium",
      "confidence": "high",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "reduced-chrome",
      "guidanceId": "improve-text-layout-and-legibility",
      "summary": "Repeated social-channel promotions crowd the primary sports content.",
      "evidence": "Desktop and mobile screenshots show four large promotional rows before match information, consuming roughly 340px of the first mobile viewport and repeating on home, article, and contact templates.",
      "suggestedFix": "Collapse social promotion to one compact, secondary module after primary content and keep only the most valuable action in the first viewport.",
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/home-mobile.png",
        "evidence/article-desktop.png",
        "evidence/contact-desktop.png"
      ],
      "pathId": "home",
      "url": "https://live.epicsports.in/",
      "effort": "small"
    },
    {
      "id": "F06",
      "severity": "high",
      "confidence": "high",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "input-modality-aware",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "summary": "Keyboard focus is invisible and several controls are below recommended target height.",
      "evidence": "The focus probe focused links successfully but every sampled link computed outline: none and box-shadow: none. Control geometry also shows nav and social controls at 35px high.",
      "suggestedFix": "Add a high-contrast :focus-visible indicator and enlarge compact controls to at least 44 by 44 CSS pixels without relying on hover.",
      "artifacts": [
        "evidence/focus-probe.json",
        "evidence/home-structure.json"
      ],
      "pathId": "home",
      "url": "https://live.epicsports.in/",
      "effort": "small"
    },
    {
      "id": "F07",
      "severity": "medium",
      "confidence": "high",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "good-core-web-vitals",
      "guidanceId": "identify-inp-causes",
      "summary": "Key templates miss the good LCP threshold in lab tests.",
      "evidence": "Lighthouse measured LCP 2.6s on home and article and 3.8s on contact; article time-to-interactive was 12.8s. The direct trace corroborated home LCP at 2.10s under a separate desktop run.",
      "suggestedFix": "Prioritize the true LCP element, shorten server and dependency chains, and defer non-essential widgets so all representative templates stay at or below 2.5s.",
      "artifacts": [
        "evidence/lighthouse-home-summary.json",
        "evidence/lighthouse-article-summary.json",
        "evidence/lighthouse-contact-summary.json",
        "evidence/home-trace-summary.json"
      ],
      "pathId": "home",
      "url": "https://live.epicsports.in/",
      "effort": "small"
    },
    {
      "id": "F08",
      "severity": "medium",
      "confidence": "high",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "efficient-resource-delivery",
      "guidanceId": "optimize-script-priority",
      "summary": "Parser-blocking styles and synchronous third-party scripts lengthen the critical path.",
      "evidence": "HAR plus DOM confirmation found two Font Awesome stylesheets in head and synchronous classic scripts for timer.js and widgets.365scores.com/main.js; Lighthouse flagged the network dependency tree.",
      "suggestedFix": "Remove duplicate critical CSS, self-host or subset icons, and defer or conditionally load the timer and scores widget after primary content.",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home-structure.json"
      ],
      "pathId": "home",
      "url": "https://live.epicsports.in/",
      "effort": "small"
    },
    {
      "id": "F09",
      "severity": "medium",
      "confidence": "high",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "trim-unused-and-duplicate-code",
      "guidanceId": "identify-heavy-scripts",
      "summary": "Third-party and duplicate code dominate the page load.",
      "evidence": "HAR recorded 22 script requests and 406,812 script bytes. Two major Font Awesome versions load together, while 365scores creates 21 requests and GTM is the largest script at 134,970 bytes.",
      "suggestedFix": "Load one icon implementation, audit tag-manager payloads, and lazy-load the scores widget only when its visible feature is needed.",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home-structure.json"
      ],
      "pathId": "home",
      "url": "https://live.epicsports.in/",
      "effort": "small"
    },
    {
      "id": "F10",
      "severity": "high",
      "confidence": "high",
      "principleId": "be-inclusive",
      "principleCheckId": "names-roles-labels",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "summary": "Landmarks, list semantics, alt text, and link names are inconsistent.",
      "evidence": "Lighthouse found no main landmark on every template, malformed ul/li nesting, unnamed linked images on article/contact, and a contact image without alt text. Accessibility scores were 85, 81, and 73.",
      "suggestedFix": "Add a main landmark; repair list ownership; give meaningful linked images names and informative images alt text, or mark decorative images appropriately.",
      "artifacts": [
        "evidence/lighthouse-home-fail-details.json",
        "evidence/lighthouse-article-fail-details.json",
        "evidence/lighthouse-contact-fail-details.json"
      ],
      "pathId": "home",
      "url": "https://live.epicsports.in/",
      "effort": "small"
    },
    {
      "id": "F11",
      "severity": "medium",
      "confidence": "high",
      "principleId": "be-inclusive",
      "principleCheckId": "sufficient-contrast",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "summary": "Several action and metadata colors fail WCAG contrast.",
      "evidence": "Lighthouse measured white on WhatsApp green at 1.98:1, Instagram at 4.33:1, share controls as low as 2.46:1, and article metadata at 3.84:1.",
      "suggestedFix": "Darken colored control backgrounds or use dark foreground text so normal text reaches 4.5:1 and essential UI boundaries remain visible.",
      "artifacts": [
        "evidence/lighthouse-home-fail-details.json",
        "evidence/lighthouse-contact-fail-details.json",
        "evidence/lighthouse-article-fail-details.json"
      ],
      "pathId": "home",
      "url": "https://live.epicsports.in/",
      "effort": "small"
    },
    {
      "id": "F12",
      "severity": "high",
      "confidence": "high",
      "principleId": "be-inclusive",
      "principleCheckId": "structure-and-focus",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "summary": "Keyboard users receive no visible location cue.",
      "evidence": "The active focus probe reports outline none and box-shadow none for every sampled visible link, while the global CSS resets outline to 0.",
      "suggestedFix": "Restore a consistent :focus-visible ring with sufficient contrast and verify tab order through header, social actions, match tabs, content, and footer.",
      "artifacts": [
        "evidence/focus-probe.json"
      ],
      "pathId": "home",
      "url": "https://live.epicsports.in/",
      "effort": "small"
    },
    {
      "id": "F13",
      "severity": "medium",
      "confidence": "high",
      "principleId": "be-inclusive",
      "principleCheckId": "zoom-reflow-targets-and-media",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "summary": "Some interactive targets are too short for reliable touch use.",
      "evidence": "The control-size probe found primary nav, social icons, day tabs, and footer links at 35px or 15px high, below the commonly recommended 44px target. Reflow itself had no overflow.",
      "suggestedFix": "Increase target boxes with padding or min-block-size while retaining the proven 360px no-overflow layout.",
      "artifacts": [
        "evidence/home-structure.json",
        "evidence/home-layout-mobile.json"
      ],
      "pathId": "home",
      "url": "https://live.epicsports.in/",
      "effort": "small"
    },
    {
      "id": "F14",
      "severity": "medium",
      "confidence": "high",
      "principleId": "follow-best-practices",
      "principleCheckId": "no-console-errors",
      "guidanceId": "html",
      "guidanceCategory": "html",
      "summary": "Every tested template throws a JavaScript syntax error.",
      "evidence": "Lighthouse captured SyntaxError: Unexpected token ) on home, article, and contact mobile documents.",
      "suggestedFix": "Locate the malformed inline/generated script at the reported mobile-template location, correct the unmatched token, and add a console-error smoke test.",
      "artifacts": [
        "evidence/lighthouse-home-fail-details.json",
        "evidence/lighthouse-article-fail-details.json",
        "evidence/lighthouse-contact-fail-details.json"
      ],
      "pathId": "home",
      "url": "https://live.epicsports.in/",
      "effort": "small"
    },
    {
      "id": "F15",
      "severity": "medium",
      "confidence": "high",
      "principleId": "follow-best-practices",
      "principleCheckId": "sound-document-and-assets",
      "guidanceId": "css",
      "guidanceCategory": "css",
      "summary": "Images are distorted or missing intrinsic sizing.",
      "evidence": "The image audit found all three home images missing a complete width/height pair, two oversized images, and no responsive source sets. Lighthouse found the article preview displayed at 2.36:1 despite a 3.00:1 source ratio.",
      "suggestedFix": "Supply width and height, preserve aspect-ratio/object-fit, and request correctly sized responsive Blogger image variants with srcset/sizes.",
      "artifacts": [
        "evidence/home-images.json",
        "evidence/lighthouse-home-fail-details.json"
      ],
      "pathId": "home",
      "url": "https://live.epicsports.in/",
      "effort": "small"
    },
    {
      "id": "F16",
      "severity": "medium",
      "confidence": "high",
      "principleId": "be-discoverable",
      "principleCheckId": "title-and-description",
      "guidanceId": "html",
      "guidanceCategory": "html",
      "summary": "Page descriptions are generic rather than template-specific.",
      "evidence": "Article and contact pages reuse the homepage description about news, wallpapers, scoreboards, and TV lists instead of describing the match or contact route.",
      "suggestedFix": "Generate a concise unique meta description for each article and static page from its visible purpose.",
      "artifacts": [
        "evidence/article-metadata.json",
        "evidence/contact-content.json"
      ],
      "pathId": "home",
      "url": "https://live.epicsports.in/",
      "effort": "small"
    },
    {
      "id": "F17",
      "severity": "high",
      "confidence": "high",
      "principleId": "be-discoverable",
      "principleCheckId": "structured-and-shareable-metadata",
      "guidanceId": "html",
      "guidanceCategory": "html",
      "summary": "Article structured data contains placeholders and inaccurate fields.",
      "evidence": "The article NewsArticle JSON-LD says headline \"Article headline\", uses example.com image URLs, and contains an unresolved author-photo substitution; homepage BlogPosting data also contains unresolved template text.",
      "suggestedFix": "Generate valid page-specific NewsArticle JSON-LD from visible content, use real absolute image/logo URLs, and validate all substitutions before publishing.",
      "artifacts": [
        "evidence/article-metadata.json",
        "evidence/home-platform.json"
      ],
      "pathId": "home",
      "url": "https://live.epicsports.in/",
      "effort": "small"
    },
    {
      "id": "F18",
      "severity": "high",
      "confidence": "high",
      "principleId": "be-private-and-secure",
      "principleCheckId": "secure-transport-and-headers",
      "guidanceId": "security",
      "guidanceCategory": "security",
      "summary": "HTTPS is present but key defenses and cookie flags are missing.",
      "evidence": "Header inspection found no CSP or HSTS. All three analytics cookies lacked Secure and used SameSite=None, including a 400-day _ga cookie.",
      "suggestedFix": "Add HSTS and a restrictive CSP, then set analytics cookies Secure with an appropriate SameSite value and only the necessary lifetime.",
      "artifacts": [
        "evidence/headers.json",
        "evidence/cookies.json"
      ],
      "pathId": "home",
      "url": "https://live.epicsports.in/",
      "effort": "small"
    },
    {
      "id": "F19",
      "severity": "high",
      "confidence": "high",
      "principleId": "be-private-and-secure",
      "principleCheckId": "data-minimisation-and-third-parties",
      "guidanceId": "privacy",
      "guidanceCategory": "privacy",
      "summary": "The page sends most requests and bytes to third parties without a visible privacy choice.",
      "evidence": "HAR recorded 33 of 41 requests and 606,421 of 702,185 transferred bytes as third-party. Tracker evidence found Google Analytics and Tag Manager plus ten third-party origins.",
      "suggestedFix": "Remove non-essential trackers, gate analytics on an appropriate consent/legal basis, minimize collected events, and load external widgets only on demand.",
      "artifacts": [
        "evidence/home.har",
        "evidence/home-summary.json",
        "evidence/trackers.json"
      ],
      "pathId": "home",
      "url": "https://live.epicsports.in/",
      "effort": "small"
    },
    {
      "id": "F20",
      "severity": "medium",
      "confidence": "high",
      "principleId": "be-private-and-secure",
      "principleCheckId": "defensive-browser-policies",
      "guidanceId": "security",
      "guidanceCategory": "security",
      "summary": "Clickjacking, referrer, and capability policies are absent.",
      "evidence": "The main response has no X-Frame-Options or CSP frame-ancestors, no Referrer-Policy, and no Permissions-Policy.",
      "suggestedFix": "Set frame-ancestors, a strict referrer policy, and a least-privilege Permissions-Policy at the edge or origin.",
      "artifacts": [
        "evidence/headers.json"
      ],
      "pathId": "home",
      "url": "https://live.epicsports.in/",
      "effort": "small"
    },
    {
      "id": "F21",
      "severity": "medium",
      "confidence": "high",
      "principleId": "be-internationalised",
      "principleCheckId": "lang-dir-and-logical-properties",
      "guidanceId": "translator",
      "summary": "The stylesheet is heavily tied to physical left/right directions.",
      "evidence": "Rendered DOM reports lang=en and dir=ltr, but CSS evidence contains extensive float:left/right, margin-left/right, padding-right, and positioned left/right declarations rather than logical properties.",
      "suggestedFix": "Keep correct lang/dir and migrate layout rules to inline/block logical properties so translated and RTL variants do not require duplicate overrides.",
      "artifacts": [
        "evidence/home-dom.json"
      ],
      "pathId": "home",
      "url": "https://live.epicsports.in/",
      "effort": "small"
    },
    {
      "id": "F22",
      "severity": "medium",
      "confidence": "high",
      "principleId": "be-internationalised",
      "principleCheckId": "locale-aware-data",
      "guidanceId": "support-global-calendar-systems",
      "summary": "Match dates and times are hard-coded instead of formatted for the visitor.",
      "evidence": "The article renders \"20 July 2026\", \"12:30 AM IST\", 11:00 PM for UAE, and 10:00 PM for Saudi Arabia, with no semantic time elements and no page-owned Intl formatting signal.",
      "suggestedFix": "Store one unambiguous event instant and format date/time with Intl.DateTimeFormat for the user locale; retain optional venue or selected-zone context.",
      "artifacts": [
        "evidence/article-time.json"
      ],
      "pathId": "article",
      "url": "https://live.epicsports.in/2026/07/spain-france.html",
      "effort": "medium"
    },
    {
      "id": "F23",
      "severity": "medium",
      "confidence": "high",
      "principleId": "be-internationalised",
      "principleCheckId": "time-zone-correctness",
      "guidanceId": "coordinate-global-events",
      "summary": "Time-zone presentation is incomplete and ambiguous.",
      "evidence": "The match lists abbreviations or country flags for three hand-picked zones but no offset, zone identifier, conversion control, or user-local time; 7/19 elsewhere on the same page conflicts with 20 July.",
      "suggestedFix": "Use an ISO instant plus IANA time zone, show the viewer local time by default, and label alternate zones explicitly with DST-safe conversion.",
      "artifacts": [
        "evidence/article-time.json"
      ],
      "pathId": "article",
      "url": "https://live.epicsports.in/2026/07/spain-france.html",
      "effort": "medium"
    },
    {
      "id": "F24",
      "severity": "medium",
      "confidence": "high",
      "principleId": "be-sustainable",
      "principleCheckId": "optimised-assets",
      "guidanceId": "deliver-optimized-decorative-images",
      "summary": "Oversized and non-responsive images waste transfer.",
      "evidence": "Image evidence found a 1600px logo displayed at 200px and a 2340px preview displayed around 178px, both without srcset; one content image remains JPEG.",
      "suggestedFix": "Request appropriately sized modern variants and provide srcset/sizes plus intrinsic dimensions.",
      "artifacts": [
        "evidence/home-images.json"
      ],
      "pathId": "home",
      "url": "https://live.epicsports.in/",
      "effort": "small"
    },
    {
      "id": "F25",
      "severity": "medium",
      "confidence": "high",
      "principleId": "be-sustainable",
      "principleCheckId": "no-wasteful-work",
      "guidanceId": "deprioritize-background-fetches",
      "summary": "An empty match state still loads a large external scores application.",
      "evidence": "The homepage says there are no important matches while 365scores makes 21 requests and transfers 257,559 bytes.",
      "suggestedFix": "Do not initialize the scores widget for an empty state; fetch it only after the user opens a live score surface or when matches exist.",
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/home-summary.json"
      ],
      "pathId": "home",
      "url": "https://live.epicsports.in/",
      "effort": "small"
    },
    {
      "id": "F26",
      "severity": "medium",
      "confidence": "high",
      "principleId": "be-sustainable",
      "principleCheckId": "third-party-and-media-budget",
      "guidanceId": "deprioritize-background-fetches",
      "summary": "Third-party resources are disproportionate to visible content.",
      "evidence": "Third parties account for 86% of transfer bytes, led by scores, tag manager, CDN icon assets, and analytics on a small content page.",
      "suggestedFix": "Set a third-party budget, remove duplicate icon libraries, defer the scores bundle, and measure each vendor against user value.",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/trackers.json"
      ],
      "pathId": "home",
      "url": "https://live.epicsports.in/",
      "effort": "small"
    }
  ],
  "taskList": [
    {
      "id": "T01",
      "title": "Restore semantic keyboard navigation and accessibility structure",
      "priority": 1,
      "findingIds": [
        "F04",
        "F06",
        "F10",
        "F12",
        "F13"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T02",
      "title": "Add security headers and minimize third-party tracking",
      "priority": 2,
      "findingIds": [
        "F18",
        "F19",
        "F20"
      ],
      "guidanceId": "security",
      "status": "open"
    },
    {
      "id": "T03",
      "title": "Defer and remove duplicate third-party code",
      "priority": 3,
      "findingIds": [
        "F08",
        "F09",
        "F25",
        "F26"
      ],
      "guidanceId": "identify-heavy-scripts",
      "status": "open"
    },
    {
      "id": "T04",
      "title": "Respect dark mode and reduced motion",
      "priority": 4,
      "findingIds": [
        "F01",
        "F02"
      ],
      "guidanceId": "dark-mode",
      "status": "open"
    },
    {
      "id": "T05",
      "title": "Fix color contrast across actions and metadata",
      "priority": 5,
      "findingIds": [
        "F11"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T06",
      "title": "Correct article metadata and page descriptions",
      "priority": 6,
      "findingIds": [
        "F16",
        "F17"
      ],
      "guidanceId": "html",
      "status": "open"
    },
    {
      "id": "T07",
      "title": "Optimize responsive image delivery and intrinsic sizing",
      "priority": 7,
      "findingIds": [
        "F15",
        "F24"
      ],
      "guidanceId": "deliver-optimized-decorative-images",
      "status": "open"
    },
    {
      "id": "T08",
      "title": "Move repeated social promos below primary content",
      "priority": 8,
      "findingIds": [
        "F05"
      ],
      "guidanceId": "improve-text-layout-and-legibility",
      "status": "open"
    },
    {
      "id": "T09",
      "title": "Localize match date and time from one zoned instant",
      "priority": 9,
      "findingIds": [
        "F21",
        "F22",
        "F23"
      ],
      "guidanceId": "coordinate-global-events",
      "status": "open"
    },
    {
      "id": "T10",
      "title": "Repair the mobile-template syntax error",
      "priority": 10,
      "findingIds": [
        "F14"
      ],
      "guidanceId": "html",
      "status": "open"
    },
    {
      "id": "T11",
      "title": "Improve LCP on article and contact templates",
      "priority": 11,
      "findingIds": [
        "F07"
      ],
      "guidanceId": "identify-inp-causes",
      "status": "open"
    },
    {
      "id": "T12",
      "title": "Progressively add cross-document transitions",
      "priority": 12,
      "findingIds": [
        "F03"
      ],
      "guidanceId": "same-document-transitions",
      "status": "open"
    }
  ],
  "budget": {
    "pathCount": 4,
    "auditPasses": 1
  },
  "agent": "pi",
  "runId": "2026-07-21T12-06-04-171Z"
}
