{
  "url": "https://musicdel.ir",
  "auditedAt": "2026-07-22T22:16:07.109Z",
  "mode": "report",
  "status": "completed",
  "statusDetail": "Coverage-complete audit across homepage, listing, track detail, playlist, authentication, and error-state paths.",
  "page": {
    "appType": "mpa",
    "framework": "WordPress",
    "notes": "Persian RTL public music catalogue with server-rendered archive/detail pages, direct audio downloads, and account entry."
  },
  "evidenceUsed": [
    "screenshot",
    "dom",
    "evaluate-probe",
    "layout-metrics",
    "trace",
    "har",
    "discoverability",
    "images",
    "headers",
    "cookies",
    "trackers",
    "secrets",
    "heap-summary",
    "lighthouse",
    "curl-status"
  ],
  "guidanceConsulted": [
    "dark-mode",
    "component-specific-light-dark-theme",
    "accessibility",
    "adapt-scrollbar-to-contrast-preferences",
    "same-document-transitions",
    "cross-document-transitions",
    "group-element-transitions",
    "faster-spa-view-transitions",
    "scrollytelling",
    "parallax-scroll-effects",
    "scroll-entry-exit-effects",
    "carousel-slide-effects",
    "physics-based-easing",
    "individual-transform-properties",
    "animate-element-entry-exit",
    "animate-to-from-top-layer",
    "animate-to-intrinsic-sizes",
    "dynamic-sibling-animations",
    "interactive-content-reveal",
    "pull-to-reveal",
    "swipe-to-remove",
    "shrinking-header-on-scroll",
    "scroll-progress-indicator",
    "scroll-position-aware-elements",
    "scroll-snap-realtime-feedback",
    "scroll-snap-state-sync",
    "scroll-target-on-load",
    "soft-edge-content-fade",
    "scrollability-affordance-hints",
    "anchor-positioning-tab-underline",
    "position-aware-tooltips",
    "interest-triggered-tooltips",
    "interest-triggered-action-previews",
    "directional-navigation-transitions",
    "carousel-snap-highlights",
    "navigation-drawer",
    "stack-drill-down",
    "persistent-app-tours",
    "persistent-toast-notifications",
    "light-dismiss-a-dialog",
    "platform-controls-dismiss-dialog",
    "declarative-dialog-popover-control",
    "animated-select-picker",
    "branded-select-styling",
    "brand-consistent-forms",
    "custom-select-picker-layouts",
    "rich-media-picker",
    "complex-shapes",
    "shaped-cutouts",
    "overflow-clipping-control",
    "visually-texture-content",
    "apply-webgl-shaders",
    "interactive-content-in-3d-scenes",
    "highlight-text-ranges",
    "prevent-text-wrapping",
    "customize-scrollbar-color-and-thickness",
    "export-html-media-from-canvas",
    "fluid-scaling",
    "calculate-with-intrinsic-sizes",
    "css-layout",
    "size-aware-styling",
    "content-based-styling",
    "child-state-based-styling",
    "design-token-reactivity",
    "dynamic-sibling-styling",
    "form-fields-automatically-fit-contents",
    "improve-text-layout-and-legibility",
    "forms",
    "accessible-error-announcement",
    "required-field-feedback",
    "validate-input-after-interaction",
    "identify-inp-causes",
    "schedule-tasks-by-priority",
    "optimize-preload-priority",
    "improve-next-page-load-performance",
    "interactions-in-complex-layouts",
    "performance",
    "visually-stable-font-fallbacks",
    "break-up-long-tasks",
    "identify-heavy-scripts",
    "optimize-script-priority",
    "defer-rendering-heavy-content",
    "defer-work-until-scroll-ends",
    "optimize-image-priority",
    "conditional-async-dependencies",
    "expose-canvas-content-to-browser-features",
    "move-dom-element-without-losing-state",
    "precise-text-alignment",
    "visually-stable-mixed-fonts",
    "css",
    "html",
    "reduce-style-repetition",
    "security",
    "privacy",
    "batch-analytics-events",
    "full-session-analytics",
    "calculate-total-foreground-time",
    "passkeys",
    "passkey-registration",
    "passkey-authentication",
    "passkey-reauthentication",
    "passkey-conditional-create",
    "passkey-management",
    "flicker-free-client-side-ab-testing",
    "consistent-cross-document-transitions",
    "stabilize-reactive-state",
    "resilient-context-menus-and-nested-dropdowns",
    "persistent-top-layer-ui",
    "detect-initial-visibility-state",
    "sequence-distributed-events",
    "translator",
    "language-detection",
    "support-global-calendar-systems",
    "capture-location-agnostic-data",
    "format-human-readable-durations",
    "manage-recurring-intervals",
    "calculate-event-differentials",
    "coordinate-global-events",
    "model-partial-time-concepts",
    "search-hidden-content",
    "select-menu-interaction",
    "style-parent-with-has",
    "autofill-address-form",
    "autofill-payment-form",
    "autofill-sign-in-form",
    "autofill-sign-up-form",
    "autofill-highlight-inputs",
    "deliver-optimized-decorative-images",
    "resolution-optimized-pseudo-elements",
    "deprioritize-background-fetches",
    "efficient-background-processing",
    "webmcp",
    "agentic-forms",
    "agentic-javascript-tools",
    "language-model",
    "summarizer"
  ],
  "artifacts": [
    {
      "type": "other",
      "path": "evidence/auth-entry-probe.json",
      "caption": "auth entry probe",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/auth-mobile.png",
      "caption": "auth mobile",
      "condition": "viewport 360x800",
      "findingIds": [
        "F15"
      ]
    },
    {
      "type": "other",
      "path": "evidence/auth-probe.json",
      "caption": "auth probe",
      "findingIds": [
        "F15"
      ]
    },
    {
      "type": "other",
      "path": "evidence/auth-validation-probe.json",
      "caption": "auth validation probe",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/detail-discoverability-crawler.png",
      "caption": "detail discoverability crawler",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/detail-discoverability-rendered.png",
      "caption": "detail discoverability rendered",
      "findingIds": []
    },
    {
      "type": "discoverability",
      "path": "evidence/detail-discoverability.json",
      "caption": "detail discoverability",
      "findingIds": []
    },
    {
      "type": "dom",
      "path": "evidence/detail-dom.json",
      "caption": "detail dom",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/detail-download-flow.json",
      "caption": "detail download flow",
      "findingIds": []
    },
    {
      "type": "layout",
      "path": "evidence/detail-layout-mobile.json",
      "caption": "detail layout mobile",
      "condition": "viewport 360x800",
      "findingIds": [
        "F10"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/detail-mobile.png",
      "caption": "detail mobile",
      "condition": "viewport 360x800",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/detail-probe.json",
      "caption": "detail probe",
      "findingIds": [
        "F03",
        "F07"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-contrast-probe.json",
      "caption": "home contrast probe",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/home-cookies.json",
      "caption": "home cookies",
      "findingIds": [
        "F11",
        "F12"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-desktop.png",
      "caption": "home desktop",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/home-discoverability-crawler.png",
      "caption": "home discoverability crawler",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/home-discoverability-rendered.png",
      "caption": "home discoverability rendered",
      "findingIds": []
    },
    {
      "type": "discoverability",
      "path": "evidence/home-discoverability.json",
      "caption": "home discoverability",
      "findingIds": []
    },
    {
      "type": "dom",
      "path": "evidence/home-dom.json",
      "caption": "home dom",
      "findingIds": [
        "F01",
        "F02",
        "F06"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-forced-colors.png",
      "caption": "home forced colors",
      "condition": "forced-colors: active, prefers-contrast: more",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/home-headers.json",
      "caption": "home headers",
      "findingIds": [
        "F11",
        "F13"
      ]
    },
    {
      "type": "heap",
      "path": "evidence/home-heap-baseline.heapsnapshot",
      "caption": "home heap baseline",
      "findingIds": []
    },
    {
      "type": "heap",
      "path": "evidence/home-heap-post.heapsnapshot",
      "caption": "home heap post",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/home-images.json",
      "caption": "home images",
      "findingIds": [
        "F07",
        "F16"
      ]
    },
    {
      "type": "layout",
      "path": "evidence/home-layout-mobile.json",
      "caption": "home layout mobile",
      "condition": "viewport 360x800",
      "findingIds": [
        "F02",
        "F10"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-light-preference.png",
      "caption": "home light preference",
      "condition": "prefers-color-scheme: light",
      "findingIds": [
        "F08"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-light-probe.json",
      "caption": "home light probe",
      "condition": "prefers-color-scheme: light",
      "findingIds": []
    },
    {
      "type": "lighthouse",
      "path": "evidence/home-lighthouse-selected.json",
      "caption": "home lighthouse selected",
      "findingIds": [
        "F09"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/home-lighthouse-summary.json",
      "caption": "home lighthouse summary",
      "findingIds": [
        "F05",
        "F06"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/home-lighthouse.json",
      "caption": "home lighthouse",
      "findingIds": [
        "F05",
        "F07",
        "F08"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-memory-metrics.json",
      "caption": "home memory metrics",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/home-mobile.png",
      "caption": "home mobile",
      "condition": "viewport 360x800",
      "findingIds": [
        "F02",
        "F03",
        "F08"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-probe.json",
      "caption": "home probe",
      "findingIds": [
        "F03",
        "F07",
        "F09",
        "F10"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-reduced-motion-probe.json",
      "caption": "home reduced motion probe",
      "condition": "prefers-reduced-motion: reduce",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/home-reduced-motion.png",
      "caption": "home reduced motion",
      "condition": "prefers-reduced-motion: reduce",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/home-secrets.json",
      "caption": "home secrets",
      "findingIds": []
    },
    {
      "type": "har-summary",
      "path": "evidence/home-summary.json",
      "caption": "home summary",
      "findingIds": [
        "F06",
        "F12",
        "F16"
      ]
    },
    {
      "type": "trace-summary",
      "path": "evidence/home-trace-summary.json",
      "caption": "home trace summary",
      "findingIds": [
        "F05"
      ]
    },
    {
      "type": "trace",
      "path": "evidence/home-trace.json",
      "caption": "home trace",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/home-trackers.json",
      "caption": "home trackers",
      "findingIds": [
        "F12"
      ]
    },
    {
      "type": "har",
      "path": "evidence/home.har",
      "caption": "home",
      "findingIds": [
        "F06",
        "F16"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/listing-mobile.png",
      "caption": "listing mobile",
      "condition": "viewport 360x800",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/not-found-http-status.txt",
      "caption": "not found http status",
      "findingIds": [
        "F04",
        "F14"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/not-found-mobile.png",
      "caption": "not found mobile",
      "condition": "viewport 360x800",
      "findingIds": [
        "F04"
      ]
    },
    {
      "type": "other",
      "path": "evidence/not-found-probe.json",
      "caption": "not found probe",
      "findingIds": [
        "F04",
        "F14"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/playlist-mobile.png",
      "caption": "playlist mobile",
      "condition": "viewport 360x800",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/recon-robots-sitemap.json",
      "caption": "recon robots sitemap",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/robots.txt",
      "caption": "robots",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/sitemap-index.xml",
      "caption": "sitemap index",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/sitemap.xml",
      "caption": "sitemap",
      "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": "pass",
      "confidence": "high",
      "method": "Emulated light and dark preference screenshots plus computed-style probe",
      "evidence": "Light preference produces a light surface and dark preference produces a dark surface; both remain usable.",
      "artifacts": [
        "evidence/home-light-preference.png",
        "evidence/home-light-probe.json",
        "evidence/home-desktop.png"
      ],
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-reduced-motion",
      "status": "pass",
      "confidence": "high",
      "method": "Compared normal and reduced-motion animation probes",
      "evidence": "Three 300 ms animations exist normally; under reduce, getAnimations() returned none and scroll behavior remained auto.",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/home-reduced-motion-probe.json"
      ],
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-contrast",
      "status": "pass",
      "confidence": "high",
      "method": "Forced-colors screenshot and computed styles",
      "evidence": "Forced-colors mode mapped links to yellow, text to white, and surfaces to black with visible borders and controls.",
      "artifacts": [
        "evidence/home-forced-colors.png",
        "evidence/home-contrast-probe.json"
      ],
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "view-transitions",
      "status": "issues",
      "confidence": "high",
      "method": "DOM/CSS inspection",
      "evidence": "No View Transition declarations were found for this multi-page site.",
      "artifacts": [
        "evidence/home-dom.json"
      ],
      "pathIds": [
        "home"
      ],
      "findingIds": [
        "F01"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "scroll-driven-animations",
      "status": "pass",
      "confidence": "medium",
      "method": "CSS and runtime animation inspection",
      "evidence": "No scroll-linked effects or scroll-handler-driven animation were observed; therefore no main-thread scroll animation anti-pattern is present.",
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/home-probe.json"
      ],
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "physical-gestures",
      "status": "pass",
      "confidence": "high",
      "method": "CSS inspection and mobile screenshots",
      "evidence": "Horizontal content rows use native scrolling with scroll-snap declarations, and no custom pointer-driven gesture was required for the core flow.",
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/home-mobile.png"
      ],
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "scroll-state-aware-chrome",
      "status": "issues",
      "confidence": "high",
      "method": "Long-page layout and CSS inspection",
      "evidence": "The homepage is 18,490 px tall and has no scroll-state-aware chrome or progress indicator.",
      "artifacts": [
        "evidence/home-layout-mobile.json",
        "evidence/home-dom.json"
      ],
      "pathIds": [
        "home"
      ],
      "findingIds": [
        "F02"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "anchored-positioning",
      "status": "not-applicable",
      "confidence": "high",
      "method": "DOM and interaction inventory",
      "evidence": "No tooltip, anchored popover, or edge-sensitive menu is part of the representative paths, so anchor positioning has no applicable target.",
      "artifacts": [
        "evidence/home-probe.json"
      ],
      "pathIds": [
        "home"
      ],
      "reason": "No tooltip, anchored popover, or edge-sensitive menu is part of the representative paths, so anchor positioning has no applicable target."
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "directs-attention",
      "status": "pass",
      "confidence": "high",
      "method": "Detail flow DOM and screenshot review",
      "evidence": "Breadcrumbs, a named jump link to #ms, and descriptive download controls guide users from the track heading to the primary action.",
      "artifacts": [
        "evidence/detail-download-flow.json",
        "evidence/detail-mobile.png"
      ],
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "no-intrusive-interruptions",
      "status": "pass",
      "confidence": "high",
      "method": "Load screenshots across four archetypes",
      "evidence": "No popup or interstitial obscures content on load; primary content begins immediately.",
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/listing-mobile.png",
        "evidence/detail-mobile.png",
        "evidence/playlist-mobile.png"
      ],
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "semantic-dismissible-primitives",
      "status": "pass",
      "confidence": "high",
      "method": "DOM primitive and semantic probe",
      "evidence": "The transient homepage search UI uses a native dialog; no ad-hoc modal was present on audited paths.",
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/home-probe.json"
      ],
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "reduced-chrome",
      "status": "pass",
      "confidence": "medium",
      "method": "Visual review across representative mobile pages",
      "evidence": "Chrome is limited to compact navigation/search and content cards; the music and download content dominates each path.",
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/listing-mobile.png",
        "evidence/detail-mobile.png"
      ],
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "responsive-no-horizontal-scroll",
      "status": "pass",
      "confidence": "high",
      "method": "360×800 layout metrics on home and detail",
      "evidence": "Both templates report scrollWidth=clientWidth=360, zero horizontal overflow, and a valid viewport meta tag.",
      "artifacts": [
        "evidence/home-layout-mobile.json",
        "evidence/detail-layout-mobile.json"
      ],
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "component-level-responsiveness",
      "status": "pass",
      "confidence": "high",
      "method": "Rendered CSS inspection and representative screenshots",
      "evidence": "Rendered CSS contains @container/container-type and cards reflow across desktop and mobile captures.",
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/home-desktop.png",
        "evidence/home-mobile.png"
      ],
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "input-modality-aware",
      "status": "issues",
      "confidence": "high",
      "method": "Target-size and keyboard-focus probe",
      "evidence": "Focus outlines are present, but several key controls measure below comfortable touch size.",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/detail-probe.json"
      ],
      "pathIds": [
        "home"
      ],
      "findingIds": [
        "F03"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-purpose-and-primary-action",
      "status": "pass",
      "confidence": "high",
      "method": "First-viewport and heading review",
      "evidence": "The site purpose, search, categories, track names, and detail-page download intent are explicit in Persian.",
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/detail-mobile.png",
        "evidence/home-probe.json"
      ],
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "primary-flow-completion",
      "status": "pass",
      "confidence": "high",
      "method": "Track discovery-to-download walkthrough",
      "evidence": "A listing leads to a detail page with a jump link, playable audio, and direct 320/128/64 kbps MP3 links.",
      "artifacts": [
        "evidence/listing-mobile.png",
        "evidence/detail-download-flow.json"
      ],
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-system-state-and-recovery",
      "status": "issues",
      "confidence": "high",
      "method": "Deliberate unknown-route request",
      "evidence": "A nonexistent path redirects to the homepage with no error state or explanation.",
      "artifacts": [
        "evidence/not-found-http-status.txt",
        "evidence/not-found-probe.json"
      ],
      "pathIds": [
        "error"
      ],
      "findingIds": [
        "F04"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "good-core-web-vitals",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse plus CDP trace",
      "evidence": "Lighthouse LCP is 7.1 s and performance is 0.66; CLS is 0 and TBT is 80 ms.",
      "artifacts": [
        "evidence/home-lighthouse-summary.json",
        "evidence/home-trace-summary.json"
      ],
      "pathIds": [
        "home"
      ],
      "findingIds": [
        "F05"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "visual-stability",
      "status": "pass",
      "confidence": "high",
      "method": "Layout observer and Lighthouse",
      "evidence": "Home and detail observed CLS=0 with no shifts; Lighthouse also reports CLS 0.",
      "artifacts": [
        "evidence/home-layout-mobile.json",
        "evidence/detail-layout-mobile.json",
        "evidence/home-lighthouse-summary.json"
      ],
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-main-thread",
      "status": "pass",
      "confidence": "high",
      "method": "CDP trace and long-task observer",
      "evidence": "Trace TBT is 40 ms with one 90 ms long task; Lighthouse TBT is 80 ms, both indicating a light main thread.",
      "artifacts": [
        "evidence/home-trace-summary.json",
        "evidence/home-layout-mobile.json",
        "evidence/home-lighthouse-summary.json"
      ],
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-resource-delivery",
      "status": "issues",
      "confidence": "high",
      "method": "HAR, DOM confirmation, and Lighthouse diagnostics",
      "evidence": "Ten parser-inserted high-priority stylesheets and weak image caching create avoidable delivery cost.",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home-dom.json",
        "evidence/home-lighthouse-summary.json"
      ],
      "pathIds": [
        "home"
      ],
      "findingIds": [
        "F06"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "trim-unused-and-duplicate-code",
      "status": "pass",
      "confidence": "medium",
      "method": "HAR and Lighthouse diagnostics",
      "evidence": "Only 66.8 KB of scripts transferred and Lighthouse did not flag large unused/duplicate JavaScript; the only minification saving was about 3 KiB CSS.",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home-lighthouse-summary.json"
      ],
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "names-roles-labels",
      "status": "issues",
      "confidence": "high",
      "method": "Images primitive, DOM probe, and Lighthouse",
      "evidence": "Twenty-six images lack alt text, search is unlabeled, and the detail template contains many unnamed links.",
      "artifacts": [
        "evidence/home-images.json",
        "evidence/home-probe.json",
        "evidence/detail-probe.json"
      ],
      "pathIds": [
        "home"
      ],
      "findingIds": [
        "F07"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "sufficient-contrast",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse contrast audit and theme screenshots",
      "evidence": "Lighthouse fails the color-contrast audit and muted search text is visibly faint.",
      "artifacts": [
        "evidence/home-lighthouse.json",
        "evidence/home-light-preference.png"
      ],
      "pathIds": [
        "home"
      ],
      "findingIds": [
        "F08"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "structure-and-focus",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse structure audits and focus probe",
      "evidence": "Focus is visible, but the homepage has no main landmark and H1 follows several H2s.",
      "artifacts": [
        "evidence/home-lighthouse-selected.json",
        "evidence/home-probe.json"
      ],
      "pathIds": [
        "home"
      ],
      "findingIds": [
        "F09"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "legible-text",
      "status": "pass",
      "confidence": "medium",
      "method": "Mobile screenshots across content templates",
      "evidence": "Body and heading text are unclipped and comfortably spaced in RTL layouts on audited mobile pages.",
      "artifacts": [
        "evidence/listing-mobile.png",
        "evidence/detail-mobile.png",
        "evidence/playlist-mobile.png"
      ],
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "zoom-reflow-targets-and-media",
      "status": "issues",
      "confidence": "high",
      "method": "Viewport, target-size, and media probe",
      "evidence": "Scaling is permitted and pages reflow, but several core targets are below 44×44 px.",
      "artifacts": [
        "evidence/home-layout-mobile.json",
        "evidence/home-probe.json",
        "evidence/detail-probe.json"
      ],
      "pathIds": [
        "home"
      ],
      "findingIds": [
        "F10"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "no-console-errors",
      "status": "pass",
      "confidence": "high",
      "method": "Lighthouse console audit",
      "evidence": "Lighthouse best-practices score is 1.0 and errors-in-console passed.",
      "artifacts": [
        "evidence/home-lighthouse.json",
        "evidence/home-lighthouse-selected.json"
      ],
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "sound-document-and-assets",
      "status": "pass",
      "confidence": "high",
      "method": "DOM, image, and Lighthouse best-practices audits",
      "evidence": "HTML has doctype/UTF-8; images reserve dimensions, aspect ratio audits pass, and Lighthouse best practices scores 1.0.",
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/home-images.json",
        "evidence/home-lighthouse.json"
      ],
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "browser-platform-hygiene",
      "status": "pass",
      "confidence": "high",
      "method": "Selected Lighthouse browser hygiene audits",
      "evidence": "No deprecated API, inspector, prompt-on-load, vulnerable-library, paste-prevention, or BFCache failure was reported.",
      "artifacts": [
        "evidence/home-lighthouse-selected.json"
      ],
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "title-and-description",
      "status": "pass",
      "confidence": "high",
      "method": "DOM probes across home and detail",
      "evidence": "Both representative pages expose unique descriptive titles and meta descriptions.",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/detail-probe.json"
      ],
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "crawlable-and-mobile-friendly",
      "status": "pass",
      "confidence": "high",
      "method": "DOM, robots, and Lighthouse SEO",
      "evidence": "Links use real hrefs, viewport meta is present, robots permits public content, and Lighthouse SEO is 1.0.",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/robots.txt",
        "evidence/home-lighthouse.json"
      ],
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "canonical-and-indexing-signals",
      "status": "pass",
      "confidence": "high",
      "method": "Canonical/robots probes and sitemap inspection",
      "evidence": "Pages return 200, canonical URLs and index/follow metadata are present, and robots.txt points to a populated sitemap index.",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/detail-probe.json",
        "evidence/robots.txt",
        "evidence/sitemap-index.xml"
      ],
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "structured-and-shareable-metadata",
      "status": "pass",
      "confidence": "high",
      "method": "JSON-LD and Open Graph probe",
      "evidence": "Home and track detail contain JSON-LD plus accurate Open Graph title, description, URL, and image/audio metadata.",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/detail-probe.json"
      ],
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "secure-transport-and-headers",
      "status": "issues",
      "confidence": "high",
      "method": "Headers, cookies, and secret scan",
      "evidence": "HTTPS/HSTS are present and no secrets were found, but CSP is absent and five cookies lack Secure.",
      "artifacts": [
        "evidence/home-headers.json",
        "evidence/home-cookies.json",
        "evidence/home-secrets.json"
      ],
      "pathIds": [
        "home"
      ],
      "findingIds": [
        "F11"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "data-minimisation-and-third-parties",
      "status": "issues",
      "confidence": "high",
      "method": "Tracker, cookie, and HAR inspection",
      "evidence": "Legacy Google Analytics sets persistent __utm identifiers, including a 400-day cookie.",
      "artifacts": [
        "evidence/home-trackers.json",
        "evidence/home-cookies.json",
        "evidence/home-summary.json"
      ],
      "pathIds": [
        "home"
      ],
      "findingIds": [
        "F12"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "in-context-permissions-and-modern-auth",
      "status": "pass",
      "confidence": "medium",
      "method": "Load behavior and authentication surface probe",
      "evidence": "No permission prompt occurs on load; sign-in offers OTP and Google identity rather than requiring a password alone.",
      "artifacts": [
        "evidence/auth-probe.json",
        "evidence/auth-mobile.png",
        "evidence/home-lighthouse-selected.json"
      ],
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "defensive-browser-policies",
      "status": "issues",
      "confidence": "high",
      "method": "Security header inspection",
      "evidence": "HSTS, nosniff, SAMEORIGIN and Referrer-Policy are present, but Permissions-Policy and CSP are absent.",
      "artifacts": [
        "evidence/home-headers.json"
      ],
      "pathIds": [
        "home"
      ],
      "findingIds": [
        "F13"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "progressive-enhancement",
      "status": "pass",
      "confidence": "high",
      "method": "No-JS discoverability on home and detail",
      "evidence": "Raw HTML preserves 100% reported content coverage, titles, H1s and descriptions on both core templates.",
      "artifacts": [
        "evidence/home-discoverability.json",
        "evidence/home-discoverability-crawler.png",
        "evidence/detail-discoverability.json"
      ],
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "resilient-runtime-behaviour",
      "status": "pass",
      "confidence": "medium",
      "method": "Representative path screenshots and runtime probes",
      "evidence": "Search/dialog, content rows, audio and download controls render without clipping or broken async state on audited paths.",
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/detail-mobile.png",
        "evidence/detail-download-flow.json"
      ],
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "offline-and-installable",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Site-type and capability judgement",
      "evidence": "This is a public music/download content MPA rather than an installed application; a service worker exists, but installability is not required for its core task.",
      "artifacts": [
        "evidence/home-probe.json"
      ],
      "pathIds": [
        "home"
      ],
      "reason": "This is a public music/download content MPA rather than an installed application; a service worker exists, but installability is not required for its core task."
    },
    {
      "principleId": "be-resilient",
      "checkId": "network-and-http-failure-states",
      "status": "issues",
      "confidence": "high",
      "method": "Unknown-route failure test",
      "evidence": "A nonexistent URL redirects to an ordinary homepage and does not expose a truthful, recoverable 404 state.",
      "artifacts": [
        "evidence/not-found-http-status.txt",
        "evidence/not-found-probe.json"
      ],
      "pathIds": [
        "error"
      ],
      "findingIds": [
        "F14"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "lang-dir-and-logical-properties",
      "status": "pass",
      "confidence": "high",
      "method": "DOM and rendered CSS inspection",
      "evidence": "The document uses lang=fa-IR and dir=rtl; rendered CSS includes logical inline properties and RTL layouts are correct.",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/home-dom.json",
        "evidence/home-mobile.png"
      ],
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "locale-aware-data",
      "status": "pass",
      "confidence": "medium",
      "method": "Rendered detail metadata review",
      "evidence": "The track page presents Persian month/year and RTL-localized date/time content rather than raw machine timestamps.",
      "artifacts": [
        "evidence/detail-mobile.png",
        "evidence/detail-probe.json"
      ],
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "time-zone-correctness",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Content model review",
      "evidence": "Audited music pages do not coordinate cross-zone events, recurring schedules, or user-entered times, so time-zone/DST handling is not applicable.",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/detail-probe.json"
      ],
      "pathIds": [
        "home"
      ],
      "reason": "Audited music pages do not coordinate cross-zone events, recurring schedules, or user-entered times, so time-zone/DST handling is not applicable."
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "no-dark-patterns",
      "status": "pass",
      "confidence": "medium",
      "method": "Homepage, detail, playlist, and auth visual review",
      "evidence": "No confirmshaming, forced continuity, disguised ad control, autoplay, or consent wall appeared; registration is optional.",
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/detail-mobile.png",
        "evidence/playlist-mobile.png",
        "evidence/auth-mobile.png"
      ],
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "humane-error-handling",
      "status": "pass",
      "confidence": "medium",
      "method": "Authentication validation probe",
      "evidence": "The sign-in UI uses native required-field validation and clear labels; the visible mobile-number step is simple and reversible.",
      "artifacts": [
        "evidence/auth-validation-probe.json",
        "evidence/auth-mobile.png"
      ],
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "trustworthy-input-assistance",
      "status": "issues",
      "confidence": "high",
      "method": "Authentication field autocomplete probe",
      "evidence": "Telephone, password and email fields omit relevant autocomplete tokens; only OTP fields use one-time-code.",
      "artifacts": [
        "evidence/auth-probe.json"
      ],
      "pathIds": [
        "auth"
      ],
      "findingIds": [
        "F15"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "safe-commercial-and-account-flows",
      "status": "pass",
      "confidence": "medium",
      "method": "Authentication flow visual/probe review",
      "evidence": "The account entry clearly offers mobile/email, one-time code and Google sign-in without hidden pricing, continuity, or purchase commitment.",
      "artifacts": [
        "evidence/auth-mobile.png",
        "evidence/auth-probe.json"
      ],
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "optimised-assets",
      "status": "issues",
      "confidence": "high",
      "method": "Images primitive and HAR",
      "evidence": "All 100 audited images use legacy formats; four are oversized and images transfer 1.37 MB.",
      "artifacts": [
        "evidence/home-images.json",
        "evidence/home-summary.json"
      ],
      "pathIds": [
        "home"
      ],
      "findingIds": [
        "F16"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "no-wasteful-work",
      "status": "pass",
      "confidence": "medium",
      "method": "Trace, HAR, and autoplay probe",
      "evidence": "Script transfer is 66.8 KB, TBT is 40–80 ms, no autoplay media exists, and no wasteful background loop was observed.",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home-trace-summary.json",
        "evidence/home-probe.json"
      ],
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "third-party-and-media-budget",
      "status": "pass",
      "confidence": "medium",
      "method": "HAR and tracker review",
      "evidence": "Third-party analytics transfers about 18 KB, media does not autoplay, and audio uses preload=none; most subdomain bytes directly serve content images/audio.",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home-trackers.json",
        "evidence/detail-download-flow.json"
      ],
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "structured-agent-capabilities",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Contextual applicability judgement",
      "evidence": "The public music catalogue has no declared agent-facing transaction/tool surface; WebMCP absence is an opportunity, not a failure.",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/home-discoverability.json"
      ],
      "pathIds": [
        "home"
      ],
      "reason": "The public music catalogue has no declared agent-facing transaction/tool surface; WebMCP absence is an opportunity, not a failure."
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "on-device-inference",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Contextual applicability judgement",
      "evidence": "The audited search/download experience has no inference task that requires an on-device language model or summarizer.",
      "artifacts": [
        "evidence/home-probe.json"
      ],
      "pathIds": [
        "home"
      ],
      "reason": "The audited search/download experience has no inference task that requires an on-device language model or summarizer."
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-leak-under-repeated-interaction",
      "status": "pass",
      "confidence": "medium",
      "method": "Baseline/post heap summaries and repeated search open/close metrics",
      "evidence": "After ten search open/close cycles, DOM nodes were unchanged and JS heap moved only 13 KB; snapshot totals rose about 1.8% with no constructor accumulation.",
      "artifacts": [
        "evidence/home-heap-baseline.heapsnapshot",
        "evidence/home-heap-post.heapsnapshot",
        "evidence/home-memory-metrics.json"
      ],
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "bounded-footprint",
      "status": "pass",
      "confidence": "high",
      "method": "Heap summary and DOM metrics",
      "evidence": "Baseline heap self-size is 9.64 MB for a content-heavy page with 1,436 DOM elements, proportionate to the page.",
      "artifacts": [
        "evidence/home-heap-baseline.heapsnapshot",
        "evidence/home-memory-metrics.json"
      ],
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-detached-dom-or-unbounded-listeners",
      "status": "pass",
      "confidence": "medium",
      "method": "Before/after heap constructor comparison and DOM count",
      "evidence": "Neither heap summary reports Detached* constructors; constructor counts remain stable and DOM node count does not grow after repeated interaction.",
      "artifacts": [
        "evidence/home-heap-baseline.heapsnapshot",
        "evidence/home-heap-post.heapsnapshot",
        "evidence/home-memory-metrics.json"
      ],
      "pathIds": [
        "home"
      ]
    }
  ],
  "principleOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "expectation": "default",
      "status": "pass",
      "findingIds": []
    },
    {
      "principleId": "implement-natural-interactions",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F01"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F02"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "expectation": "default",
      "status": "pass",
      "findingIds": []
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F03"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F04"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F05",
        "F06"
      ]
    },
    {
      "principleId": "be-inclusive",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F07",
        "F08",
        "F09",
        "F10"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "expectation": "default",
      "status": "pass",
      "findingIds": []
    },
    {
      "principleId": "be-discoverable",
      "expectation": "default",
      "status": "pass",
      "findingIds": []
    },
    {
      "principleId": "be-private-and-secure",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F11",
        "F12",
        "F13"
      ]
    },
    {
      "principleId": "be-resilient",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F14"
      ]
    },
    {
      "principleId": "be-internationalised",
      "expectation": "contextual",
      "status": "pass",
      "findingIds": []
    },
    {
      "principleId": "be-trustworthy",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F15"
      ]
    },
    {
      "principleId": "be-sustainable",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F16"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "expectation": "contextual",
      "status": "not-applicable",
      "findingIds": [],
      "reason": "The public music catalogue has no declared agent-facing transaction/tool surface; WebMCP absence is an opportunity, not a failure. The audited search/download experience has no inference task that requires an on-device language model or summarizer."
    },
    {
      "principleId": "be-memory-efficient",
      "expectation": "default",
      "status": "pass",
      "findingIds": []
    }
  ],
  "paths": [
    {
      "id": "home",
      "description": "Homepage and global shell: entry point, navigation, search, themes, performance, accessibility, privacy and long-page behavior.",
      "url": "https://musicdel.ir/",
      "conditions": [
        "desktop",
        "viewport 360x800",
        "prefers-color-scheme: light/dark",
        "prefers-reduced-motion: reduce",
        "forced-colors: active",
        "keyboard focus"
      ],
      "result": "issues"
    },
    {
      "id": "listing",
      "description": "Single-track archive template representing category/list pages and discovery into a track.",
      "url": "https://musicdel.ir/single-tracks/",
      "conditions": [
        "viewport 360x800"
      ],
      "result": "pass"
    },
    {
      "id": "detail",
      "description": "Current track detail representing playback, lyrics, jump navigation and direct 320/128/64 kbps download flow.",
      "url": "https://musicdel.ir/single-tracks/554908/",
      "conditions": [
        "viewport 360x800",
        "no-JS crawler"
      ],
      "result": "issues"
    },
    {
      "id": "playlist",
      "description": "Playlist detail representing long-form collection/media content.",
      "url": "https://musicdel.ir/playlist/hamim/",
      "conditions": [
        "viewport 360x800"
      ],
      "result": "pass"
    },
    {
      "id": "auth",
      "description": "Account entry reached from the homepage, representing sign-in, OTP and input-assistance behavior.",
      "url": "https://musicdel.ir/wp-login.php",
      "conditions": [
        "viewport 360x800",
        "empty-field validation"
      ],
      "result": "issues"
    },
    {
      "id": "error",
      "description": "Deliberately unknown route used to assess HTTP failure state and recovery.",
      "url": "https://musicdel.ir/this-page-does-not-exist-web-uplift",
      "conditions": [
        "viewport 360x800",
        "HTTP status inspection"
      ],
      "result": "issues"
    }
  ],
  "findings": [
    {
      "id": "F01",
      "severity": "medium",
      "confidence": "high",
      "pathId": "home",
      "url": "https://musicdel.ir/",
      "principleId": "implement-natural-interactions",
      "principleCheckId": "view-transitions",
      "guidanceId": "cross-document-transitions",
      "guidanceCategory": "css",
      "summary": "Page-to-page changes are abrupt because cross-document View Transitions are not enabled.",
      "evidence": "DOM/CSS inspection across the MPA found no @view-transition or view-transition-name declarations.",
      "artifacts": [
        "evidence/home-dom.json"
      ],
      "suggestedFix": "Add @view-transition { navigation: auto } and stable view-transition-name values for persistent page elements, with reduced-motion handling.",
      "effort": "small"
    },
    {
      "id": "F02",
      "severity": "low",
      "confidence": "high",
      "pathId": "home",
      "url": "https://musicdel.ir/",
      "principleId": "provide-guided-navigation",
      "principleCheckId": "scroll-state-aware-chrome",
      "guidanceId": "shrinking-header-on-scroll",
      "guidanceCategory": "css",
      "summary": "Long pages provide no scroll-state-aware header or progress feedback.",
      "evidence": "The mobile homepage is 18,490 CSS px tall, while DOM/CSS inspection found no scroll-state query or progress indicator.",
      "artifacts": [
        "evidence/home-layout-mobile.json",
        "evidence/home-mobile.png",
        "evidence/home-dom.json"
      ],
      "suggestedFix": "Use a sticky header with a scroll-state container query or add a lightweight declarative scroll progress indicator.",
      "effort": "small"
    },
    {
      "id": "F03",
      "severity": "medium",
      "confidence": "high",
      "pathId": "home",
      "url": "https://musicdel.ir/",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "input-modality-aware",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "summary": "Several navigation and search controls are too small for comfortable touch use.",
      "evidence": "The evaluate probe measured the Search button at 20×20 px and multiple navigation links at about 22–23×31 px; the detail template has several 19 px-high links.",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/detail-probe.json",
        "evidence/home-mobile.png"
      ],
      "suggestedFix": "Increase interactive hit areas to at least 44×44 CSS px through padding while retaining the visible focus treatment.",
      "effort": "small"
    },
    {
      "id": "F04",
      "severity": "high",
      "confidence": "high",
      "pathId": "error",
      "url": "https://musicdel.ir/this-page-does-not-exist-web-uplift",
      "principleId": "support-core-task-success",
      "principleCheckId": "clear-system-state-and-recovery",
      "guidanceId": "persistent-toast-notifications",
      "guidanceCategory": "user-experience",
      "summary": "Unknown URLs silently redirect to the homepage instead of showing a clear not-found state.",
      "evidence": "A request to a deliberately nonexistent path returned HTTP 301 to the homepage; the resulting title and H1 are the normal homepage and provide no not-found explanation or recovery context.",
      "artifacts": [
        "evidence/not-found-http-status.txt",
        "evidence/not-found-probe.json",
        "evidence/not-found-mobile.png"
      ],
      "suggestedFix": "Return a true 404 response with a concise Persian not-found message, search, home link, and relevant category links.",
      "effort": "small"
    },
    {
      "id": "F05",
      "severity": "high",
      "confidence": "high",
      "pathId": "home",
      "url": "https://musicdel.ir/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "good-core-web-vitals",
      "guidanceId": "optimize-image-priority",
      "guidanceCategory": "performance",
      "summary": "Mobile Largest Contentful Paint is well outside the good range.",
      "evidence": "Lighthouse measured LCP at 7.1 s, FCP at 2.9 s, Speed Index at 6.2 s, and performance 0.66; the independent trace measured LCP at 1.95 s under a less constrained run.",
      "artifacts": [
        "evidence/home-lighthouse.json",
        "evidence/home-lighthouse-summary.json",
        "evidence/home-trace-summary.json"
      ],
      "suggestedFix": "Identify the LCP image, make it discoverable in initial HTML, use fetchpriority=\"high\" only for that image, and avoid lazy-loading it.",
      "effort": "medium"
    },
    {
      "id": "F06",
      "severity": "medium",
      "confidence": "high",
      "pathId": "home",
      "url": "https://musicdel.ir/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "efficient-resource-delivery",
      "guidanceId": "optimize-preload-priority",
      "guidanceCategory": "performance",
      "summary": "Image caching and render-blocking CSS leave substantial delivery savings.",
      "evidence": "HAR recorded 74 requests and 1.65 MB transferred, ten parser-inserted very-high-priority stylesheets, and many image responses without useful cache headers; Lighthouse estimated 1,135 KiB cache savings and 250 ms render-blocking savings.",
      "artifacts": [
        "evidence/home.har",
        "evidence/home-summary.json",
        "evidence/home-lighthouse-summary.json",
        "evidence/home-dom.json"
      ],
      "suggestedFix": "Cache versioned images for a long lifetime, remove page-irrelevant plugin CSS, inline only critical CSS, and load the rest without blocking first render.",
      "effort": "medium"
    },
    {
      "id": "F07",
      "severity": "high",
      "confidence": "high",
      "pathId": "home",
      "url": "https://musicdel.ir/",
      "principleId": "be-inclusive",
      "principleCheckId": "names-roles-labels",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "summary": "Search, imagery, and many detail-page links lack usable accessible names.",
      "evidence": "The image audit found 26 images without alt text; the home search input has no label; the detail probe counted 172 links without discernible text.",
      "artifacts": [
        "evidence/home-images.json",
        "evidence/home-probe.json",
        "evidence/detail-probe.json",
        "evidence/home-lighthouse.json"
      ],
      "suggestedFix": "Label search explicitly, add meaningful alt text or empty alt for decorative images, and give icon/image-only links an accessible name.",
      "effort": "medium"
    },
    {
      "id": "F08",
      "severity": "high",
      "confidence": "high",
      "pathId": "home",
      "url": "https://musicdel.ir/",
      "principleId": "be-inclusive",
      "principleCheckId": "sufficient-contrast",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "summary": "Some foreground/background combinations fail WCAG contrast minimums.",
      "evidence": "Lighthouse accessibility audit failed color-contrast; the disabled-looking search placeholder is visibly low contrast in both themes.",
      "artifacts": [
        "evidence/home-lighthouse.json",
        "evidence/home-light-preference.png",
        "evidence/home-mobile.png"
      ],
      "suggestedFix": "Adjust muted text and placeholder tokens to meet at least 4.5:1 for normal text and retest both themes.",
      "effort": "small"
    },
    {
      "id": "F09",
      "severity": "medium",
      "confidence": "high",
      "pathId": "home",
      "url": "https://musicdel.ir/",
      "principleId": "be-inclusive",
      "principleCheckId": "structure-and-focus",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "summary": "The homepage lacks a main landmark and uses a non-sequential heading hierarchy.",
      "evidence": "Lighthouse failed heading-order and landmark-one-main; the probe found zero main landmarks and places the H1 after five H2 headings.",
      "artifacts": [
        "evidence/home-lighthouse-selected.json",
        "evidence/home-probe.json"
      ],
      "suggestedFix": "Wrap primary content in <main>, place the page H1 before section H2s, and keep footer headings within a logical hierarchy.",
      "effort": "small"
    },
    {
      "id": "F10",
      "severity": "medium",
      "confidence": "high",
      "pathId": "home",
      "url": "https://musicdel.ir/",
      "principleId": "be-inclusive",
      "principleCheckId": "zoom-reflow-targets-and-media",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "summary": "Touch-target sizing weakens usability under mobile reflow.",
      "evidence": "Although 360 px layouts have no horizontal overflow and user scaling is allowed, measured search/navigation targets fall well below 44×44 px.",
      "artifacts": [
        "evidence/home-layout-mobile.json",
        "evidence/detail-layout-mobile.json",
        "evidence/home-probe.json"
      ],
      "suggestedFix": "Expand target hit boxes with padding and verify at 200% zoom and 320–360 px widths.",
      "effort": "small"
    },
    {
      "id": "F11",
      "severity": "high",
      "confidence": "high",
      "pathId": "home",
      "url": "https://musicdel.ir/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "secure-transport-and-headers",
      "guidanceId": "security",
      "guidanceCategory": "security",
      "summary": "The site lacks a Content Security Policy and sets analytics cookies without Secure or an explicit same-site posture.",
      "evidence": "Headers primitive found no CSP; cookies primitive found five __utm* cookies without Secure and reported SameSite=None, including one retained for 400 days.",
      "artifacts": [
        "evidence/home-headers.json",
        "evidence/home-cookies.json"
      ],
      "suggestedFix": "Deploy a restrictive report-only CSP before enforcing it, mark HTTPS cookies Secure, and use Lax/Strict unless cross-site use is essential.",
      "effort": "medium"
    },
    {
      "id": "F12",
      "severity": "medium",
      "confidence": "high",
      "pathId": "home",
      "url": "https://musicdel.ir/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "data-minimisation-and-third-parties",
      "guidanceId": "privacy",
      "guidanceCategory": "privacy",
      "summary": "Legacy Google Analytics tracking creates persistent identifiers without visible minimisation evidence.",
      "evidence": "Tracker evidence found ssl.google-analytics.com and www.google-analytics.com; five legacy __utm* cookies are set, one for 400 days.",
      "artifacts": [
        "evidence/home-trackers.json",
        "evidence/home-cookies.json",
        "evidence/home-summary.json"
      ],
      "suggestedFix": "Replace legacy session-wide analytics with consent-aware, data-minimised measurement and shorten identifier retention.",
      "effort": "medium"
    },
    {
      "id": "F13",
      "severity": "medium",
      "confidence": "high",
      "pathId": "home",
      "url": "https://musicdel.ir/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "defensive-browser-policies",
      "guidanceId": "security",
      "guidanceCategory": "security",
      "summary": "Permissions-Policy is absent, leaving browser capabilities unrestricted by response policy.",
      "evidence": "Headers evidence confirms HSTS, nosniff, SAMEORIGIN, and Referrer-Policy, but no Permissions-Policy header and no CSP frame-ancestors policy.",
      "artifacts": [
        "evidence/home-headers.json"
      ],
      "suggestedFix": "Add a least-privilege Permissions-Policy and migrate clickjacking control into CSP frame-ancestors while retaining X-Frame-Options for compatibility.",
      "effort": "small"
    },
    {
      "id": "F14",
      "severity": "high",
      "confidence": "high",
      "pathId": "error",
      "url": "https://musicdel.ir/this-page-does-not-exist-web-uplift",
      "principleId": "be-resilient",
      "principleCheckId": "network-and-http-failure-states",
      "guidanceId": "persistent-toast-notifications",
      "guidanceCategory": "user-experience",
      "summary": "HTTP not-found handling produces a misleading success-like homepage state.",
      "evidence": "The nonexistent path redirects with 301 to a normal 200 homepage instead of preserving the failed URL with an actionable 404 state.",
      "artifacts": [
        "evidence/not-found-http-status.txt",
        "evidence/not-found-probe.json"
      ],
      "suggestedFix": "Serve intentional 404/5xx templates with correct status codes, clear state, retry/search options, and navigation back to useful content.",
      "effort": "small"
    },
    {
      "id": "F15",
      "severity": "medium",
      "confidence": "high",
      "pathId": "auth",
      "url": "https://musicdel.ir/wp-login.php",
      "principleId": "be-trustworthy",
      "principleCheckId": "trustworthy-input-assistance",
      "guidanceId": "autofill-sign-in-form",
      "guidanceCategory": "forms",
      "summary": "Sign-in fields omit key autocomplete tokens.",
      "evidence": "The auth probe found the visible telephone field with no autocomplete token and password/email fields without username/current-password/email tokens; OTP fields correctly use one-time-code.",
      "artifacts": [
        "evidence/auth-probe.json",
        "evidence/auth-mobile.png"
      ],
      "suggestedFix": "Apply tel/username, email, current-password/new-password, and one-time-code autocomplete tokens to the corresponding fields.",
      "effort": "small"
    },
    {
      "id": "F16",
      "severity": "medium",
      "confidence": "high",
      "pathId": "home",
      "url": "https://musicdel.ir/",
      "principleId": "be-sustainable",
      "principleCheckId": "optimised-assets",
      "guidanceId": "deliver-optimized-decorative-images",
      "guidanceCategory": "performance",
      "summary": "The homepage ships only legacy image formats and several oversized images.",
      "evidence": "Images primitive scanned 100 images: 100 JPG/PNG/GIF and zero AVIF/WebP, four oversized images, and six without responsive srcset; images account for 1.37 MB of 1.65 MB transferred.",
      "artifacts": [
        "evidence/home-images.json",
        "evidence/home-summary.json",
        "evidence/home.har"
      ],
      "suggestedFix": "Generate AVIF/WebP variants, ensure srcset/sizes match rendered card widths, and keep JPEG as fallback only where needed.",
      "effort": "medium"
    }
  ],
  "taskList": [
    {
      "id": "T01",
      "title": "Return truthful, recoverable HTTP error states",
      "priority": 1,
      "findingIds": [
        "F04",
        "F14"
      ],
      "guidanceId": "persistent-toast-notifications",
      "status": "open"
    },
    {
      "id": "T02",
      "title": "Fix accessible names, labels, landmarks, headings and contrast",
      "priority": 2,
      "findingIds": [
        "F07",
        "F08",
        "F09"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T03",
      "title": "Improve LCP, image caching and critical resource delivery",
      "priority": 3,
      "findingIds": [
        "F05",
        "F06"
      ],
      "guidanceId": "optimize-image-priority",
      "status": "open"
    },
    {
      "id": "T04",
      "title": "Deploy CSP and least-privilege browser policies; secure cookies",
      "priority": 4,
      "findingIds": [
        "F11",
        "F13"
      ],
      "guidanceId": "security",
      "status": "open"
    },
    {
      "id": "T05",
      "title": "Modernize and right-size image delivery",
      "priority": 5,
      "findingIds": [
        "F16"
      ],
      "guidanceId": "deliver-optimized-decorative-images",
      "status": "open"
    },
    {
      "id": "T06",
      "title": "Increase mobile touch target hit areas",
      "priority": 6,
      "findingIds": [
        "F03",
        "F10"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T07",
      "title": "Minimise legacy analytics identifiers and retention",
      "priority": 7,
      "findingIds": [
        "F12"
      ],
      "guidanceId": "privacy",
      "status": "open"
    },
    {
      "id": "T08",
      "title": "Add sign-in autocomplete tokens",
      "priority": 8,
      "findingIds": [
        "F15"
      ],
      "guidanceId": "autofill-sign-in-form",
      "status": "open"
    },
    {
      "id": "T09",
      "title": "Add cross-document transitions and scroll-aware guidance",
      "priority": 9,
      "findingIds": [
        "F01",
        "F02"
      ],
      "guidanceId": "cross-document-transitions",
      "status": "open"
    }
  ],
  "budget": {
    "wallClockSeconds": 1500,
    "pathCount": 6,
    "auditPasses": 1
  },
  "agent": "pi",
  "runId": "2026-07-22T22-16-07-109Z"
}
