{
  "url": "https://www.arabx.cam",
  "auditedAt": "2026-07-23T20:19:00.082Z",
  "mode": "report",
  "status": "completed",
  "statusDetail": "Coverage-complete report-only audit across five representative paths.",
  "page": {
    "appType": "mpa",
    "framework": "Server-rendered multi-page site with jQuery-era scripts",
    "notes": "Public Arabic adult-video catalogue. Covered homepage, listing, video detail, search, and 404 recovery. Did not play media, create an account, or exercise payment because those were not needed to judge the selected public discovery journey."
  },
  "evidenceUsed": [
    "screenshot",
    "dom",
    "layout-metrics",
    "evaluate-probe",
    "trace",
    "har",
    "discoverability",
    "headers",
    "cookies",
    "trackers",
    "secrets",
    "images",
    "heap-summary",
    "axe-core",
    "lighthouse",
    "curl HTTP probes"
  ],
  "guidanceConsulted": [
    "dark-mode",
    "accessibility",
    "directional-navigation-transitions",
    "scroll-position-aware-elements",
    "navigation-drawer",
    "declarative-dialog-popover-control",
    "css",
    "forms",
    "required-field-feedback",
    "performance",
    "break-up-long-tasks",
    "optimize-image-priority",
    "html",
    "security",
    "privacy",
    "flicker-free-client-side-ab-testing",
    "translator",
    "support-global-calendar-systems",
    "validate-input-after-interaction",
    "deliver-optimized-decorative-images",
    "efficient-background-processing",
    "webmcp",
    "language-model",
    "manage-recurring-intervals"
  ],
  "artifacts": [
    {
      "type": "dom",
      "path": "evidence/home-dom.json",
      "caption": "Rendered homepage DOM and CSS.",
      "findingIds": [
        "F7",
        "F13",
        "F17"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-desktop.png",
      "caption": "Homepage desktop first viewport.",
      "findingIds": [
        "F4"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-mobile.png",
      "caption": "Homepage at 360x800.",
      "condition": "viewport: 360x800",
      "findingIds": [
        "F3",
        "F4"
      ]
    },
    {
      "type": "layout",
      "path": "evidence/home-mobile-layout.json",
      "caption": "Mobile overflow, CLS, and long-task observations.",
      "condition": "viewport: 360x800",
      "findingIds": [
        "F3"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-dark.png",
      "caption": "Homepage under prefers-color-scheme: dark.",
      "condition": "prefers-color-scheme: dark",
      "findingIds": [
        "F1"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-contrast.png",
      "caption": "Homepage under forced colors/high contrast.",
      "condition": "forced-colors: active, prefers-contrast: more",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/reduced-motion.json",
      "caption": "Reduced-motion animation probe.",
      "findingIds": []
    },
    {
      "type": "trace",
      "path": "evidence/home-trace.json",
      "caption": "DevTools performance trace.",
      "findingIds": []
    },
    {
      "type": "trace-summary",
      "path": "evidence/home-trace-summary.json",
      "caption": "Compact trace metrics.",
      "findingIds": [
        "F6",
        "F7",
        "F19"
      ]
    },
    {
      "type": "har",
      "path": "evidence/home.har",
      "caption": "Initial-load network archive.",
      "findingIds": []
    },
    {
      "type": "har-summary",
      "path": "evidence/home-summary.json",
      "caption": "Compact HAR signals.",
      "findingIds": [
        "F7",
        "F15",
        "F19",
        "F20"
      ]
    },
    {
      "type": "discoverability",
      "path": "evidence/discoverability.json",
      "caption": "Raw HTML vs rendered coverage.",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/discoverability-rendered.png",
      "caption": "Rendered discoverability view.",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/discoverability-crawler.png",
      "caption": "No-JS crawler view.",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/headers.json",
      "caption": "Security headers.",
      "findingIds": [
        "F14",
        "F16"
      ]
    },
    {
      "type": "other",
      "path": "evidence/cookies.json",
      "caption": "Cookie flags.",
      "findingIds": [
        "F14",
        "F16"
      ]
    },
    {
      "type": "other",
      "path": "evidence/trackers.json",
      "caption": "Third-party tracker origins.",
      "findingIds": [
        "F15"
      ]
    },
    {
      "type": "other",
      "path": "evidence/secrets.json",
      "caption": "Client secret scan.",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/images.json",
      "caption": "Image delivery and accessibility probe.",
      "findingIds": [
        "F11",
        "F18"
      ]
    },
    {
      "type": "heap",
      "path": "evidence/heap-baseline.json",
      "caption": "Baseline heap summary.",
      "findingIds": []
    },
    {
      "type": "heap",
      "path": "evidence/heap-post-menu.json",
      "caption": "Heap after 20 repeated menu cycles.",
      "findingIds": []
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse.json",
      "caption": "Lighthouse report.",
      "findingIds": [
        "F6",
        "F8",
        "F10",
        "F11",
        "F12",
        "F13",
        "F18"
      ]
    },
    {
      "type": "dom",
      "path": "evidence/listing-dom.json",
      "caption": "Listing template DOM.",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/listing-mobile.png",
      "caption": "Listing mobile view.",
      "condition": "viewport: 360x800",
      "findingIds": []
    },
    {
      "type": "dom",
      "path": "evidence/detail-dom.json",
      "caption": "Video detail DOM.",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/detail-mobile.png",
      "caption": "Video detail mobile view.",
      "condition": "viewport: 360x800",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/search-empty-mobile.png",
      "caption": "Search result mobile view.",
      "condition": "viewport: 360x800",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/axe.json",
      "caption": "axe-core results.",
      "findingIds": [
        "F9"
      ]
    },
    {
      "type": "other",
      "path": "evidence/platform-probe.json",
      "caption": "Semantic, focus, feature, form, metadata probe.",
      "findingIds": [
        "F1",
        "F2",
        "F4",
        "F17"
      ]
    },
    {
      "type": "other",
      "path": "evidence/memory-metrics.json",
      "caption": "Live DOM/heap before and after repeated menu interaction.",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/404-mobile.png",
      "caption": "404 recovery view.",
      "condition": "viewport: 360x800",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/404-probe.json",
      "caption": "404 content and recovery-link probe.",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/detail-probe.json",
      "caption": "Detail metadata and player probe.",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/runtime-capabilities.json",
      "caption": "Service worker and runtime capability probe.",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/focus-probe.json",
      "caption": "Computed focus styles on interactive controls.",
      "findingIds": [
        "F5",
        "F9"
      ]
    },
    {
      "type": "other",
      "path": "evidence/robots.txt.txt",
      "caption": "robots.txt response and policy.",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/sitemap.xml.txt",
      "caption": "Sitemap response and index.",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/site.webmanifest.txt",
      "caption": "Web app manifest response.",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/this-path-should-not-exist-audit.txt",
      "caption": "HTTP 404 response headers.",
      "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": "Direct visual/objective evidence using the artifact(s) listed.",
      "evidence": "The dark-condition screenshot is byte-identical in appearance to the light desktop capture, and the CSS probe found no prefers-color-scheme rules.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-dark.png",
        "evidence/platform-probe.json"
      ],
      "findingIds": [
        "F1"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-reduced-motion",
      "status": "pass",
      "confidence": "high",
      "method": "Direct visual/objective probe across representative paths.",
      "evidence": "Reduced-motion emulation matched reduce; getAnimations() returned none and no auto-advance animation was present.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/reduced-motion.json"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-contrast",
      "status": "pass",
      "confidence": "high",
      "method": "Direct visual/objective probe across representative paths.",
      "evidence": "Forced-colors/high-contrast screenshot retained visible text, controls, card boundaries, and focus-independent affordances.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-contrast.png"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "view-transitions",
      "status": "issues",
      "confidence": "high",
      "method": "Direct visual/objective evidence using the artifact(s) listed.",
      "evidence": "The CSS probe found no view-transition usage across the homepage, listing, and detail templates.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json"
      ],
      "findingIds": [
        "F2"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "scroll-driven-animations",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Applicability judgement after recon of representative templates and flows.",
      "evidence": "No scroll-linked animation or parallax interaction exists on the representative templates.",
      "reason": "No scroll-linked animation or parallax interaction exists on the representative templates."
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "physical-gestures",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Applicability judgement after recon of representative templates and flows.",
      "evidence": "The tested site uses ordinary links and buttons; there is no gesture-driven interaction to implement.",
      "reason": "The tested site uses ordinary links and buttons; there is no gesture-driven interaction to implement."
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "scroll-state-aware-chrome",
      "status": "issues",
      "confidence": "high",
      "method": "Direct visual/objective evidence using the artifact(s) listed.",
      "evidence": "Mobile layout measured 10,949px of content while the DOM/CSS probe found no scroll-state query or progress indicator.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile-layout.json",
        "evidence/home-mobile.png"
      ],
      "findingIds": [
        "F3"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "anchored-positioning",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Applicability judgement after recon of representative templates and flows.",
      "evidence": "No tooltip, popover, or floating menu requiring anchored positioning appears on the tested templates.",
      "reason": "No tooltip, popover, or floating menu requiring anchored positioning appears on the tested templates."
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "directs-attention",
      "status": "pass",
      "confidence": "high",
      "method": "Direct visual/objective probe across representative paths.",
      "evidence": "Selected navigation state, descriptive H1/H2 headings, and full destination pages preserve orientation across home, listing, and detail.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/detail-mobile.png"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "no-intrusive-interruptions",
      "status": "pass",
      "confidence": "high",
      "method": "Direct visual/objective probe across representative paths.",
      "evidence": "Initial desktop and mobile screenshots show content immediately with no blocking interstitial or consent wall.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/home-mobile.png"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "semantic-dismissible-primitives",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Applicability judgement after recon of representative templates and flows.",
      "evidence": "No modal or transient overlay appears on initial load or in the representative discovery flow.",
      "reason": "No modal or transient overlay appears on initial load or in the representative discovery flow."
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "reduced-chrome",
      "status": "pass",
      "confidence": "high",
      "method": "Direct visual/objective probe across representative paths.",
      "evidence": "Screenshots show the viewport dominated by video cards/content with compact header and navigation chrome.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "responsive-no-horizontal-scroll",
      "status": "pass",
      "confidence": "high",
      "method": "Direct visual/objective probe across representative paths.",
      "evidence": "At 360x800, layout reported scrollWidth=clientWidth=360 and 0px horizontal overflow; all templates remained readable.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile-layout.json",
        "evidence/home-mobile.png"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "component-level-responsiveness",
      "status": "issues",
      "confidence": "high",
      "method": "Direct visual/objective evidence using the artifact(s) listed.",
      "evidence": "The same cards appear in one and three-column contexts, while the CSS probe found no @container or container-type usage.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/home-mobile.png",
        "evidence/platform-probe.json"
      ],
      "findingIds": [
        "F4"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "input-modality-aware",
      "status": "issues",
      "confidence": "high",
      "method": "Direct visual/objective evidence using the artifact(s) listed.",
      "evidence": "The focus probe focused links, the search input, and menu button; every sampled control computed outline-style none and box-shadow none.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/focus-probe.json"
      ],
      "findingIds": [
        "F5"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-purpose-and-primary-action",
      "status": "pass",
      "confidence": "high",
      "method": "Direct visual/objective probe across representative paths.",
      "evidence": "Home and listing headings clearly identify the catalogue, and prominent linked cards communicate the next action.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "primary-flow-completion",
      "status": "pass",
      "confidence": "high",
      "method": "Direct visual/objective probe across representative paths.",
      "evidence": "The representative journey from homepage card to detail loaded a visible player entry control and description without an account wall.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/detail-mobile.png"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-system-state-and-recovery",
      "status": "pass",
      "confidence": "high",
      "method": "Direct visual/objective probe across representative paths.",
      "evidence": "Search returned a populated results state; an unknown URL returned HTTP 404 with an Arabic explanation, search recovery, and home/content links.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/search-empty-mobile.png",
        "evidence/404-mobile.png",
        "evidence/404-probe.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "good-core-web-vitals",
      "status": "issues",
      "confidence": "high",
      "method": "Direct visual/objective evidence using the artifact(s) listed.",
      "evidence": "Raw trace measured LCP 4,278ms; Lighthouse measured 5.3s and scored LCP 0.21.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-trace-summary.json",
        "evidence/lighthouse.json"
      ],
      "findingIds": [
        "F6"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "visual-stability",
      "status": "pass",
      "confidence": "high",
      "method": "Direct visual/objective probe across representative paths.",
      "evidence": "Mobile layout observer measured CLS 0.00124; all 31 images have explicit dimensions.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile-layout.json",
        "evidence/images.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-main-thread",
      "status": "pass",
      "confidence": "high",
      "method": "Direct visual/objective probe across representative paths.",
      "evidence": "Trace measured 40.5ms TBT with longest task 71ms; Lighthouse measured 130ms TBT, both below the poor range.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-trace-summary.json",
        "evidence/lighthouse.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-resource-delivery",
      "status": "issues",
      "confidence": "high",
      "method": "Direct visual/objective evidence using the artifact(s) listed.",
      "evidence": "HAR found parser-inserted styles/scripts and 248KB of third-party transfer; the trace measured LCP at 4.28s. DOM confirms the ad and main scripts are parser-inserted near the document end without defer/module.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home-dom.json",
        "evidence/home-trace-summary.json"
      ],
      "findingIds": [
        "F7"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "trim-unused-and-duplicate-code",
      "status": "issues",
      "confidence": "high",
      "method": "Direct visual/objective evidence using the artifact(s) listed.",
      "evidence": "Lighthouse estimates 109KiB unused JavaScript and 13KiB unused CSS.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse.json"
      ],
      "findingIds": [
        "F8"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "names-roles-labels",
      "status": "pass",
      "confidence": "high",
      "method": "Direct visual/objective probe across representative paths.",
      "evidence": "axe found no accessible-name/role/image-alt failures; all 31 images have alt text and the mobile menu has an Arabic aria-label.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/axe.json",
        "evidence/images.json"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "sufficient-contrast",
      "status": "pass",
      "confidence": "high",
      "method": "Direct visual/objective probe across representative paths.",
      "evidence": "Lighthouse accessibility scored 0.98 without a failed colour-contrast audit; forced-colors capture preserves text and controls.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/home-contrast.png"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "structure-and-focus",
      "status": "issues",
      "confidence": "high",
      "method": "Direct visual/objective evidence using the artifact(s) listed.",
      "evidence": "axe reported landmark-one-main and 12 regions outside landmarks; the focus probe found no visible outline on sampled controls.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/axe.json",
        "evidence/focus-probe.json"
      ],
      "findingIds": [
        "F9"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "legible-text",
      "status": "pass",
      "confidence": "high",
      "method": "Direct visual/objective probe across representative paths.",
      "evidence": "Desktop/mobile captures show unclipped, comfortably sized Arabic headings, metadata, and card labels.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/detail-mobile.png"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "zoom-reflow-targets-and-media",
      "status": "pass",
      "confidence": "high",
      "method": "Direct visual/objective probe across representative paths.",
      "evidence": "Viewport allows scaling, 360px reflow has no overflow, and the video detail remains usable at narrow width with a labelled play control.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile-layout.json",
        "evidence/detail-mobile.png"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "no-console-errors",
      "status": "issues",
      "confidence": "high",
      "method": "Direct visual/objective evidence using the artifact(s) listed.",
      "evidence": "Lighthouse errors-in-console failed with two recorded console error entries.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse.json"
      ],
      "findingIds": [
        "F10"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "sound-document-and-assets",
      "status": "issues",
      "confidence": "high",
      "method": "Direct visual/objective evidence using the artifact(s) listed.",
      "evidence": "Lighthouse image-size-responsive failed for three images, despite valid dimensions and aspect ratios.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/images.json"
      ],
      "findingIds": [
        "F11"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "browser-platform-hygiene",
      "status": "issues",
      "confidence": "high",
      "method": "Direct visual/objective evidence using the artifact(s) listed.",
      "evidence": "Lighthouse reported 16 deprecation warnings, an Inspector Issues failure, and three BFCache failure reasons.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse.json"
      ],
      "findingIds": [
        "F12"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "title-and-description",
      "status": "pass",
      "confidence": "high",
      "method": "Direct visual/objective probe across representative paths.",
      "evidence": "Homepage and detail DOM contain unique descriptive titles and meta descriptions.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/detail-probe.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "crawlable-and-mobile-friendly",
      "status": "issues",
      "confidence": "high",
      "method": "Direct visual/objective evidence using the artifact(s) listed.",
      "evidence": "Lighthouse crawlable-anchors failed and listed six non-crawlable anchors; the page otherwise has a viewport and robots access.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/home-dom.json"
      ],
      "findingIds": [
        "F13"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "canonical-and-indexing-signals",
      "status": "pass",
      "confidence": "high",
      "method": "Direct visual/objective probe across representative paths.",
      "evidence": "Homepage/detail expose canonical URLs; robots.txt and sitemap.xml return 200, the representative pages return 200, and no accidental noindex was found.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/robots.txt.txt",
        "evidence/sitemap.xml.txt",
        "evidence/detail-probe.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "structured-and-shareable-metadata",
      "status": "pass",
      "confidence": "high",
      "method": "Direct visual/objective probe across representative paths.",
      "evidence": "Detail page contains VideoObject JSON-LD plus matching Open Graph URL, title, image, description, and video dimensions.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/detail-probe.json"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "secure-transport-and-headers",
      "status": "issues",
      "confidence": "high",
      "method": "Direct visual/objective evidence using the artifact(s) listed.",
      "evidence": "Headers show no Content-Security-Policy. Cookie evidence found 7 cookies, all flagged insecure; PHPSESSID lacks Secure and HttpOnly, and kt_acctoken lacks HttpOnly and uses SameSite=None.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/headers.json",
        "evidence/cookies.json"
      ],
      "findingIds": [
        "F14"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "data-minimisation-and-third-parties",
      "status": "issues",
      "confidence": "high",
      "method": "Direct visual/objective evidence using the artifact(s) listed.",
      "evidence": "Tracker evidence found 13 third-party origins, including Google Analytics and multiple ad domains. HAR measured 18 third-party requests and 247,986 bytes, about half the transfer.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/trackers.json",
        "evidence/home-summary.json"
      ],
      "findingIds": [
        "F15"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "in-context-permissions-and-modern-auth",
      "status": "pass",
      "confidence": "high",
      "method": "Direct visual/objective probe across representative paths.",
      "evidence": "No permission prompt appeared on load, Permissions-Policy disables sensitive features, and the public discovery/playback path requires no authentication.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/headers.json",
        "evidence/runtime-capabilities.json"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "defensive-browser-policies",
      "status": "issues",
      "confidence": "high",
      "method": "Direct visual/objective evidence using the artifact(s) listed.",
      "evidence": "Referrer-Policy is missing, no CSP frame-ancestors/Trusted Types policy exists, and cookies include SameSite=None values. HSTS, nosniff, X-Frame-Options, and Permissions-Policy are present.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/headers.json",
        "evidence/cookies.json"
      ],
      "findingIds": [
        "F16"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "progressive-enhancement",
      "status": "pass",
      "confidence": "high",
      "method": "Direct visual/objective probe across representative paths.",
      "evidence": "Discoverability fetch found 100% raw/rendered content coverage, title/H1/description in raw HTML, and no JS shell.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/discoverability.json",
        "evidence/discoverability-crawler.png"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "resilient-runtime-behaviour",
      "status": "pass",
      "confidence": "high",
      "method": "Direct visual/objective probe across representative paths.",
      "evidence": "Home, listing, search, detail, and 404 templates loaded stable content; menu repetition left the DOM element count unchanged.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/memory-metrics.json"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "offline-and-installable",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Applicability judgement after recon of representative templates and flows.",
      "evidence": "This streaming/media site is intrinsically online; it has a manifest but no service worker, and offline playback was not judged necessary.",
      "reason": "This streaming/media site is intrinsically online; it has a manifest but no service worker, and offline playback was not judged necessary."
    },
    {
      "principleId": "be-resilient",
      "checkId": "network-and-http-failure-states",
      "status": "pass",
      "confidence": "high",
      "method": "Direct visual/objective probe across representative paths.",
      "evidence": "A deliberate unknown URL returned a real 404 and a useful Arabic recovery page with search and content links.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/404-mobile.png",
        "evidence/404-probe.json"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "lang-dir-and-logical-properties",
      "status": "issues",
      "confidence": "high",
      "method": "Direct visual/objective evidence using the artifact(s) listed.",
      "evidence": "The root declares lang=\"ar\" but no dir attribute; the CSS probe found no logical inline/block properties.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json",
        "evidence/home-dom.json"
      ],
      "findingIds": [
        "F17"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "locale-aware-data",
      "status": "pass",
      "confidence": "high",
      "method": "Direct visual/objective probe across representative paths.",
      "evidence": "The Arabic interface renders locale-appropriate labels and relative ages such as hours/years in Arabic across listing cards.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "time-zone-correctness",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Applicability judgement after recon of representative templates and flows.",
      "evidence": "The representative pages expose relative publication ages but no scheduled events or user-entered time-zone-sensitive data.",
      "reason": "The representative pages expose relative publication ages but no scheduled events or user-entered time-zone-sensitive data."
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "no-dark-patterns",
      "status": "pass",
      "confidence": "high",
      "method": "Direct visual/objective probe across representative paths.",
      "evidence": "Initial and journey screenshots show no consent wall, confirmshaming, forced account creation, or disguised visible action in the tested flow.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/detail-mobile.png"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "humane-error-handling",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Applicability judgement after recon of representative templates and flows.",
      "evidence": "The only user input is unconstrained search, so no invalid constrained-input state exists to exercise.",
      "reason": "The only user input is unconstrained search, so no invalid constrained-input state exists to exercise."
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "trustworthy-input-assistance",
      "status": "pass",
      "confidence": "high",
      "method": "Direct visual/objective probe across representative paths.",
      "evidence": "The only input is a text search field; browser autocomplete remains enabled by default and input is not obstructed.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "safe-commercial-and-account-flows",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Applicability judgement after recon of representative templates and flows.",
      "evidence": "No checkout, subscription, consent purchase, or account-management flow is exposed in the representative public journey.",
      "reason": "No checkout, subscription, consent purchase, or account-management flow is exposed in the representative public journey."
    },
    {
      "principleId": "be-sustainable",
      "checkId": "optimised-assets",
      "status": "issues",
      "confidence": "high",
      "method": "Direct visual/objective evidence using the artifact(s) listed.",
      "evidence": "The images primitive found 31/31 images without srcset, 7 legacy PNG/JPEG resources, and no modern-format image; Lighthouse also found low-resolution thumbnails.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/images.json",
        "evidence/lighthouse.json"
      ],
      "findingIds": [
        "F18"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "no-wasteful-work",
      "status": "issues",
      "confidence": "high",
      "method": "Direct visual/objective evidence using the artifact(s) listed.",
      "evidence": "HAR shows several ad/analytics scripts on the initial path; trace records three long tasks and the slowest third-party requests take 1.2–2.1s.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home-trace-summary.json"
      ],
      "findingIds": [
        "F19"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "third-party-and-media-budget",
      "status": "issues",
      "confidence": "high",
      "method": "Direct visual/objective evidence using the artifact(s) listed.",
      "evidence": "HAR measured 247,986 of 493,497 transferred bytes from third parties, with Google Tag Manager alone transferring 162,176 bytes.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json"
      ],
      "findingIds": [
        "F20"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "structured-agent-capabilities",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Applicability judgement after recon of representative templates and flows.",
      "evidence": "No declared agent-facing intent exists; this is a conventional public video catalogue and WebMCP remains emerging.",
      "reason": "No declared agent-facing intent exists; this is a conventional public video catalogue and WebMCP remains emerging."
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "on-device-inference",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Applicability judgement after recon of representative templates and flows.",
      "evidence": "No page task clearly benefits from on-device inference, and the site declares no agent/AI intent.",
      "reason": "No page task clearly benefits from on-device inference, and the site declares no agent/AI intent."
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-leak-under-repeated-interaction",
      "status": "pass",
      "confidence": "medium",
      "method": "Direct visual/objective probe across representative paths.",
      "evidence": "After 20 menu open/close cycles, DOM elements stayed at 631; heap snapshot size rose only from 10.48MB to 10.62MB (~1.3%), without evidence of unbounded retention.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-baseline.json",
        "evidence/heap-post-menu.json",
        "evidence/memory-metrics.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "bounded-footprint",
      "status": "pass",
      "confidence": "medium",
      "method": "Direct visual/objective probe across representative paths.",
      "evidence": "Heap summaries measured about 10.5MB self size and 631 live DOM elements, proportionate to the image-card page.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-baseline.json",
        "evidence/memory-metrics.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-detached-dom-or-unbounded-listeners",
      "status": "pass",
      "confidence": "medium",
      "method": "Direct visual/objective probe across representative paths.",
      "evidence": "Before/after heap summaries contain no Detached constructor population, and the repeated interaction left live DOM count unchanged.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-baseline.json",
        "evidence/heap-post-menu.json",
        "evidence/memory-metrics.json"
      ]
    }
  ],
  "principleOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F1"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F2"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F3"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F4",
        "F5"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "be-fast-and-stable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F6",
        "F7",
        "F8"
      ]
    },
    {
      "principleId": "be-inclusive",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F9"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F10",
        "F11",
        "F12"
      ]
    },
    {
      "principleId": "be-discoverable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F13"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F14",
        "F15",
        "F16"
      ]
    },
    {
      "principleId": "be-resilient",
      "expectation": "contextual",
      "status": "pass"
    },
    {
      "principleId": "be-internationalised",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F17"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "be-sustainable",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F18",
        "F19",
        "F20"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "expectation": "contextual",
      "status": "not-applicable",
      "reason": "Derived from check outcomes."
    },
    {
      "principleId": "be-memory-efficient",
      "expectation": "default",
      "status": "pass"
    }
  ],
  "paths": [
    {
      "id": "home",
      "description": "Homepage: entry, primary discovery surface, desktop/mobile and preference conditions.",
      "url": "https://www.arabx.cam/",
      "conditions": [
        "desktop 800x600",
        "mobile 360x800",
        "prefers-color-scheme: dark",
        "forced-colors: active",
        "prefers-reduced-motion: reduce",
        "keyboard focus"
      ],
      "result": "issues"
    },
    {
      "id": "listing",
      "description": "Latest-updates listing: representative collection template.",
      "url": "https://www.arabx.cam/latest-updates/",
      "conditions": [
        "mobile 360x800"
      ],
      "result": "issues"
    },
    {
      "id": "detail",
      "description": "Representative video detail and playback entry surface.",
      "url": "https://www.arabx.cam/%D8%A7%D9%84%D8%A5%D9%82%D9%86%D8%A7%D8%B9-%D9%84%D8%A5%D8%AA%D9%85%D8%A7%D9%85-%D8%A7%D9%84%D8%B5%D9%81%D9%82%D8%A9-%D8%B3%D9%83%D8%B3-%D9%85%D8%AA%D8%B1%D8%AC%D9%85-%D8%B4%D9%82%D8%B1%D8%A7%D8%A1/",
      "conditions": [
        "mobile 360x800"
      ],
      "result": "issues"
    },
    {
      "id": "search",
      "description": "Search results with a query: representative findability flow.",
      "url": "https://www.arabx.cam/search/?q=test",
      "conditions": [
        "mobile 360x800"
      ],
      "result": "pass"
    },
    {
      "id": "not-found",
      "description": "Deliberate unknown URL: HTTP/network failure recovery template.",
      "url": "https://www.arabx.cam/this-path-should-not-exist-audit/",
      "conditions": [
        "mobile 360x800"
      ],
      "result": "pass"
    }
  ],
  "findings": [
    {
      "id": "F1",
      "severity": "medium",
      "confidence": "high",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-color-scheme",
      "guidanceId": "dark-mode",
      "summary": "The site does not follow the user’s dark colour preference.",
      "evidence": "The dark-condition screenshot is byte-identical in appearance to the light desktop capture, and the CSS probe found no prefers-color-scheme rules.",
      "suggestedFix": "Declare color-scheme and provide preference-driven dark surface, text, control, and accent colours.",
      "artifacts": [
        "evidence/home-dark.png",
        "evidence/platform-probe.json"
      ],
      "effort": "small",
      "pathId": "home",
      "url": "https://www.arabx.cam/"
    },
    {
      "id": "F2",
      "severity": "low",
      "confidence": "high",
      "principleId": "implement-natural-interactions",
      "principleCheckId": "view-transitions",
      "guidanceId": "directional-navigation-transitions",
      "summary": "Page-to-page changes are abrupt full navigations with no transition continuity.",
      "evidence": "The CSS probe found no view-transition usage across the homepage, listing, and detail templates.",
      "suggestedFix": "Add progressive cross-document View Transitions for navigation, respecting reduced motion.",
      "artifacts": [
        "evidence/platform-probe.json"
      ],
      "effort": "small",
      "pathId": "home",
      "url": "https://www.arabx.cam/"
    },
    {
      "id": "F3",
      "severity": "low",
      "confidence": "high",
      "principleId": "provide-guided-navigation",
      "principleCheckId": "scroll-state-aware-chrome",
      "guidanceId": "scroll-position-aware-elements",
      "summary": "The long listing does not provide scroll-state-aware navigation or progress feedback.",
      "evidence": "Mobile layout measured 10,949px of content while the DOM/CSS probe found no scroll-state query or progress indicator.",
      "suggestedFix": "Use a small scroll-state-aware header or progress/back-to-top affordance on long listings.",
      "artifacts": [
        "evidence/home-mobile-layout.json",
        "evidence/home-mobile.png"
      ],
      "effort": "small",
      "pathId": "home",
      "url": "https://www.arabx.cam/"
    },
    {
      "id": "F4",
      "severity": "low",
      "confidence": "high",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "component-level-responsiveness",
      "guidanceId": "css",
      "summary": "Repeated video-card components depend only on viewport CSS, not their available container.",
      "evidence": "The same cards appear in one and three-column contexts, while the CSS probe found no @container or container-type usage.",
      "suggestedFix": "Make the reusable card grid container-aware so cards adapt wherever embedded.",
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/home-mobile.png",
        "evidence/platform-probe.json"
      ],
      "effort": "small",
      "pathId": "home",
      "url": "https://www.arabx.cam/"
    },
    {
      "id": "F5",
      "severity": "high",
      "confidence": "high",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "input-modality-aware",
      "guidanceId": "accessibility",
      "summary": "Keyboard focus is not visibly indicated.",
      "evidence": "The focus probe focused links, the search input, and menu button; every sampled control computed outline-style none and box-shadow none.",
      "suggestedFix": "Add a high-contrast :focus-visible indicator without suppressing native focus unless replaced.",
      "artifacts": [
        "evidence/focus-probe.json"
      ],
      "effort": "small",
      "pathId": "home",
      "url": "https://www.arabx.cam/"
    },
    {
      "id": "F6",
      "severity": "high",
      "confidence": "high",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "good-core-web-vitals",
      "guidanceId": "performance",
      "summary": "Largest Contentful Paint is outside the good range.",
      "evidence": "Raw trace measured LCP 4,278ms; Lighthouse measured 5.3s and scored LCP 0.21.",
      "suggestedFix": "Prioritise the LCP thumbnail/content, shorten dependency chains, and defer non-essential third-party scripts.",
      "artifacts": [
        "evidence/home-trace-summary.json",
        "evidence/lighthouse.json"
      ],
      "effort": "small",
      "pathId": "home",
      "url": "https://www.arabx.cam/"
    },
    {
      "id": "F7",
      "severity": "high",
      "confidence": "high",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "efficient-resource-delivery",
      "guidanceId": "optimize-image-priority",
      "summary": "Critical delivery is delayed by parser resources and third-party scripts.",
      "evidence": "HAR found parser-inserted styles/scripts and 248KB of third-party transfer; the trace measured LCP at 4.28s. DOM confirms the ad and main scripts are parser-inserted near the document end without defer/module.",
      "suggestedFix": "Keep only critical CSS on the render path, defer first-party script, and load advertising/analytics after core content or consent.",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home-dom.json",
        "evidence/home-trace-summary.json"
      ],
      "effort": "medium",
      "pathId": "home",
      "url": "https://www.arabx.cam/"
    },
    {
      "id": "F8",
      "severity": "medium",
      "confidence": "high",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "trim-unused-and-duplicate-code",
      "guidanceId": "performance",
      "summary": "The page ships substantial unused JavaScript and CSS.",
      "evidence": "Lighthouse estimates 109KiB unused JavaScript and 13KiB unused CSS.",
      "suggestedFix": "Remove unused bundles/rules and conditionally load page-specific and third-party code.",
      "artifacts": [
        "evidence/lighthouse.json"
      ],
      "effort": "medium",
      "pathId": "home",
      "url": "https://www.arabx.cam/"
    },
    {
      "id": "F9",
      "severity": "medium",
      "confidence": "high",
      "principleId": "be-inclusive",
      "principleCheckId": "structure-and-focus",
      "guidanceId": "accessibility",
      "summary": "The document lacks a main landmark and visible keyboard focus.",
      "evidence": "axe reported landmark-one-main and 12 regions outside landmarks; the focus probe found no visible outline on sampled controls.",
      "suggestedFix": "Wrap primary content in <main>, use semantic header/footer regions, and restore :focus-visible styles.",
      "artifacts": [
        "evidence/axe.json",
        "evidence/focus-probe.json"
      ],
      "effort": "small",
      "pathId": "home",
      "url": "https://www.arabx.cam/"
    },
    {
      "id": "F10",
      "severity": "medium",
      "confidence": "high",
      "principleId": "follow-best-practices",
      "principleCheckId": "no-console-errors",
      "guidanceId": "html",
      "summary": "The page logs browser errors during load.",
      "evidence": "Lighthouse errors-in-console failed with two recorded console error entries.",
      "suggestedFix": "Fix the failing network/script calls and handle expected third-party failures without uncaught console errors.",
      "artifacts": [
        "evidence/lighthouse.json"
      ],
      "effort": "small",
      "pathId": "home",
      "url": "https://www.arabx.cam/"
    },
    {
      "id": "F11",
      "severity": "low",
      "confidence": "high",
      "principleId": "follow-best-practices",
      "principleCheckId": "sound-document-and-assets",
      "guidanceId": "html",
      "summary": "Some thumbnails are rendered at insufficient resolution.",
      "evidence": "Lighthouse image-size-responsive failed for three images, despite valid dimensions and aspect ratios.",
      "suggestedFix": "Serve appropriately sized responsive image candidates with srcset/sizes.",
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/images.json"
      ],
      "effort": "small",
      "pathId": "home",
      "url": "https://www.arabx.cam/"
    },
    {
      "id": "F12",
      "severity": "medium",
      "confidence": "high",
      "principleId": "follow-best-practices",
      "principleCheckId": "browser-platform-hygiene",
      "guidanceId": "html",
      "summary": "The page triggers deprecated APIs, inspector issues, and BFCache blockers.",
      "evidence": "Lighthouse reported 16 deprecation warnings, an Inspector Issues failure, and three BFCache failure reasons.",
      "suggestedFix": "Replace deprecated APIs, resolve DevTools issues, and remove unload/cache-control patterns that prevent BFCache where possible.",
      "artifacts": [
        "evidence/lighthouse.json"
      ],
      "effort": "medium",
      "pathId": "home",
      "url": "https://www.arabx.cam/"
    },
    {
      "id": "F13",
      "severity": "medium",
      "confidence": "high",
      "principleId": "be-discoverable",
      "principleCheckId": "crawlable-and-mobile-friendly",
      "guidanceId": "html",
      "summary": "Several links are not crawlable.",
      "evidence": "Lighthouse crawlable-anchors failed and listed six non-crawlable anchors; the page otherwise has a viewport and robots access.",
      "suggestedFix": "Use real href URLs for every navigation target and buttons for non-navigation actions.",
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/home-dom.json"
      ],
      "effort": "small",
      "pathId": "home",
      "url": "https://www.arabx.cam/"
    },
    {
      "id": "F14",
      "severity": "high",
      "confidence": "high",
      "principleId": "be-private-and-secure",
      "principleCheckId": "secure-transport-and-headers",
      "guidanceId": "security",
      "summary": "Cookie and content-injection defences are incomplete.",
      "evidence": "Headers show no Content-Security-Policy. Cookie evidence found 7 cookies, all flagged insecure; PHPSESSID lacks Secure and HttpOnly, and kt_acctoken lacks HttpOnly and uses SameSite=None.",
      "suggestedFix": "Deploy a nonce/hash-based CSP and set session/account cookies Secure, HttpOnly, and SameSite=Lax/Strict unless cross-site use is essential.",
      "artifacts": [
        "evidence/headers.json",
        "evidence/cookies.json"
      ],
      "effort": "small",
      "pathId": "home",
      "url": "https://www.arabx.cam/"
    },
    {
      "id": "F15",
      "severity": "high",
      "confidence": "high",
      "principleId": "be-private-and-secure",
      "principleCheckId": "data-minimisation-and-third-parties",
      "guidanceId": "privacy",
      "summary": "The page loads a broad advertising and tracking footprint before any visible consent choice.",
      "evidence": "Tracker evidence found 13 third-party origins, including Google Analytics and multiple ad domains. HAR measured 18 third-party requests and 247,986 bytes, about half the transfer.",
      "suggestedFix": "Minimise vendors, gate non-essential analytics/ads behind an informed choice where required, and batch/defer remaining telemetry.",
      "artifacts": [
        "evidence/trackers.json",
        "evidence/home-summary.json"
      ],
      "effort": "small",
      "pathId": "home",
      "url": "https://www.arabx.cam/"
    },
    {
      "id": "F16",
      "severity": "medium",
      "confidence": "high",
      "principleId": "be-private-and-secure",
      "principleCheckId": "defensive-browser-policies",
      "guidanceId": "security",
      "summary": "Defensive browser policies are incomplete.",
      "evidence": "Referrer-Policy is missing, no CSP frame-ancestors/Trusted Types policy exists, and cookies include SameSite=None values. HSTS, nosniff, X-Frame-Options, and Permissions-Policy are present.",
      "suggestedFix": "Add a restrictive Referrer-Policy and CSP with frame-ancestors; evaluate Trusted Types for script sinks and tighten cross-site cookie use.",
      "artifacts": [
        "evidence/headers.json",
        "evidence/cookies.json"
      ],
      "effort": "small",
      "pathId": "home",
      "url": "https://www.arabx.cam/"
    },
    {
      "id": "F17",
      "severity": "medium",
      "confidence": "high",
      "principleId": "be-internationalised",
      "principleCheckId": "lang-dir-and-logical-properties",
      "guidanceId": "translator",
      "summary": "Arabic direction is implicit rather than declared and CSS is not writing-mode resilient.",
      "evidence": "The root declares lang=\"ar\" but no dir attribute; the CSS probe found no logical inline/block properties.",
      "suggestedFix": "Set dir=\"rtl\" on the root and migrate physical left/right spacing and positioning to logical properties.",
      "artifacts": [
        "evidence/platform-probe.json",
        "evidence/home-dom.json"
      ],
      "effort": "small",
      "pathId": "home",
      "url": "https://www.arabx.cam/"
    },
    {
      "id": "F18",
      "severity": "medium",
      "confidence": "high",
      "principleId": "be-sustainable",
      "principleCheckId": "optimised-assets",
      "guidanceId": "deliver-optimized-decorative-images",
      "summary": "Image delivery lacks responsive and modern formats.",
      "evidence": "The images primitive found 31/31 images without srcset, 7 legacy PNG/JPEG resources, and no modern-format image; Lighthouse also found low-resolution thumbnails.",
      "suggestedFix": "Generate AVIF/WebP candidates, add srcset/sizes, and retain explicit dimensions.",
      "artifacts": [
        "evidence/images.json",
        "evidence/lighthouse.json"
      ],
      "effort": "medium",
      "pathId": "home",
      "url": "https://www.arabx.cam/"
    },
    {
      "id": "F19",
      "severity": "medium",
      "confidence": "high",
      "principleId": "be-sustainable",
      "principleCheckId": "no-wasteful-work",
      "guidanceId": "efficient-background-processing",
      "summary": "Non-core advertising work runs during initial load.",
      "evidence": "HAR shows several ad/analytics scripts on the initial path; trace records three long tasks and the slowest third-party requests take 1.2–2.1s.",
      "suggestedFix": "Defer vendor work until after core content/interaction or consent, and pause non-visible/background processing.",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home-trace-summary.json"
      ],
      "effort": "small",
      "pathId": "home",
      "url": "https://www.arabx.cam/"
    },
    {
      "id": "F20",
      "severity": "medium",
      "confidence": "high",
      "principleId": "be-sustainable",
      "principleCheckId": "third-party-and-media-budget",
      "guidanceId": "efficient-background-processing",
      "summary": "Third-party code consumes a disproportionate share of the lightweight listing page.",
      "evidence": "HAR measured 247,986 of 493,497 transferred bytes from third parties, with Google Tag Manager alone transferring 162,176 bytes.",
      "suggestedFix": "Set a third-party byte/request budget and replace or remove vendors that exceed their user value.",
      "artifacts": [
        "evidence/home-summary.json"
      ],
      "effort": "small",
      "pathId": "home",
      "url": "https://www.arabx.cam/"
    }
  ],
  "taskList": [
    {
      "id": "T1",
      "title": "Secure cookies and deploy CSP/policy headers",
      "priority": 1,
      "findingIds": [
        "F14",
        "F16"
      ],
      "guidanceId": "security",
      "status": "open"
    },
    {
      "id": "T2",
      "title": "Reduce and defer third-party advertising/analytics",
      "priority": 2,
      "findingIds": [
        "F6",
        "F7",
        "F15",
        "F19",
        "F20"
      ],
      "guidanceId": "privacy",
      "status": "open"
    },
    {
      "id": "T3",
      "title": "Restore keyboard focus and semantic landmarks",
      "priority": 3,
      "findingIds": [
        "F5",
        "F9"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T4",
      "title": "Optimise LCP and resource discovery",
      "priority": 4,
      "findingIds": [
        "F6",
        "F7"
      ],
      "guidanceId": "performance",
      "status": "open"
    },
    {
      "id": "T5",
      "title": "Add responsive modern image delivery",
      "priority": 5,
      "findingIds": [
        "F11",
        "F18"
      ],
      "guidanceId": "deliver-optimized-decorative-images",
      "status": "open"
    },
    {
      "id": "T6",
      "title": "Remove unused/deprecated code and runtime errors",
      "priority": 6,
      "findingIds": [
        "F8",
        "F10",
        "F12"
      ],
      "guidanceId": "html",
      "status": "open"
    },
    {
      "id": "T7",
      "title": "Add preference-driven dark mode",
      "priority": 7,
      "findingIds": [
        "F1"
      ],
      "guidanceId": "dark-mode",
      "status": "open"
    },
    {
      "id": "T8",
      "title": "Fix crawlable links and RTL declarations",
      "priority": 8,
      "findingIds": [
        "F13",
        "F17"
      ],
      "guidanceId": "html",
      "status": "open"
    },
    {
      "id": "T9",
      "title": "Progressively enhance navigation and components",
      "priority": 9,
      "findingIds": [
        "F2",
        "F3",
        "F4"
      ],
      "guidanceId": "css",
      "status": "open"
    }
  ],
  "budget": {
    "pathCount": 5,
    "auditPasses": 1
  },
  "agent": "pi",
  "runId": "2026-07-23T20-09-57-065Z"
}
