{
  "url": "https://www.deviantart.com",
  "auditedAt": "2026-07-28T01:42:32.801Z",
  "mode": "report",
  "status": "partial",
  "statusDetail": "Partial audit: 40/58 checks judged; 18 blocked by intermittent CloudFront 403 responses across representative routes. No score generated.",
  "page": {
    "appType": "hybrid",
    "framework": "React-based client application with substantial server-rendered HTML",
    "notes": "Public art community/gallery. Home and login were reachable; tag, artwork, profile, and shop repeatedly returned CloudFront 403."
  },
  "evidenceUsed": [
    "screenshot",
    "dom",
    "layout-metrics",
    "evaluate-probe",
    "trace",
    "har",
    "discoverability",
    "headers",
    "cookies",
    "trackers",
    "secrets",
    "images",
    "heap-summary",
    "lighthouse",
    "Modern Web Guidance"
  ],
  "guidanceConsulted": [
    "accessibility",
    "css",
    "forms",
    "scroll-position-aware-elements",
    "pull-to-reveal",
    "autofill-sign-in-form",
    "agentic-javascript-tools",
    "summarizer",
    "agentic-forms",
    "language-model",
    "translator",
    "performance",
    "html",
    "search-hidden-content",
    "interactive-content-reveal",
    "optimize-preload-priority",
    "optimize-script-priority",
    "webmcp",
    "accessible-error-announcement",
    "precise-text-alignment",
    "calculate-event-differentials",
    "coordinate-global-events",
    "support-global-calendar-systems",
    "model-partial-time-concepts",
    "capture-location-agnostic-data",
    "identify-inp-causes",
    "identify-heavy-scripts",
    "defer-work-until-scroll-ends",
    "faster-spa-view-transitions",
    "detect-initial-visibility-state",
    "privacy",
    "security",
    "passkey-conditional-create",
    "passkey-registration",
    "passkey-authentication",
    "language-detection",
    "deliver-optimized-decorative-images",
    "resolution-optimized-pseudo-elements",
    "autofill-payment-form",
    "autofill-sign-up-form",
    "validate-input-after-interaction",
    "break-up-long-tasks",
    "dark-mode",
    "declarative-dialog-popover-control",
    "efficient-background-processing",
    "fluid-scaling",
    "expose-canvas-content-to-browser-features",
    "interactive-content-in-3d-scenes",
    "scroll-snap-state-sync",
    "scroll-snap-realtime-feedback",
    "stack-drill-down",
    "navigation-drawer",
    "persistent-app-tours",
    "light-dismiss-a-dialog",
    "css-layout",
    "optimize-image-priority",
    "passkeys",
    "scrollability-affordance-hints",
    "scroll-target-on-load",
    "component-specific-light-dark-theme",
    "adapt-scrollbar-to-contrast-preferences",
    "defer-rendering-heavy-content",
    "scroll-progress-indicator"
  ],
  "artifacts": [
    {
      "type": "other",
      "path": "evidence/comprehensive-probe.json",
      "caption": "comprehensive probe"
    },
    {
      "type": "other",
      "path": "evidence/cookies-success.json",
      "caption": "cookies success"
    },
    {
      "type": "other",
      "path": "evidence/cookies.json",
      "caption": "cookies"
    },
    {
      "type": "screenshot",
      "path": "evidence/discoverability-crawler.png",
      "caption": "discoverability crawler"
    },
    {
      "type": "screenshot",
      "path": "evidence/discoverability-rendered.png",
      "caption": "discoverability rendered"
    },
    {
      "type": "discoverability",
      "path": "evidence/discoverability.json",
      "caption": "discoverability"
    },
    {
      "type": "other",
      "path": "evidence/headers.json",
      "caption": "headers"
    },
    {
      "type": "heap",
      "path": "evidence/heap-baseline.json",
      "caption": "heap baseline"
    },
    {
      "type": "heap",
      "path": "evidence/heap-post-scroll.json",
      "caption": "heap post scroll"
    },
    {
      "type": "screenshot",
      "path": "evidence/home-contrast.png",
      "caption": "home contrast"
    },
    {
      "type": "screenshot",
      "path": "evidence/home-dark.png",
      "caption": "home dark"
    },
    {
      "type": "screenshot",
      "path": "evidence/home-desktop-retry.png",
      "caption": "home desktop retry"
    },
    {
      "type": "screenshot",
      "path": "evidence/home-desktop.png",
      "caption": "home desktop"
    },
    {
      "type": "dom",
      "path": "evidence/home-dom.json",
      "caption": "home dom"
    },
    {
      "type": "layout",
      "path": "evidence/home-layout.json",
      "caption": "home layout"
    },
    {
      "type": "layout",
      "path": "evidence/home-mobile-layout.json",
      "caption": "home mobile layout"
    },
    {
      "type": "screenshot",
      "path": "evidence/home-mobile.png",
      "caption": "home mobile"
    },
    {
      "type": "har-summary",
      "path": "evidence/home-success-summary.json",
      "caption": "home success summary"
    },
    {
      "type": "har",
      "path": "evidence/home-success.har",
      "caption": "home success"
    },
    {
      "type": "other",
      "path": "evidence/home-summary.json",
      "caption": "home summary"
    },
    {
      "type": "trace-summary",
      "path": "evidence/home-trace-summary.json",
      "caption": "home trace summary"
    },
    {
      "type": "trace",
      "path": "evidence/home-trace.json",
      "caption": "home trace"
    },
    {
      "type": "har",
      "path": "evidence/home.har",
      "caption": "home"
    },
    {
      "type": "other",
      "path": "evidence/images-success.json",
      "caption": "images success"
    },
    {
      "type": "other",
      "path": "evidence/images.json",
      "caption": "images"
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse-summary.json",
      "caption": "lighthouse summary"
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse.json",
      "caption": "lighthouse"
    },
    {
      "type": "other",
      "path": "evidence/login-invalid-probe.json",
      "caption": "login invalid probe"
    },
    {
      "type": "other",
      "path": "evidence/path-art.json",
      "caption": "path art"
    },
    {
      "type": "screenshot",
      "path": "evidence/path-art.png",
      "caption": "path art"
    },
    {
      "type": "other",
      "path": "evidence/path-login.json",
      "caption": "path login"
    },
    {
      "type": "screenshot",
      "path": "evidence/path-login.png",
      "caption": "path login"
    },
    {
      "type": "other",
      "path": "evidence/path-profile.json",
      "caption": "path profile"
    },
    {
      "type": "screenshot",
      "path": "evidence/path-profile.png",
      "caption": "path profile"
    },
    {
      "type": "other",
      "path": "evidence/path-shop.json",
      "caption": "path shop"
    },
    {
      "type": "screenshot",
      "path": "evidence/path-shop.png",
      "caption": "path shop"
    },
    {
      "type": "other",
      "path": "evidence/path-tag.json",
      "caption": "path tag"
    },
    {
      "type": "screenshot",
      "path": "evidence/path-tag.png",
      "caption": "path tag"
    },
    {
      "type": "other",
      "path": "evidence/probe-dark.json",
      "caption": "probe dark"
    },
    {
      "type": "other",
      "path": "evidence/probe-light.json",
      "caption": "probe light"
    },
    {
      "type": "other",
      "path": "evidence/probe-reduced-motion.json",
      "caption": "probe reduced motion"
    },
    {
      "type": "other",
      "path": "evidence/recon.json",
      "caption": "recon"
    },
    {
      "type": "other",
      "path": "evidence/resource-dom-probe.json",
      "caption": "resource dom probe"
    },
    {
      "type": "other",
      "path": "evidence/robots-txt.txt",
      "caption": "robots txt"
    },
    {
      "type": "other",
      "path": "evidence/secrets.json",
      "caption": "secrets"
    },
    {
      "type": "other",
      "path": "evidence/sitemap-xml.txt",
      "caption": "sitemap xml"
    },
    {
      "type": "other",
      "path": "evidence/trackers.json",
      "caption": "trackers"
    },
    {
      "type": "other",
      "path": "evidence/guidance/accessibility.err",
      "caption": "guidance/accessibility"
    },
    {
      "type": "other",
      "path": "evidence/guidance/accessibility.md",
      "caption": "guidance/accessibility"
    },
    {
      "type": "other",
      "path": "evidence/guidance/adapt-to-the-form-factor-search.json",
      "caption": "guidance/adapt to the form factor search"
    },
    {
      "type": "other",
      "path": "evidence/guidance/autofill-sign-in-form.err",
      "caption": "guidance/autofill sign in form"
    },
    {
      "type": "other",
      "path": "evidence/guidance/autofill-sign-in-form.md",
      "caption": "guidance/autofill sign in form"
    },
    {
      "type": "other",
      "path": "evidence/guidance/be-agent-ready-search.json",
      "caption": "guidance/be agent ready search"
    },
    {
      "type": "other",
      "path": "evidence/guidance/be-discoverable-search.json",
      "caption": "guidance/be discoverable search"
    },
    {
      "type": "other",
      "path": "evidence/guidance/be-fast-and-stable-search.json",
      "caption": "guidance/be fast and stable search"
    },
    {
      "type": "other",
      "path": "evidence/guidance/be-inclusive-search.json",
      "caption": "guidance/be inclusive search"
    },
    {
      "type": "other",
      "path": "evidence/guidance/be-internationalised-search.json",
      "caption": "guidance/be internationalised search"
    },
    {
      "type": "other",
      "path": "evidence/guidance/be-memory-efficient-search.json",
      "caption": "guidance/be memory efficient search"
    },
    {
      "type": "other",
      "path": "evidence/guidance/be-private-and-secure-search.json",
      "caption": "guidance/be private and secure search"
    },
    {
      "type": "other",
      "path": "evidence/guidance/be-resilient-search.json",
      "caption": "guidance/be resilient search"
    },
    {
      "type": "other",
      "path": "evidence/guidance/be-sustainable-search.json",
      "caption": "guidance/be sustainable search"
    },
    {
      "type": "other",
      "path": "evidence/guidance/be-trustworthy-search.json",
      "caption": "guidance/be trustworthy search"
    },
    {
      "type": "other",
      "path": "evidence/guidance/break-up-long-tasks.err",
      "caption": "guidance/break up long tasks"
    },
    {
      "type": "other",
      "path": "evidence/guidance/break-up-long-tasks.md",
      "caption": "guidance/break up long tasks"
    },
    {
      "type": "other",
      "path": "evidence/guidance/dark-mode.err",
      "caption": "guidance/dark mode"
    },
    {
      "type": "other",
      "path": "evidence/guidance/dark-mode.md",
      "caption": "guidance/dark mode"
    },
    {
      "type": "other",
      "path": "evidence/guidance/declarative-dialog-popover-control.err",
      "caption": "guidance/declarative dialog popover control"
    },
    {
      "type": "other",
      "path": "evidence/guidance/declarative-dialog-popover-control.md",
      "caption": "guidance/declarative dialog popover control"
    },
    {
      "type": "other",
      "path": "evidence/guidance/efficient-background-processing.err",
      "caption": "guidance/efficient background processing"
    },
    {
      "type": "other",
      "path": "evidence/guidance/efficient-background-processing.md",
      "caption": "guidance/efficient background processing"
    },
    {
      "type": "other",
      "path": "evidence/guidance/fluid-scaling.err",
      "caption": "guidance/fluid scaling"
    },
    {
      "type": "other",
      "path": "evidence/guidance/fluid-scaling.md",
      "caption": "guidance/fluid scaling"
    },
    {
      "type": "other",
      "path": "evidence/guidance/follow-best-practices-search.json",
      "caption": "guidance/follow best practices search"
    },
    {
      "type": "other",
      "path": "evidence/guidance/implement-natural-interactions-search.json",
      "caption": "guidance/implement natural interactions search"
    },
    {
      "type": "other",
      "path": "evidence/guidance/maximize-content-reduce-noise-search.json",
      "caption": "guidance/maximize content reduce noise search"
    },
    {
      "type": "other",
      "path": "evidence/guidance/optimize-image-priority.err",
      "caption": "guidance/optimize image priority"
    },
    {
      "type": "other",
      "path": "evidence/guidance/optimize-image-priority.md",
      "caption": "guidance/optimize image priority"
    },
    {
      "type": "other",
      "path": "evidence/guidance/passkeys.err",
      "caption": "guidance/passkeys"
    },
    {
      "type": "other",
      "path": "evidence/guidance/passkeys.md",
      "caption": "guidance/passkeys"
    },
    {
      "type": "other",
      "path": "evidence/guidance/privacy.err",
      "caption": "guidance/privacy"
    },
    {
      "type": "other",
      "path": "evidence/guidance/privacy.md",
      "caption": "guidance/privacy"
    },
    {
      "type": "other",
      "path": "evidence/guidance/provide-guided-navigation-search.json",
      "caption": "guidance/provide guided navigation search"
    },
    {
      "type": "other",
      "path": "evidence/guidance/respect-user-preferences-search.json",
      "caption": "guidance/respect user preferences search"
    },
    {
      "type": "other",
      "path": "evidence/guidance/security.err",
      "caption": "guidance/security"
    },
    {
      "type": "other",
      "path": "evidence/guidance/security.md",
      "caption": "guidance/security"
    },
    {
      "type": "other",
      "path": "evidence/guidance/support-core-task-success-search.json",
      "caption": "guidance/support core task success search"
    }
  ],
  "config": {
    "loaded": false
  },
  "coverage": {
    "catalogVersion": "modern-web-guidance@0.0.172",
    "catalogChecksum": "sha256:78ccfdb2d483f4c57d9dafed80fd86c6265585a56457c8dcfddc254b80fb44d7",
    "expected": 58,
    "recorded": 58,
    "judged": 40,
    "blocked": 18,
    "notRun": 0,
    "missing": 0,
    "unknown": 0,
    "duplicates": 0,
    "complete": false
  },
  "checkOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-color-scheme",
      "status": "issues",
      "confidence": "high",
      "method": "Computed-style comparison under emulated light and dark preferences",
      "evidence": "Both light and dark emulation rendered body background rgb(6,7,13), text rgb(242,242,242), and computed color-scheme normal; the system preference did not change the theme.",
      "artifacts": [
        "evidence/probe-light.json",
        "evidence/probe-dark.json"
      ],
      "findingIds": [
        "F01"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-reduced-motion",
      "status": "pass",
      "confidence": "high",
      "method": "getAnimations() under prefers-reduced-motion: reduce",
      "evidence": "The media query matched and getAnimations() returned no running animations, compared with one 6000ms running animation in the default probe.",
      "artifacts": [
        "evidence/probe-reduced-motion.json",
        "evidence/comprehensive-probe.json"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-contrast",
      "status": "pass",
      "confidence": "high",
      "method": "High-contrast screenshot plus Lighthouse contrast audit",
      "evidence": "The prefers-contrast:more screenshot remained readable and Lighthouse color-contrast passed.",
      "artifacts": [
        "evidence/home-contrast.png",
        "evidence/lighthouse-summary.json"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "view-transitions",
      "status": "blocked",
      "confidence": "high",
      "method": "Attempted route/state inspection on tag, artwork, profile, and shop paths",
      "evidence": "The representative-path attempt was externally blocked by intermittent CloudFront 403 responses; tag, artwork detail, profile, and shop probes all returned the generic edge error.",
      "reason": "The representative-path attempt was externally blocked by intermittent CloudFront 403 responses; tag, artwork detail, profile, and shop probes all returned the generic edge error."
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "scroll-driven-animations",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and applicability judgement",
      "evidence": "No parallax, scrollytelling, entry/exit reveal, or other scroll-linked motion was observed on the reachable home or login surfaces.",
      "reason": "No parallax, scrollytelling, entry/exit reveal, or other scroll-linked motion was observed on the reachable home or login surfaces."
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "physical-gestures",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and applicability judgement",
      "evidence": "No gesture-driven component requiring pull, swipe, overscroll, or snap behaviour was present on the reachable surfaces.",
      "reason": "No gesture-driven component requiring pull, swipe, overscroll, or snap behaviour was present on the reachable surfaces."
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "scroll-state-aware-chrome",
      "status": "blocked",
      "confidence": "high",
      "method": "Attempted representative route and scrolling inspection; repeated route loads were blocked",
      "evidence": "The representative-path attempt was externally blocked by intermittent CloudFront 403 responses; tag, artwork detail, profile, and shop probes all returned the generic edge error.",
      "reason": "The representative-path attempt was externally blocked by intermittent CloudFront 403 responses; tag, artwork detail, profile, and shop probes all returned the generic edge error."
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "anchored-positioning",
      "status": "blocked",
      "confidence": "high",
      "method": "Attempted overlay inspection near viewport edges; representative routes were blocked and the home menu state could not be reliably replayed",
      "evidence": "The representative-path attempt was externally blocked by intermittent CloudFront 403 responses; tag, artwork detail, profile, and shop probes all returned the generic edge error.",
      "reason": "The representative-path attempt was externally blocked by intermittent CloudFront 403 responses; tag, artwork detail, profile, and shop probes all returned the generic edge error."
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "directs-attention",
      "status": "blocked",
      "confidence": "high",
      "method": "Attempted route-change and in-page navigation inspection; representative routes returned CloudFront 403",
      "evidence": "The representative-path attempt was externally blocked by intermittent CloudFront 403 responses; tag, artwork detail, profile, and shop probes all returned the generic edge error.",
      "reason": "The representative-path attempt was externally blocked by intermittent CloudFront 403 responses; tag, artwork detail, profile, and shop probes all returned the generic edge error."
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "no-intrusive-interruptions",
      "status": "issues",
      "confidence": "high",
      "method": "First-load rendered screenshot at 780x1000",
      "evidence": "A fixed join/log-in strip covers the full bottom edge of the artwork feed on first load and has no visible dismiss control.",
      "artifacts": [
        "evidence/discoverability-rendered.png",
        "evidence/home-contrast.png"
      ],
      "findingIds": [
        "F02"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "semantic-dismissible-primitives",
      "status": "issues",
      "confidence": "high",
      "method": "Rendered DOM semantic probe",
      "evidence": "The user menu is an absolutely positioned div role=dialog; there are zero native dialog, details, or popover elements, and no accessible dialog name was found.",
      "artifacts": [
        "evidence/comprehensive-probe.json",
        "evidence/home-dom.json"
      ],
      "findingIds": [
        "F03"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "reduced-chrome",
      "status": "pass",
      "confidence": "high",
      "method": "Visual review of home and login first viewports",
      "evidence": "The dark gallery keeps artwork dominant and the login page has one focused form card with restrained chrome.",
      "artifacts": [
        "evidence/discoverability-rendered.png",
        "evidence/path-login.png"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "responsive-no-horizontal-scroll",
      "status": "issues",
      "confidence": "high",
      "method": "Layout primitive and screenshot at narrow viewport",
      "evidence": "The narrow capture reported no viewport meta and a 1024 CSS-pixel layout scaled into 360/780 device widths instead of a true narrow responsive layout.",
      "artifacts": [
        "evidence/home-mobile-layout.json",
        "evidence/home-layout.json",
        "evidence/home-mobile.png"
      ],
      "findingIds": [
        "F04"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "component-level-responsiveness",
      "status": "blocked",
      "confidence": "high",
      "method": "Attempted CSS/component comparison; cross-origin styles and blocked representative routes prevented reliable same-component wide/narrow inspection",
      "evidence": "The representative-path attempt was externally blocked by intermittent CloudFront 403 responses; tag, artwork detail, profile, and shop probes all returned the generic edge error.",
      "reason": "The representative-path attempt was externally blocked by intermittent CloudFront 403 responses; tag, artwork detail, profile, and shop probes all returned the generic edge error."
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "input-modality-aware",
      "status": "issues",
      "confidence": "high",
      "method": "Programmatic keyboard focus walk and computed focus styles",
      "evidence": "Several focusable user-menu controls, links, and buttons had outline:none and no replacement box shadow; the narrow UI also scales desktop controls rather than adapting them.",
      "artifacts": [
        "evidence/comprehensive-probe.json"
      ],
      "findingIds": [
        "F05"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-purpose-and-primary-action",
      "status": "pass",
      "confidence": "high",
      "method": "First-viewport screenshot and heading/action probe",
      "evidence": "Home clearly presents art discovery plus Submit, Create AI Art, Try Video Creator, Log In, and Join; login clearly presents the username-first sign-in action.",
      "artifacts": [
        "evidence/discoverability-rendered.png",
        "evidence/path-login.json"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "primary-flow-completion",
      "status": "blocked",
      "confidence": "high",
      "method": "Attempted gallery-to-artwork, shop, profile, and login journey; only login was reachable",
      "evidence": "The representative-path attempt was externally blocked by intermittent CloudFront 403 responses; tag, artwork detail, profile, and shop probes all returned the generic edge error.",
      "reason": "The representative-path attempt was externally blocked by intermittent CloudFront 403 responses; tag, artwork detail, profile, and shop probes all returned the generic edge error."
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-system-state-and-recovery",
      "status": "issues",
      "confidence": "high",
      "method": "Repeated direct navigation to representative routes",
      "evidence": "Tag, artwork detail, profile, and shop attempts returned a generic CloudFront 403 with no site navigation, retry control, or preserved context.",
      "artifacts": [
        "evidence/path-art.png",
        "evidence/path-shop.png",
        "evidence/path-tag.json"
      ],
      "findingIds": [
        "F06"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "good-core-web-vitals",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse mobile run plus raw trace",
      "evidence": "Lighthouse measured LCP 14.5s, CLS 0.641, TBT 200ms, and performance 0.40; the unthrottled trace still found three long tasks and 221ms TBT.",
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/home-trace-summary.json",
        "evidence/home-trace.json"
      ],
      "findingIds": [
        "F07"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "visual-stability",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse layout-shift measurement",
      "evidence": "Lighthouse measured CLS 0.641, far above the 0.1 good threshold, and identified layout-shift culprits.",
      "artifacts": [
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "F08"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-main-thread",
      "status": "issues",
      "confidence": "high",
      "method": "DevTools trace summary and Lighthouse TBT",
      "evidence": "The trace recorded three long tasks, the longest 219ms, totalling 221ms blocking time; Lighthouse measured 200ms TBT.",
      "artifacts": [
        "evidence/home-trace-summary.json",
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "F09"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-resource-delivery",
      "status": "issues",
      "confidence": "high",
      "method": "HAR summary confirmed against rendered resource probe and Lighthouse",
      "evidence": "The successful load transferred 2.49MB across 89 requests; a parser-inserted VeryHigh-priority stylesheet and a 420KB JS file were leading critical-path/weight signals.",
      "artifacts": [
        "evidence/home-success-summary.json",
        "evidence/home-success.har",
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "F10"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "trim-unused-and-duplicate-code",
      "status": "issues",
      "confidence": "high",
      "method": "HAR bundle weights and Lighthouse diagnostics",
      "evidence": "Seven scripts transferred 748KB; the largest bundle was about 420KB, and Lighthouse performance was 0.40 with missing source maps limiting diagnosis.",
      "artifacts": [
        "evidence/home-success-summary.json",
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "F11"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "names-roles-labels",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse accessibility audits and DOM probe",
      "evidence": "Lighthouse found focusable descendants inside aria-hidden content and an accessible-name/visible-label mismatch; the DOM probe also found an unnamed role=dialog.",
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/comprehensive-probe.json"
      ],
      "findingIds": [
        "F12"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "sufficient-contrast",
      "status": "pass",
      "confidence": "high",
      "method": "Lighthouse color-contrast audit and screenshot review",
      "evidence": "Lighthouse color-contrast passed and primary text/control contrast was visibly clear in the high-contrast capture.",
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/home-contrast.png"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "structure-and-focus",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse accessibility audit plus computed focus walk",
      "evidence": "Hidden menu content remained focusable, and several focused controls computed to outline:none with no replacement focus indicator.",
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/comprehensive-probe.json"
      ],
      "findingIds": [
        "F13"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "legible-text",
      "status": "pass",
      "confidence": "high",
      "method": "Rendered screenshots at home and login",
      "evidence": "Body and control text is crisp, aligned, and readable on the reachable surfaces, with no observed clipping in the content columns.",
      "artifacts": [
        "evidence/discoverability-rendered.png",
        "evidence/path-login.png"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "zoom-reflow-targets-and-media",
      "status": "issues",
      "confidence": "high",
      "method": "Narrow layout metrics and screenshot",
      "evidence": "The runtime reported no viewport meta and rendered a 1024px CSS layout scaled down to the narrow screen, reducing text and target sizes rather than reflowing.",
      "artifacts": [
        "evidence/home-mobile-layout.json",
        "evidence/home-mobile.png"
      ],
      "findingIds": [
        "F14"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "no-console-errors",
      "status": "blocked",
      "confidence": "high",
      "method": "Runtime/console event capture was not completed before intermittent edge blocking made repeated loads unreliable",
      "evidence": "The representative-path attempt was externally blocked by intermittent CloudFront 403 responses; tag, artwork detail, profile, and shop probes all returned the generic edge error.",
      "reason": "The representative-path attempt was externally blocked by intermittent CloudFront 403 responses; tag, artwork detail, profile, and shop probes all returned the generic edge error."
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "sound-document-and-assets",
      "status": "pass",
      "confidence": "high",
      "method": "DOM, Lighthouse, and image semantics inspection",
      "evidence": "The successful home document had HTML5 doctype, UTF-8 charset, valid title/description, and Lighthouse passed image-alt, contrast, and best-practices overall.",
      "artifacts": [
        "evidence/comprehensive-probe.json",
        "evidence/lighthouse-summary.json"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "browser-platform-hygiene",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse best-practices diagnostics",
      "evidence": "Lighthouse found a large first-party JavaScript file without a source map and multiple referenced source maps returning 403.",
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/lighthouse.json"
      ],
      "findingIds": [
        "F15"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "title-and-description",
      "status": "pass",
      "confidence": "high",
      "method": "Rendered metadata probe and Lighthouse SEO",
      "evidence": "Home has a descriptive unique title and a descriptive meta description; Lighthouse passed both audits.",
      "artifacts": [
        "evidence/recon.json",
        "evidence/lighthouse-summary.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "crawlable-and-mobile-friendly",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse SEO plus narrow layout primitive",
      "evidence": "Anchors were crawlable, but Lighthouse found one generic “Learn more” link and the successful layout probes found no viewport meta, producing desktop-scale rendering on narrow screens.",
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/home-layout.json"
      ],
      "findingIds": [
        "F16"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "canonical-and-indexing-signals",
      "status": "issues",
      "confidence": "high",
      "method": "Canonical/robots probes plus direct sitemap request",
      "evidence": "Home exposes a canonical and permissive robots policy, but /sitemap.xml returned HTTP 404 for a very large public content site.",
      "artifacts": [
        "evidence/recon.json",
        "evidence/robots-txt.txt",
        "evidence/sitemap-xml.txt"
      ],
      "findingIds": [
        "F17"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "structured-and-shareable-metadata",
      "status": "pass",
      "confidence": "high",
      "method": "DOM JSON-LD and social metadata inspection",
      "evidence": "Home exposes Organization JSON-LD plus Open Graph and Twitter title, description, image, and canonical URL matching visible content.",
      "artifacts": [
        "evidence/comprehensive-probe.json",
        "evidence/recon.json"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "secure-transport-and-headers",
      "status": "issues",
      "confidence": "high",
      "method": "Headers and cookies primitives",
      "evidence": "HTTPS, HSTS, nosniff, framing protection, and CSP are present, but CSP permits unsafe-eval/unsafe-inline and two first-party cookies, including userinfo, lacked Secure.",
      "artifacts": [
        "evidence/headers.json",
        "evidence/cookies-success.json"
      ],
      "findingIds": [
        "F18"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "data-minimisation-and-third-parties",
      "status": "issues",
      "confidence": "high",
      "method": "HAR and tracker-origin inspection",
      "evidence": "The load contacted five third-party origins; 87 of 89 requests and 2.33MB were cross-origin, including frog.wix.com telemetry, although no built-in known-tracker match fired.",
      "artifacts": [
        "evidence/home-success-summary.json",
        "evidence/trackers.json"
      ],
      "findingIds": [
        "F19"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "in-context-permissions-and-modern-auth",
      "status": "blocked",
      "confidence": "high",
      "method": "The first login step was reachable, but password/passkey completion and permission timing could not be inspected end-to-end because subsequent representative journeys were blocked",
      "evidence": "The representative-path attempt was externally blocked by intermittent CloudFront 403 responses; tag, artwork detail, profile, and shop probes all returned the generic edge error.",
      "reason": "The representative-path attempt was externally blocked by intermittent CloudFront 403 responses; tag, artwork detail, profile, and shop probes all returned the generic edge error."
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "defensive-browser-policies",
      "status": "issues",
      "confidence": "high",
      "method": "Security-header primitive",
      "evidence": "Permissions-Policy was absent and CSP permits unsafe-eval/unsafe-inline; HSTS, X-Frame-Options, nosniff, and Referrer-Policy were present.",
      "artifacts": [
        "evidence/headers.json"
      ],
      "findingIds": [
        "F20"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "progressive-enhancement",
      "status": "blocked",
      "confidence": "high",
      "method": "Raw fetch returned HTML with 46% rendered-word coverage, but the no-JS crawler screenshot itself was externally replaced by CloudFront 403, preventing a valid no-JS usability judgement",
      "evidence": [
        "evidence/discoverability.json",
        "evidence/discoverability-crawler.png"
      ],
      "reason": [
        "evidence/discoverability.json",
        "evidence/discoverability-crawler.png"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "resilient-runtime-behaviour",
      "status": "blocked",
      "confidence": "high",
      "method": "Representative menus/routes could not be exercised reliably because repeated non-home requests returned CloudFront 403",
      "evidence": "The representative-path attempt was externally blocked by intermittent CloudFront 403 responses; tag, artwork detail, profile, and shop probes all returned the generic edge error.",
      "reason": "The representative-path attempt was externally blocked by intermittent CloudFront 403 responses; tag, artwork detail, profile, and shop probes all returned the generic edge error."
    },
    {
      "principleId": "be-resilient",
      "checkId": "offline-and-installable",
      "status": "blocked",
      "confidence": "high",
      "method": "Manifest and active service worker were observed, but an actual offline fallback test was not completed before edge blocking",
      "evidence": [
        "evidence/comprehensive-probe.json"
      ],
      "reason": [
        "evidence/comprehensive-probe.json"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "network-and-http-failure-states",
      "status": "issues",
      "confidence": "high",
      "method": "Repeated route navigation under observed HTTP failure",
      "evidence": "Four representative public routes rendered a generic CloudFront 403 instead of a branded recoverable failure state.",
      "artifacts": [
        "evidence/path-art.png",
        "evidence/path-profile.png",
        "evidence/path-shop.png"
      ],
      "findingIds": [
        "F06"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "lang-dir-and-logical-properties",
      "status": "pass",
      "confidence": "high",
      "method": "DOM language and visible language-control inspection",
      "evidence": "The document declares lang=en and exposes a visible language control; no conflicting direction was observed on the reachable English UI.",
      "artifacts": [
        "evidence/comprehensive-probe.json"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "locale-aware-data",
      "status": "blocked",
      "confidence": "high",
      "method": "Profile/artwork/shop paths containing representative dates, prices, and locale-sensitive values were blocked",
      "evidence": "The representative-path attempt was externally blocked by intermittent CloudFront 403 responses; tag, artwork detail, profile, and shop probes all returned the generic edge error.",
      "reason": "The representative-path attempt was externally blocked by intermittent CloudFront 403 responses; tag, artwork detail, profile, and shop probes all returned the generic edge error."
    },
    {
      "principleId": "be-internationalised",
      "checkId": "time-zone-correctness",
      "status": "blocked",
      "confidence": "high",
      "method": "No representative event/time-zone flow could be reached because content routes were blocked",
      "evidence": "The representative-path attempt was externally blocked by intermittent CloudFront 403 responses; tag, artwork detail, profile, and shop probes all returned the generic edge error.",
      "reason": "The representative-path attempt was externally blocked by intermittent CloudFront 403 responses; tag, artwork detail, profile, and shop probes all returned the generic edge error."
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "no-dark-patterns",
      "status": "pass",
      "confidence": "high",
      "method": "Visual review of reachable home and login consent surfaces",
      "evidence": "The reachable login presents terms/privacy links, an unchecked-to-continue-free flow, clear social sign-in labels, and no confirmshaming or disguised advertising was observed.",
      "artifacts": [
        "evidence/path-login.png",
        "evidence/discoverability-rendered.png"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "humane-error-handling",
      "status": "blocked",
      "confidence": "high",
      "method": "Attempted invalid login-form exercise did not reach a validation state, and deeper form flows were unavailable",
      "evidence": [
        "evidence/login-invalid-probe.json"
      ],
      "reason": [
        "evidence/login-invalid-probe.json"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "trustworthy-input-assistance",
      "status": "issues",
      "confidence": "high",
      "method": "Login form DOM inspection",
      "evidence": "The username field had a visible label but no autocomplete token; the home search field explicitly used autocomplete=off.",
      "artifacts": [
        "evidence/path-login.json",
        "evidence/comprehensive-probe.json"
      ],
      "findingIds": [
        "F21"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "safe-commercial-and-account-flows",
      "status": "blocked",
      "confidence": "high",
      "method": "Shop returned CloudFront 403 and the login flow could not be completed beyond the username step",
      "evidence": "The representative-path attempt was externally blocked by intermittent CloudFront 403 responses; tag, artwork detail, profile, and shop probes all returned the generic edge error.",
      "reason": "The representative-path attempt was externally blocked by intermittent CloudFront 403 responses; tag, artwork detail, profile, and shop probes all returned the generic edge error."
    },
    {
      "principleId": "be-sustainable",
      "checkId": "optimised-assets",
      "status": "pass",
      "confidence": "high",
      "method": "HAR asset URL and byte inspection",
      "evidence": "Artwork URLs request explicit fitted/fill dimensions and quality parameters, and the 48-image gallery transferred about 966KB rather than original-resolution media.",
      "artifacts": [
        "evidence/home-success-summary.json"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "no-wasteful-work",
      "status": "issues",
      "confidence": "high",
      "method": "HAR and trace inspection",
      "evidence": "The initial surface transferred 2.49MB over 89 requests and executed three long tasks, including 221ms total blocking time, before user interaction.",
      "artifacts": [
        "evidence/home-success-summary.json",
        "evidence/home-trace-summary.json"
      ],
      "findingIds": [
        "F22"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "third-party-and-media-budget",
      "status": "issues",
      "confidence": "high",
      "method": "HAR origin/resource budget inspection",
      "evidence": "Cross-origin CDNs and services accounted for 2.33MB; scripts alone were 748KB and fonts 113KB on the initial art feed.",
      "artifacts": [
        "evidence/home-success-summary.json"
      ],
      "findingIds": [
        "F23"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "structured-agent-capabilities",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and applicability judgement",
      "evidence": "Agent-facing capability exposure is emerging and no declared WebMCP/agentic surface was visible; absence is treated as an opportunity, not a failure.",
      "reason": "Agent-facing capability exposure is emerging and no declared WebMCP/agentic surface was visible; absence is treated as an opportunity, not a failure."
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "on-device-inference",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and applicability judgement",
      "evidence": "No user task on the reachable public surfaces required on-device inference, so built-in AI use is not applicable to this audit scope.",
      "reason": "No user task on the reachable public surfaces required on-device inference, so built-in AI use is not applicable to this audit scope."
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-leak-under-repeated-interaction",
      "status": "blocked",
      "confidence": "high",
      "method": "Baseline and repeated-scroll heap captures were attempted, but their very small Error-heavy heaps indicate the intermittent CloudFront error page rather than the application, so comparison would be invalid",
      "evidence": [
        "evidence/heap-baseline.json",
        "evidence/heap-post-scroll.json"
      ],
      "reason": [
        "evidence/heap-baseline.json",
        "evidence/heap-post-scroll.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "bounded-footprint",
      "status": "blocked",
      "confidence": "high",
      "method": "The captured heap represented the CloudFront error response, not the DeviantArt application, so it cannot support a proportional footprint judgement",
      "evidence": [
        "evidence/heap-baseline.json"
      ],
      "reason": [
        "evidence/heap-baseline.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-detached-dom-or-unbounded-listeners",
      "status": "blocked",
      "confidence": "high",
      "method": "The before/after captures represented separate blocked/error sessions and cannot validly establish detached DOM, listener, or timer growth",
      "evidence": [
        "evidence/heap-baseline.json",
        "evidence/heap-post-scroll.json"
      ],
      "reason": [
        "evidence/heap-baseline.json",
        "evidence/heap-post-scroll.json"
      ]
    }
  ],
  "principleOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F01"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "expectation": "default",
      "status": "incomplete",
      "reason": "One or more checks were blocked by intermittent CloudFront 403 responses or unavailable representative journeys."
    },
    {
      "principleId": "provide-guided-navigation",
      "expectation": "default",
      "status": "incomplete",
      "reason": "One or more checks were blocked by intermittent CloudFront 403 responses or unavailable representative journeys."
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F02",
        "F03"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F04",
        "F05"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F06"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F07",
        "F08",
        "F09",
        "F10",
        "F11"
      ]
    },
    {
      "principleId": "be-inclusive",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F12",
        "F13",
        "F14"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F15"
      ]
    },
    {
      "principleId": "be-discoverable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F16",
        "F17"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F18",
        "F19",
        "F20"
      ]
    },
    {
      "principleId": "be-resilient",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F06"
      ]
    },
    {
      "principleId": "be-internationalised",
      "expectation": "contextual",
      "status": "incomplete",
      "reason": "One or more checks were blocked by intermittent CloudFront 403 responses or unavailable representative journeys."
    },
    {
      "principleId": "be-trustworthy",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F21"
      ]
    },
    {
      "principleId": "be-sustainable",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F22",
        "F23"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "expectation": "contextual",
      "status": "not-applicable",
      "reason": "All checks were judged not applicable for the reachable public surfaces; see check-specific rationales."
    },
    {
      "principleId": "be-memory-efficient",
      "expectation": "default",
      "status": "incomplete",
      "reason": "One or more checks were blocked by intermittent CloudFront 403 responses or unavailable representative journeys."
    }
  ],
  "paths": [
    {
      "id": "home",
      "description": "Public discovery feed and global navigation; primary listing template.",
      "url": "https://www.deviantart.com/",
      "conditions": [
        "780x1000",
        "360x800",
        "light/dark preference",
        "reduced motion",
        "increased contrast",
        "throttled Lighthouse"
      ],
      "result": "issues"
    },
    {
      "id": "tag",
      "description": "Tag/category listing archetype; attempted as a second listing template.",
      "url": "https://www.deviantart.com/tag/digitalart",
      "conditions": [
        "780x1000"
      ],
      "result": "failed"
    },
    {
      "id": "art",
      "description": "Individual artwork/detail archetype selected from the home feed.",
      "url": "https://www.deviantart.com/smiling-abuse/art/Moon-bear-1350696620",
      "conditions": [
        "780x1000"
      ],
      "result": "failed"
    },
    {
      "id": "profile",
      "description": "Creator profile and gallery archetype.",
      "url": "https://www.deviantart.com/smiling-abuse",
      "conditions": [
        "780x1000"
      ],
      "result": "failed"
    },
    {
      "id": "shop",
      "description": "Commercial discovery/purchase entry path.",
      "url": "https://www.deviantart.com/shop",
      "conditions": [
        "780x1000"
      ],
      "result": "failed"
    },
    {
      "id": "login",
      "description": "Primary account/sign-in form flow.",
      "url": "https://www.deviantart.com/users/login",
      "conditions": [
        "780x1000",
        "invalid-input attempt"
      ],
      "result": "issues"
    }
  ],
  "findings": [
    {
      "id": "F01",
      "severity": "medium",
      "confidence": "high",
      "summary": "Theme ignores the system color-scheme preference",
      "evidence": "Light and dark emulation produced identical dark colors and color-scheme: normal.",
      "suggestedFix": "Declare color-scheme and initialise the selected theme from prefers-color-scheme while preserving an explicit user override.",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-color-scheme",
      "guidanceId": "dark-mode",
      "guidanceCategory": "user-experience",
      "effort": "small",
      "artifacts": [
        "evidence/probe-light.json",
        "evidence/probe-dark.json"
      ],
      "pathId": "home"
    },
    {
      "id": "F02",
      "severity": "medium",
      "confidence": "high",
      "summary": "Persistent sign-up strip obscures gallery content",
      "evidence": "The first-load gallery screenshot shows a full-width fixed sign-up strip covering the bottom of artwork with no dismiss control.",
      "suggestedFix": "Make the prompt dismissible and non-blocking, reserve layout space, or defer it until intent is shown.",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "no-intrusive-interruptions",
      "guidanceId": "declarative-dialog-popover-control",
      "guidanceCategory": "html",
      "effort": "small",
      "artifacts": [
        "evidence/discoverability-rendered.png"
      ],
      "pathId": "home"
    },
    {
      "id": "F03",
      "severity": "low",
      "confidence": "high",
      "summary": "User menu uses a custom unnamed dialog container",
      "evidence": "The DOM has a div role=dialog with no accessible name and no dialog/popover/details primitives.",
      "suggestedFix": "Use the native popover/menu pattern for transient user navigation with declarative light-dismiss and an accessible name.",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "semantic-dismissible-primitives",
      "guidanceId": "declarative-dialog-popover-control",
      "guidanceCategory": "html",
      "effort": "medium",
      "artifacts": [
        "evidence/comprehensive-probe.json"
      ],
      "pathId": "home"
    },
    {
      "id": "F04",
      "severity": "high",
      "confidence": "high",
      "summary": "Narrow screens receive a scaled desktop layout",
      "evidence": "Layout probes found no viewport meta and used a 1024px CSS viewport, scaling the desktop gallery into 360/780px captures.",
      "suggestedFix": "Serve a valid width=device-width, initial-scale=1 viewport and reflow the gallery/navigation with intrinsic responsive layout.",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "responsive-no-horizontal-scroll",
      "guidanceId": "fluid-scaling",
      "guidanceCategory": "css",
      "effort": "medium",
      "artifacts": [
        "evidence/home-mobile-layout.json",
        "evidence/home-mobile.png"
      ],
      "pathId": "home"
    },
    {
      "id": "F05",
      "severity": "high",
      "confidence": "high",
      "summary": "Keyboard focus is invisible on several controls",
      "evidence": "The focus walk found user-menu buttons/links with outline:none and no replacement shadow.",
      "suggestedFix": "Add a strong :focus-visible treatment and ensure hidden menu controls cannot receive focus.",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "input-modality-aware",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "effort": "small",
      "artifacts": [
        "evidence/comprehensive-probe.json"
      ],
      "pathId": "home"
    },
    {
      "id": "F06",
      "severity": "high",
      "confidence": "high",
      "summary": "Core public routes fail with an unrecoverable edge error",
      "evidence": "Tag, artwork, profile, and shop attempts returned generic CloudFront 403 pages without navigation or recovery actions.",
      "suggestedFix": "Fix edge/WAF routing for legitimate browser traffic and serve a branded retry/back state for transient failures.",
      "principleId": "support-core-task-success",
      "principleCheckId": "clear-system-state-and-recovery",
      "guidanceId": "performance",
      "guidanceCategory": "performance",
      "effort": "large",
      "artifacts": [
        "evidence/path-art.png",
        "evidence/path-shop.png"
      ],
      "pathId": "home"
    },
    {
      "id": "F07",
      "severity": "high",
      "confidence": "high",
      "summary": "Mobile Core Web Vitals are poor",
      "evidence": "Lighthouse measured LCP 14.5s, CLS 0.641, TBT 200ms, and a 0.40 performance score.",
      "suggestedFix": "Profile LCP discovery, prioritise the hero artwork, reserve all feed geometry, and break up long tasks.",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "good-core-web-vitals",
      "guidanceId": "performance",
      "guidanceCategory": "performance",
      "effort": "large",
      "artifacts": [
        "evidence/lighthouse-summary.json"
      ],
      "pathId": "home"
    },
    {
      "id": "F08",
      "severity": "high",
      "confidence": "high",
      "summary": "The feed shifts substantially during load",
      "evidence": "Lighthouse measured CLS 0.641.",
      "suggestedFix": "Reserve image/card/banner dimensions and stabilise font and conditional-prompt space before paint.",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "visual-stability",
      "guidanceId": "performance",
      "guidanceCategory": "performance",
      "effort": "medium",
      "artifacts": [
        "evidence/lighthouse-summary.json"
      ],
      "pathId": "home"
    },
    {
      "id": "F09",
      "severity": "medium",
      "confidence": "high",
      "summary": "Long main-thread tasks delay responsiveness",
      "evidence": "The trace recorded three long tasks, longest 219ms, with 221ms total blocking time.",
      "suggestedFix": "Chunk, defer, or priority-schedule non-critical JavaScript and move suitable work off the main thread.",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "efficient-main-thread",
      "guidanceId": "break-up-long-tasks",
      "guidanceCategory": "performance",
      "effort": "medium",
      "artifacts": [
        "evidence/home-trace-summary.json"
      ],
      "pathId": "home"
    },
    {
      "id": "F10",
      "severity": "medium",
      "confidence": "high",
      "summary": "Initial resource delivery is heavy",
      "evidence": "The home load transferred 2.49MB over 89 requests, including a 420KB JS bundle and render-blocking stylesheet.",
      "suggestedFix": "Shorten the critical chain, split/defer non-critical bundles, and explicitly prioritise the LCP artwork.",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "efficient-resource-delivery",
      "guidanceId": "optimize-image-priority",
      "guidanceCategory": "performance",
      "effort": "large",
      "artifacts": [
        "evidence/home-success-summary.json"
      ],
      "pathId": "home"
    },
    {
      "id": "F11",
      "severity": "medium",
      "confidence": "high",
      "summary": "Large JavaScript dominates the first load",
      "evidence": "Seven scripts transferred 748KB; the largest was about 420KB.",
      "suggestedFix": "Use coverage to remove unused modules, split route-only code, and load optional features on demand.",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "trim-unused-and-duplicate-code",
      "guidanceId": "performance",
      "guidanceCategory": "performance",
      "effort": "large",
      "artifacts": [
        "evidence/home-success-summary.json"
      ],
      "pathId": "home"
    },
    {
      "id": "F12",
      "severity": "high",
      "confidence": "high",
      "summary": "Hidden controls remain exposed to assistive technology",
      "evidence": "Lighthouse found focusable descendants inside aria-hidden content and a visible-label/accessibility-name mismatch.",
      "suggestedFix": "When the menu is closed, use inert or remove controls from focus order; align accessible names with visible labels.",
      "principleId": "be-inclusive",
      "principleCheckId": "names-roles-labels",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "effort": "small",
      "artifacts": [
        "evidence/lighthouse-summary.json"
      ],
      "pathId": "home"
    },
    {
      "id": "F13",
      "severity": "high",
      "confidence": "high",
      "summary": "Focus management breaks in the hidden user menu",
      "evidence": "Focusable aria-hidden descendants and outline:none controls make keyboard state ambiguous.",
      "suggestedFix": "Use inert for closed UI, restore trigger focus on close, and provide visible :focus-visible styling.",
      "principleId": "be-inclusive",
      "principleCheckId": "structure-and-focus",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "effort": "small",
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/comprehensive-probe.json"
      ],
      "pathId": "home"
    },
    {
      "id": "F14",
      "severity": "high",
      "confidence": "high",
      "summary": "Mobile reflow relies on page scaling",
      "evidence": "The narrow probe used a 1024px CSS layout and no viewport meta, shrinking rather than reflowing text and controls.",
      "suggestedFix": "Restore a valid responsive viewport and verify 320px/400% zoom reflow without two-dimensional scrolling.",
      "principleId": "be-inclusive",
      "principleCheckId": "zoom-reflow-targets-and-media",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "effort": "medium",
      "artifacts": [
        "evidence/home-mobile-layout.json"
      ],
      "pathId": "home"
    },
    {
      "id": "F15",
      "severity": "low",
      "confidence": "high",
      "summary": "Production JavaScript source maps are unavailable",
      "evidence": "Lighthouse found one large script without a map and multiple map URLs returning 403.",
      "suggestedFix": "Publish valid protected production source maps to the error-monitoring/debug pipeline or remove broken references.",
      "principleId": "follow-best-practices",
      "principleCheckId": "browser-platform-hygiene",
      "guidanceId": "html",
      "guidanceCategory": "html",
      "effort": "small",
      "artifacts": [
        "evidence/lighthouse-summary.json"
      ],
      "pathId": "home"
    },
    {
      "id": "F16",
      "severity": "medium",
      "confidence": "high",
      "summary": "Mobile/search crawl signals are inconsistent",
      "evidence": "Lighthouse found a generic “Learn more” link and runtime layout probes found no viewport meta.",
      "suggestedFix": "Use destination-specific link text and consistently emit the viewport meta in every response variant.",
      "principleId": "be-discoverable",
      "principleCheckId": "crawlable-and-mobile-friendly",
      "guidanceId": "html",
      "guidanceCategory": "html",
      "effort": "small",
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/home-layout.json"
      ],
      "pathId": "home"
    },
    {
      "id": "F17",
      "severity": "medium",
      "confidence": "high",
      "summary": "No sitemap is available at the conventional endpoint",
      "evidence": "A direct /sitemap.xml request returned HTTP 404 despite the site hosting a very large public art catalog.",
      "suggestedFix": "Publish sitemap indexes for major public archetypes and reference them from robots.txt.",
      "principleId": "be-discoverable",
      "principleCheckId": "canonical-and-indexing-signals",
      "guidanceId": "html",
      "guidanceCategory": "html",
      "effort": "medium",
      "artifacts": [
        "evidence/robots-txt.txt"
      ],
      "pathId": "home"
    },
    {
      "id": "F18",
      "severity": "medium",
      "confidence": "high",
      "summary": "Cookie and CSP hardening is incomplete",
      "evidence": "CSP permits unsafe-eval/unsafe-inline and the td/userinfo cookies lacked Secure.",
      "suggestedFix": "Eliminate unsafe-eval, migrate inline execution to nonce/hash coverage, and mark all HTTPS cookies Secure with appropriate HttpOnly/SameSite flags.",
      "principleId": "be-private-and-secure",
      "principleCheckId": "secure-transport-and-headers",
      "guidanceId": "security",
      "guidanceCategory": "security",
      "effort": "medium",
      "artifacts": [
        "evidence/headers.json",
        "evidence/cookies-success.json"
      ],
      "pathId": "home"
    },
    {
      "id": "F19",
      "severity": "medium",
      "confidence": "high",
      "summary": "The initial page has a broad cross-origin footprint",
      "evidence": "HAR classified 87 of 89 requests and 2.33MB as cross-origin, including telemetry to frog.wix.com.",
      "suggestedFix": "Inventory cross-origin requests, remove low-value telemetry, batch analytics, and defer optional services until needed or consented.",
      "principleId": "be-private-and-secure",
      "principleCheckId": "data-minimisation-and-third-parties",
      "guidanceId": "privacy",
      "guidanceCategory": "privacy",
      "effort": "medium",
      "artifacts": [
        "evidence/home-success-summary.json",
        "evidence/trackers.json"
      ],
      "pathId": "home"
    },
    {
      "id": "F20",
      "severity": "medium",
      "confidence": "high",
      "summary": "Permissions-Policy is absent",
      "evidence": "The header primitive found no Permissions-Policy and CSP still allows unsafe-eval/unsafe-inline.",
      "suggestedFix": "Deploy a least-privilege Permissions-Policy and continue tightening CSP with report-only telemetry before enforcement changes.",
      "principleId": "be-private-and-secure",
      "principleCheckId": "defensive-browser-policies",
      "guidanceId": "security",
      "guidanceCategory": "security",
      "effort": "small",
      "artifacts": [
        "evidence/headers.json"
      ],
      "pathId": "home"
    },
    {
      "id": "F21",
      "severity": "medium",
      "confidence": "high",
      "summary": "Sign-in fields omit autocomplete tokens",
      "evidence": "The username field had no autocomplete value; search explicitly disabled autocomplete.",
      "suggestedFix": "Use autocomplete=username on sign-in identity and appropriate current-password/passkey tokens on the next step; avoid disabling useful completion without cause.",
      "principleId": "be-trustworthy",
      "principleCheckId": "trustworthy-input-assistance",
      "guidanceId": "autofill-sign-in-form",
      "guidanceCategory": "forms",
      "effort": "small",
      "artifacts": [
        "evidence/path-login.json"
      ],
      "pathId": "login"
    },
    {
      "id": "F22",
      "severity": "medium",
      "confidence": "high",
      "summary": "Initial background and script work is wasteful",
      "evidence": "Before interaction the page transferred 2.49MB and ran three long tasks totalling 221ms blocking time.",
      "suggestedFix": "Defer below-fold feed work, deprioritise background requests, and avoid initialising optional creator/AI features before intent.",
      "principleId": "be-sustainable",
      "principleCheckId": "no-wasteful-work",
      "guidanceId": "efficient-background-processing",
      "guidanceCategory": "performance",
      "effort": "large",
      "artifacts": [
        "evidence/home-success-summary.json",
        "evidence/home-trace-summary.json"
      ],
      "pathId": "home"
    },
    {
      "id": "F23",
      "severity": "medium",
      "confidence": "high",
      "summary": "Cross-origin script and font budget is high",
      "evidence": "Cross-origin delivery totalled 2.33MB, with 748KB of scripts and 113KB of fonts.",
      "suggestedFix": "Set an initial-load budget, subset/preload only essential fonts, split optional scripts, and defer lower-value cross-origin work.",
      "principleId": "be-sustainable",
      "principleCheckId": "third-party-and-media-budget",
      "guidanceId": "privacy",
      "guidanceCategory": "privacy",
      "effort": "large",
      "artifacts": [
        "evidence/home-success-summary.json"
      ],
      "pathId": "home"
    }
  ],
  "taskList": [
    {
      "id": "T01",
      "title": "Restore reliable edge delivery and recoverable failures",
      "priority": 1,
      "findingIds": [
        "F06"
      ],
      "guidanceId": "performance",
      "status": "open"
    },
    {
      "id": "T02",
      "title": "Fix LCP, CLS, and critical-path JavaScript",
      "priority": 2,
      "findingIds": [
        "F07",
        "F08",
        "F09",
        "F10",
        "F11"
      ],
      "guidanceId": "performance",
      "status": "open"
    },
    {
      "id": "T03",
      "title": "Restore true mobile viewport and reflow",
      "priority": 3,
      "findingIds": [
        "F04",
        "F14",
        "F16"
      ],
      "guidanceId": "fluid-scaling",
      "status": "open"
    },
    {
      "id": "T04",
      "title": "Fix hidden-menu semantics and keyboard focus",
      "priority": 4,
      "findingIds": [
        "F03",
        "F05",
        "F12",
        "F13"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T05",
      "title": "Harden CSP, cookies, and browser policies",
      "priority": 5,
      "findingIds": [
        "F18",
        "F20"
      ],
      "guidanceId": "security",
      "status": "open"
    },
    {
      "id": "T06",
      "title": "Reduce cross-origin and initial-load resource cost",
      "priority": 6,
      "findingIds": [
        "F19",
        "F22",
        "F23"
      ],
      "guidanceId": "privacy",
      "status": "open"
    },
    {
      "id": "T07",
      "title": "Respect the system theme preference",
      "priority": 7,
      "findingIds": [
        "F01"
      ],
      "guidanceId": "dark-mode",
      "status": "open"
    },
    {
      "id": "T08",
      "title": "Make the sign-up prompt non-obscuring and dismissible",
      "priority": 8,
      "findingIds": [
        "F02"
      ],
      "guidanceId": "declarative-dialog-popover-control",
      "status": "open"
    },
    {
      "id": "T09",
      "title": "Improve indexing and descriptive link signals",
      "priority": 9,
      "findingIds": [
        "F16",
        "F17"
      ],
      "guidanceId": "html",
      "status": "open"
    },
    {
      "id": "T10",
      "title": "Add sign-in autocomplete tokens",
      "priority": 10,
      "findingIds": [
        "F21"
      ],
      "guidanceId": "autofill-sign-in-form",
      "status": "open"
    },
    {
      "id": "T11",
      "title": "Restore production source-map hygiene",
      "priority": 11,
      "findingIds": [
        "F15"
      ],
      "guidanceId": "html",
      "status": "open"
    }
  ],
  "budget": {
    "pathCount": 6,
    "auditPasses": 1
  },
  "agent": "pi",
  "runId": "2026-07-28T01-42-32-801Z"
}
