{
  "url": "https://archiveofourown.org",
  "auditedAt": "2026-07-20T07:24:31.512Z",
  "mode": "report",
  "status": "completed",
  "statusDetail": "Coverage complete across 58 catalog checks and six representative public paths. Authenticated, posting, download, collection-management and account-settings flows were not covered because no credentials or mutation consent were supplied.",
  "page": {
    "appType": "mpa",
    "framework": "Ruby on Rails server-rendered MPA with legacy jQuery/jQuery UI",
    "notes": "Public nonprofit fanwork archive. Coverage includes entry, listing, search form/results, work detail, news and 404 templates. Excludes authenticated authoring/account surfaces, private works, downloads and destructive actions."
  },
  "evidenceUsed": [
    "screenshot",
    "transition-video",
    "dom",
    "evaluate-probe",
    "layout-metrics",
    "trace",
    "har",
    "discoverability",
    "headers",
    "cookies",
    "trackers",
    "secrets",
    "images",
    "heap-summary",
    "lighthouse"
  ],
  "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": "screenshot",
      "path": "evidence/404-mobile.png",
      "caption": "404 mobile.png",
      "condition": "viewport: 360x800",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/404-probe.json",
      "caption": "404 probe.json",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/article-mobile.png",
      "caption": "article mobile.png",
      "condition": "viewport: 360x800",
      "findingIds": [
        "F21"
      ]
    },
    {
      "type": "other",
      "path": "evidence/cookies.json",
      "caption": "cookies.json",
      "findingIds": [
        "F17"
      ]
    },
    {
      "type": "other",
      "path": "evidence/headers.json",
      "caption": "headers.json",
      "findingIds": [
        "F17",
        "F19"
      ]
    },
    {
      "type": "heap",
      "path": "evidence/heap-baseline.json",
      "caption": "heap baseline.json",
      "findingIds": []
    },
    {
      "type": "heap",
      "path": "evidence/heap-post-login-toggle-valid.json",
      "caption": "heap post login toggle valid.json",
      "findingIds": []
    },
    {
      "type": "heap",
      "path": "evidence/heap-post-login-toggle.json",
      "caption": "heap post login toggle.json",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/home-dark.png",
      "caption": "home dark.png",
      "condition": "prefers-color-scheme: dark",
      "findingIds": [
        "F01"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-desktop.png",
      "caption": "home desktop.png",
      "findingIds": [
        "F09"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-discoverability-crawler.png",
      "caption": "home discoverability crawler.png",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/home-discoverability-rendered.png",
      "caption": "home discoverability rendered.png",
      "findingIds": []
    },
    {
      "type": "discoverability",
      "path": "evidence/home-discoverability.json",
      "caption": "home discoverability.json",
      "findingIds": []
    },
    {
      "type": "dom",
      "path": "evidence/home-dom.json",
      "caption": "home dom.json",
      "findingIds": [
        "F02",
        "F04",
        "F05",
        "F06",
        "F18",
        "F20",
        "F23"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-forced-colors.png",
      "caption": "home forced colors.png",
      "condition": "forced-colors: active",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/home-images.json",
      "caption": "home images.json",
      "findingIds": [
        "F12",
        "F24"
      ]
    },
    {
      "type": "layout",
      "path": "evidence/home-layout-mobile.json",
      "caption": "home layout mobile.json",
      "condition": "viewport: 360x800",
      "findingIds": [
        "F11"
      ]
    },
    {
      "type": "layout",
      "path": "evidence/home-layout.json",
      "caption": "home layout.json",
      "findingIds": [
        "F12"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-mobile.png",
      "caption": "home mobile.png",
      "condition": "viewport: 360x800",
      "findingIds": [
        "F06",
        "F07"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-probe.json",
      "caption": "home probe.json",
      "findingIds": [
        "F02",
        "F05",
        "F10",
        "F15",
        "F18",
        "F22"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-recon.json",
      "caption": "home recon.json",
      "findingIds": []
    },
    {
      "type": "har-summary",
      "path": "evidence/home-summary.json",
      "caption": "home summary.json",
      "findingIds": [
        "F08",
        "F24",
        "F25"
      ]
    },
    {
      "type": "trace-summary",
      "path": "evidence/home-trace-summary.json",
      "caption": "home trace summary.json",
      "findingIds": []
    },
    {
      "type": "trace",
      "path": "evidence/home-trace.json",
      "caption": "home trace.json",
      "findingIds": []
    },
    {
      "type": "har",
      "path": "evidence/home.har",
      "caption": "home.har",
      "findingIds": [
        "F08"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse-details.json",
      "caption": "lighthouse details.json",
      "findingIds": [
        "F08",
        "F09",
        "F10",
        "F12",
        "F13"
      ]
    },
    {
      "type": "har-summary",
      "path": "evidence/lighthouse-home-summary.json",
      "caption": "lighthouse home summary.json",
      "findingIds": []
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse-home.json",
      "caption": "lighthouse home.json",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/login-open.png",
      "caption": "login open.png",
      "findingIds": []
    },
    {
      "type": "video",
      "path": "evidence/login-toggle.mp4",
      "caption": "login toggle.mp4",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/memory-live-probe.json",
      "caption": "memory live probe.json",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/mobile-targets.json",
      "caption": "mobile targets.json",
      "condition": "viewport: 360x800",
      "findingIds": [
        "F07",
        "F11"
      ]
    },
    {
      "type": "other",
      "path": "evidence/preferences-probe.json",
      "caption": "preferences probe.json",
      "findingIds": [
        "F01"
      ]
    },
    {
      "type": "other",
      "path": "evidence/reduced-motion-probe.json",
      "caption": "reduced motion probe.json",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/robots-sitemap.json",
      "caption": "robots sitemap.json",
      "findingIds": [
        "F15"
      ]
    },
    {
      "type": "other",
      "path": "evidence/script-placement.json",
      "caption": "script placement.json",
      "findingIds": [
        "F13"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/search-desktop.png",
      "caption": "search desktop.png",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/search-form-probe.json",
      "caption": "search form probe.json",
      "findingIds": [
        "F04"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/search-invalid-mobile.png",
      "caption": "search invalid mobile.png",
      "condition": "viewport: 360x800",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/search-invalid-probe.json",
      "caption": "search invalid probe.json",
      "findingIds": []
    },
    {
      "type": "layout",
      "path": "evidence/search-results-mobile-layout.json",
      "caption": "search results mobile layout.json",
      "condition": "viewport: 360x800",
      "findingIds": [
        "F03"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/search-results-mobile.png",
      "caption": "search results mobile.png",
      "condition": "viewport: 360x800",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/secrets.json",
      "caption": "secrets.json",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/trackers.json",
      "caption": "trackers.json",
      "findingIds": [
        "F25"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/work-detail-discoverability-crawler.png",
      "caption": "work detail discoverability crawler.png",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/work-detail-discoverability-rendered.png",
      "caption": "work detail discoverability rendered.png",
      "findingIds": []
    },
    {
      "type": "discoverability",
      "path": "evidence/work-detail-discoverability.json",
      "caption": "work detail discoverability.json",
      "findingIds": []
    },
    {
      "type": "dom",
      "path": "evidence/work-detail-dom.json",
      "caption": "work detail dom.json",
      "findingIds": [
        "F14"
      ]
    },
    {
      "type": "layout",
      "path": "evidence/work-detail-mobile-layout.json",
      "caption": "work detail mobile layout.json",
      "condition": "viewport: 360x800",
      "findingIds": [
        "F03"
      ]
    },
    {
      "type": "other",
      "path": "evidence/work-detail-probe.json",
      "caption": "work detail probe.json",
      "findingIds": [
        "F14",
        "F15",
        "F16",
        "F20",
        "F21",
        "F22"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/work-detail.png",
      "caption": "work detail.png",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/work-links.json",
      "caption": "work links.json",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/works-desktop.png",
      "caption": "works desktop.png",
      "findingIds": [
        "F06",
        "F21"
      ]
    },
    {
      "type": "dom",
      "path": "evidence/works-dom.json",
      "caption": "works dom.json",
      "findingIds": []
    }
  ],
  "config": {
    "loaded": false
  },
  "coverage": {
    "catalogVersion": "modern-web-guidance@0.0.172",
    "catalogChecksum": "sha256:78ccfdb2d483f4c57d9dafed80fd86c6265585a56457c8dcfddc254b80fb44d7",
    "expected": 58,
    "recorded": 58,
    "judged": 58,
    "blocked": 0,
    "notRun": 0,
    "missing": 0,
    "unknown": 0,
    "duplicates": 0,
    "complete": true
  },
  "checkOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-color-scheme",
      "status": "issues",
      "confidence": "high",
      "method": "Rendered DOM and computed-style probes, screenshots and check-specific objective evidence across representative paths.",
      "evidence": "The dark-mode screenshot is pixel-identical to the light desktop view; the preference probe reports colorScheme normal and body background rgb(255, 255, 255) while prefers-color-scheme: dark matches.",
      "pathIds": [
        "home",
        "works-list",
        "work-search",
        "work-detail",
        "news-article"
      ],
      "findingIds": [
        "F01"
      ],
      "artifacts": [
        "evidence/home-dark.png",
        "evidence/preferences-probe.json"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-reduced-motion",
      "status": "pass",
      "confidence": "high",
      "method": "Rendered DOM and computed-style probes, screenshots and check-specific objective evidence across representative paths.",
      "evidence": "Reduced-motion probe found no active animations and only two 25 ms color transitions.",
      "pathIds": [
        "home",
        "works-list",
        "work-search",
        "work-detail",
        "news-article"
      ],
      "artifacts": [
        "evidence/reduced-motion-probe.json"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-contrast",
      "status": "pass",
      "confidence": "high",
      "method": "Rendered DOM and computed-style probes, screenshots and check-specific objective evidence across representative paths.",
      "evidence": "Forced-colors screenshot preserves visible text, controls, borders and focus affordances.",
      "pathIds": [
        "home",
        "works-list",
        "work-search",
        "work-detail",
        "news-article"
      ],
      "artifacts": [
        "evidence/home-forced-colors.png"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "view-transitions",
      "status": "issues",
      "confidence": "high",
      "method": "Rendered DOM and computed-style probes, screenshots and check-specific objective evidence across representative paths.",
      "evidence": "DOM and stylesheet probes found no @view-transition rule or view-transition CSS on the representative MPA templates.",
      "pathIds": [
        "home",
        "works-list",
        "work-search",
        "work-detail",
        "news-article"
      ],
      "findingIds": [
        "F02"
      ],
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/home-dom.json"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "scroll-driven-animations",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon of representative templates and interaction inventory against the check applicability.",
      "evidence": "No scroll-linked animation, parallax, reveal or carousel interaction exists on the representative templates, so there is no implementation to assess.",
      "pathIds": [
        "home",
        "works-list",
        "work-search",
        "work-detail",
        "news-article"
      ],
      "reason": "No scroll-linked animation, parallax, reveal or carousel interaction exists on the representative templates, so there is no implementation to assess."
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "physical-gestures",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon of representative templates and interaction inventory against the check applicability.",
      "evidence": "The sampled MPA surfaces expose no swipe, pull, drag or gesture-driven control requiring a platform gesture implementation.",
      "pathIds": [
        "home",
        "works-list",
        "work-search",
        "work-detail",
        "news-article"
      ],
      "reason": "The sampled MPA surfaces expose no swipe, pull, drag or gesture-driven control requiring a platform gesture implementation."
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "scroll-state-aware-chrome",
      "status": "issues",
      "confidence": "high",
      "method": "Rendered DOM and computed-style probes, screenshots and check-specific objective evidence across representative paths.",
      "evidence": "The 4,613 px mobile search-results page and 3,306 px work detail keep static global chrome and expose no scroll-state queries or progress affordance.",
      "pathIds": [
        "home",
        "works-list",
        "work-search",
        "work-detail",
        "news-article"
      ],
      "findingIds": [
        "F03"
      ],
      "artifacts": [
        "evidence/search-results-mobile-layout.json",
        "evidence/work-detail-mobile-layout.json"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "anchored-positioning",
      "status": "issues",
      "confidence": "high",
      "method": "Rendered DOM and computed-style probes, screenshots and check-specific objective evidence across representative paths.",
      "evidence": "DOM inspection shows .dropdown-menu and custom #modal-wrap/#modal elements, with no anchor-name, position-anchor or position-try usage.",
      "pathIds": [
        "home",
        "works-list",
        "work-search",
        "work-detail",
        "news-article"
      ],
      "findingIds": [
        "F04"
      ],
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/search-form-probe.json"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "directs-attention",
      "status": "pass",
      "confidence": "high",
      "method": "Rendered DOM and computed-style probes, screenshots and check-specific objective evidence across representative paths.",
      "evidence": "Representative page loads land on descriptive headings and the mobile article highlights the current item in its local navigation.",
      "pathIds": [
        "home",
        "works-list",
        "work-search",
        "work-detail",
        "news-article"
      ],
      "artifacts": [
        "evidence/article-mobile.png"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "no-intrusive-interruptions",
      "status": "pass",
      "confidence": "high",
      "method": "Rendered DOM and computed-style probes, screenshots and check-specific objective evidence across representative paths.",
      "evidence": "Load screenshots across home, search, work and article templates show content immediately with no obscuring interstitial.",
      "pathIds": [
        "home",
        "works-list",
        "work-search",
        "work-detail",
        "news-article"
      ],
      "artifacts": [
        "evidence/home-desktop.png"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "semantic-dismissible-primitives",
      "status": "issues",
      "confidence": "high",
      "method": "Rendered DOM and computed-style probes, screenshots and check-specific objective evidence across representative paths.",
      "evidence": "The rendered DOM contains custom #modal-bg, #modal-wrap and #modal while the probe reports zero dialog, popover and details elements.",
      "pathIds": [
        "home",
        "works-list",
        "work-search",
        "work-detail",
        "news-article"
      ],
      "findingIds": [
        "F05"
      ],
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/home-probe.json"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "reduced-chrome",
      "status": "pass",
      "confidence": "high",
      "method": "Rendered DOM and computed-style probes, screenshots and check-specific objective evidence across representative paths.",
      "evidence": "Homepage and reading templates devote the main viewport to archive content with compact global navigation.",
      "pathIds": [
        "home",
        "works-list",
        "work-search",
        "work-detail",
        "news-article"
      ],
      "artifacts": [
        "evidence/work-detail.png"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "responsive-no-horizontal-scroll",
      "status": "pass",
      "confidence": "high",
      "method": "Rendered DOM and computed-style probes, screenshots and check-specific objective evidence across representative paths.",
      "evidence": "Layout primitives report 0 px overflow at 360 px on home, search results and work detail.",
      "pathIds": [
        "home",
        "works-list",
        "work-search",
        "work-detail",
        "news-article"
      ],
      "artifacts": [
        "evidence/home-layout-mobile.json"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "component-level-responsiveness",
      "status": "issues",
      "confidence": "high",
      "method": "Rendered DOM and computed-style probes, screenshots and check-specific objective evidence across representative paths.",
      "evidence": "Stylesheet inspection found no @container rules even though cards, forms and navigation modules are reused across wide and narrow contexts.",
      "pathIds": [
        "home",
        "works-list",
        "work-search",
        "work-detail",
        "news-article"
      ],
      "findingIds": [
        "F06"
      ],
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/home-mobile.png",
        "evidence/works-desktop.png"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "input-modality-aware",
      "status": "issues",
      "confidence": "high",
      "method": "Rendered DOM and computed-style probes, screenshots and check-specific objective evidence across representative paths.",
      "evidence": "The 360 px target probe lists primary navigation at 26 px high, Search at 22 px, news links at 13 to 16 px and footer links at 12 to 28 px.",
      "pathIds": [
        "home",
        "works-list",
        "work-search",
        "work-detail",
        "news-article"
      ],
      "findingIds": [
        "F07"
      ],
      "artifacts": [
        "evidence/mobile-targets.json",
        "evidence/home-mobile.png"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-purpose-and-primary-action",
      "status": "pass",
      "confidence": "high",
      "method": "Rendered DOM and computed-style probes, screenshots and check-specific objective evidence across representative paths.",
      "evidence": "First viewport states clear the archive purpose and expose fandom browse, search and account actions.",
      "pathIds": [
        "home",
        "works-list",
        "work-search",
        "work-detail",
        "news-article"
      ],
      "artifacts": [
        "evidence/home-desktop.png"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "primary-flow-completion",
      "status": "pass",
      "confidence": "high",
      "method": "Rendered DOM and computed-style probes, screenshots and check-specific objective evidence across representative paths.",
      "evidence": "The Work Search journey completed to 76,325 results for test and exposed Edit Your Search without an account wall.",
      "pathIds": [
        "home",
        "works-list",
        "work-search",
        "work-detail",
        "news-article"
      ],
      "artifacts": [
        "evidence/search-results-mobile.png"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-system-state-and-recovery",
      "status": "pass",
      "confidence": "high",
      "method": "Rendered DOM and computed-style probes, screenshots and check-specific objective evidence across representative paths.",
      "evidence": "The 404 route returns HTTP 404, names the failure clearly, and preserves global navigation and search.",
      "pathIds": [
        "home",
        "works-list",
        "work-search",
        "work-detail",
        "news-article"
      ],
      "artifacts": [
        "evidence/404-probe.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "good-core-web-vitals",
      "status": "pass",
      "confidence": "high",
      "method": "Rendered DOM and computed-style probes, screenshots and check-specific objective evidence across representative paths.",
      "evidence": "Trace measured FCP/LCP 922.74 ms, TBT 0 and layout CLS 0.0014; Lighthouse performance scored 1.0.",
      "pathIds": [
        "home",
        "works-list",
        "work-search",
        "work-detail",
        "news-article"
      ],
      "artifacts": [
        "evidence/home-trace-summary.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "visual-stability",
      "status": "pass",
      "confidence": "high",
      "method": "Rendered DOM and computed-style probes, screenshots and check-specific objective evidence across representative paths.",
      "evidence": "Desktop CLS was 0.0014 and mobile CLS was 0 with no observed shifts.",
      "pathIds": [
        "home",
        "works-list",
        "work-search",
        "work-detail",
        "news-article"
      ],
      "artifacts": [
        "evidence/home-layout.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-main-thread",
      "status": "pass",
      "confidence": "high",
      "method": "Rendered DOM and computed-style probes, screenshots and check-specific objective evidence across representative paths.",
      "evidence": "Trace found zero long tasks and 0 ms TBT; mobile search results recorded one borderline 50 ms task.",
      "pathIds": [
        "home",
        "works-list",
        "work-search",
        "work-detail",
        "news-article"
      ],
      "artifacts": [
        "evidence/home-trace-summary.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-resource-delivery",
      "status": "pass",
      "confidence": "high",
      "method": "Rendered DOM and computed-style probes, screenshots and check-specific objective evidence across representative paths.",
      "evidence": "HAR totals 28 requests and 207 KB with no missing cache headers or HTTP errors; trace LCP remained under 1 second.",
      "pathIds": [
        "home",
        "works-list",
        "work-search",
        "work-detail",
        "news-article"
      ],
      "artifacts": [
        "evidence/home-summary.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "trim-unused-and-duplicate-code",
      "status": "issues",
      "confidence": "high",
      "method": "Rendered DOM and computed-style probes, screenshots and check-specific objective evidence across representative paths.",
      "evidence": "Lighthouse estimates 53 KiB unused JavaScript in jQuery UI 1.10.0 (89.9 percent unused) and 17 KiB unused CSS (85.3 percent); HAR attributes 94,109 transferred bytes to the Google CDN.",
      "pathIds": [
        "home",
        "works-list",
        "work-search",
        "work-detail",
        "news-article"
      ],
      "findingIds": [
        "F08"
      ],
      "artifacts": [
        "evidence/lighthouse-details.json",
        "evidence/home-summary.json",
        "evidence/home.har"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "names-roles-labels",
      "status": "pass",
      "confidence": "high",
      "method": "Rendered DOM and computed-style probes, screenshots and check-specific objective evidence across representative paths.",
      "evidence": "Lighthouse label and link-name audits pass; DOM probes find labels for visible form fields and alt text on the logo.",
      "pathIds": [
        "home",
        "works-list",
        "work-search",
        "work-detail",
        "news-article"
      ],
      "artifacts": [
        "evidence/lighthouse-details.json"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "sufficient-contrast",
      "status": "issues",
      "confidence": "high",
      "method": "Rendered DOM and computed-style probes, screenshots and check-specific objective evidence across representative paths.",
      "evidence": "Lighthouse measured 3.61:1 for 12.25 px white text on #1185fe; 4.5:1 is required.",
      "pathIds": [
        "home",
        "works-list",
        "work-search",
        "work-detail",
        "news-article"
      ],
      "findingIds": [
        "F09"
      ],
      "artifacts": [
        "evidence/lighthouse-details.json",
        "evidence/home-desktop.png"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "structure-and-focus",
      "status": "issues",
      "confidence": "high",
      "method": "Rendered DOM and computed-style probes, screenshots and check-specific objective evidence across representative paths.",
      "evidence": "Lighthouse flags the account module h4 after the page h2 as invalid heading order.",
      "pathIds": [
        "home",
        "works-list",
        "work-search",
        "work-detail",
        "news-article"
      ],
      "findingIds": [
        "F10"
      ],
      "artifacts": [
        "evidence/lighthouse-details.json",
        "evidence/home-probe.json"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "legible-text",
      "status": "pass",
      "confidence": "high",
      "method": "Rendered DOM and computed-style probes, screenshots and check-specific objective evidence across representative paths.",
      "evidence": "Desktop and mobile screenshots show readable body copy, restrained line lengths and no clipping on sampled templates.",
      "pathIds": [
        "home",
        "works-list",
        "work-search",
        "work-detail",
        "news-article"
      ],
      "artifacts": [
        "evidence/home-mobile.png"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "zoom-reflow-targets-and-media",
      "status": "issues",
      "confidence": "high",
      "method": "Rendered DOM and computed-style probes, screenshots and check-specific objective evidence across representative paths.",
      "evidence": "Layout evidence shows no horizontal overflow at 360 px, while the target probe finds dozens of active controls below 44 px high.",
      "pathIds": [
        "home",
        "works-list",
        "work-search",
        "work-detail",
        "news-article"
      ],
      "findingIds": [
        "F11"
      ],
      "artifacts": [
        "evidence/home-layout-mobile.json",
        "evidence/mobile-targets.json"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "no-console-errors",
      "status": "pass",
      "confidence": "high",
      "method": "Rendered DOM and computed-style probes, screenshots and check-specific objective evidence across representative paths.",
      "evidence": "Lighthouse errors-in-console audit passes with an empty error table.",
      "pathIds": [
        "home",
        "works-list",
        "work-search",
        "work-detail",
        "news-article"
      ],
      "artifacts": [
        "evidence/lighthouse-details.json"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "sound-document-and-assets",
      "status": "issues",
      "confidence": "high",
      "method": "Rendered DOM and computed-style probes, screenshots and check-specific objective evidence across representative paths.",
      "evidence": "The images primitive reports missing width and height; Lighthouse expects about 80 by 56 pixels but receives 61 by 42, and the image contributes a small observed layout shift.",
      "pathIds": [
        "home",
        "works-list",
        "work-search",
        "work-detail",
        "news-article"
      ],
      "findingIds": [
        "F12"
      ],
      "artifacts": [
        "evidence/home-images.json",
        "evidence/lighthouse-details.json",
        "evidence/home-layout.json"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "browser-platform-hygiene",
      "status": "issues",
      "confidence": "high",
      "method": "Rendered DOM and computed-style probes, screenshots and check-specific objective evidence across representative paths.",
      "evidence": "The DOM loads jQuery 1.9.0 and jQuery UI 1.10.0; Lighthouse reports three deprecations from Cloudflare challenge code.",
      "pathIds": [
        "home",
        "works-list",
        "work-search",
        "work-detail",
        "news-article"
      ],
      "findingIds": [
        "F13"
      ],
      "artifacts": [
        "evidence/script-placement.json",
        "evidence/lighthouse-details.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "title-and-description",
      "status": "issues",
      "confidence": "high",
      "method": "Rendered DOM and computed-style probes, screenshots and check-specific objective evidence across representative paths.",
      "evidence": "The sampled work has a descriptive title but repeats the generic site description rather than summarizing the visible work.",
      "pathIds": [
        "home",
        "works-list",
        "work-search",
        "work-detail",
        "news-article"
      ],
      "findingIds": [
        "F14"
      ],
      "artifacts": [
        "evidence/work-detail-probe.json",
        "evidence/work-detail-dom.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "crawlable-and-mobile-friendly",
      "status": "pass",
      "confidence": "high",
      "method": "Rendered DOM and computed-style probes, screenshots and check-specific objective evidence across representative paths.",
      "evidence": "Links use real href values, viewport meta is present, public content is server rendered, and robots rules intentionally exclude search/query surfaces.",
      "pathIds": [
        "home",
        "works-list",
        "work-search",
        "work-detail",
        "news-article"
      ],
      "artifacts": [
        "evidence/home-discoverability.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "canonical-and-indexing-signals",
      "status": "issues",
      "confidence": "high",
      "method": "Rendered DOM and computed-style probes, screenshots and check-specific objective evidence across representative paths.",
      "evidence": "Home and sampled work probes found no rel=canonical; /sitemap.xml returned HTTP 404 while robots.txt defines crawler-specific policy.",
      "pathIds": [
        "home",
        "works-list",
        "work-search",
        "work-detail",
        "news-article"
      ],
      "findingIds": [
        "F15"
      ],
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/work-detail-probe.json",
        "evidence/robots-sitemap.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "structured-and-shareable-metadata",
      "status": "issues",
      "confidence": "high",
      "method": "Rendered DOM and computed-style probes, screenshots and check-specific objective evidence across representative paths.",
      "evidence": "The sampled work probe found no JSON-LD and no Open Graph tags despite representing a rich creative work entity.",
      "pathIds": [
        "home",
        "works-list",
        "work-search",
        "work-detail",
        "news-article"
      ],
      "findingIds": [
        "F16"
      ],
      "artifacts": [
        "evidence/work-detail-probe.json"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "secure-transport-and-headers",
      "status": "issues",
      "confidence": "high",
      "method": "Rendered DOM and computed-style probes, screenshots and check-specific objective evidence across representative paths.",
      "evidence": "Headers show no HSTS, CSP is limited to frame-ancestors, and _otwarchive_session is HttpOnly and SameSite=Lax but lacks Secure.",
      "pathIds": [
        "home",
        "works-list",
        "work-search",
        "work-detail",
        "news-article"
      ],
      "findingIds": [
        "F17"
      ],
      "artifacts": [
        "evidence/headers.json",
        "evidence/cookies.json"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "data-minimisation-and-third-parties",
      "status": "pass",
      "confidence": "high",
      "method": "Rendered DOM and computed-style probes, screenshots and check-specific objective evidence across representative paths.",
      "evidence": "Tracker probe found no known trackers and only one third-party origin; secrets scan found no exposed credentials.",
      "pathIds": [
        "home",
        "works-list",
        "work-search",
        "work-detail",
        "news-article"
      ],
      "artifacts": [
        "evidence/trackers.json"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "in-context-permissions-and-modern-auth",
      "status": "issues",
      "confidence": "high",
      "method": "Rendered DOM and computed-style probes, screenshots and check-specific objective evidence across representative paths.",
      "evidence": "The login DOM contains username and password controls but no WebAuthn or passkey affordance; no permission prompt fired on load.",
      "pathIds": [
        "home",
        "works-list",
        "work-search",
        "work-detail",
        "news-article"
      ],
      "findingIds": [
        "F18"
      ],
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/home-probe.json"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "defensive-browser-policies",
      "status": "issues",
      "confidence": "high",
      "method": "Rendered DOM and computed-style probes, screenshots and check-specific objective evidence across representative paths.",
      "evidence": "Clickjacking, nosniff and Referrer-Policy are present, but HSTS and Permissions-Policy are absent and CSP only defines frame-ancestors.",
      "pathIds": [
        "home",
        "works-list",
        "work-search",
        "work-detail",
        "news-article"
      ],
      "findingIds": [
        "F19"
      ],
      "artifacts": [
        "evidence/headers.json"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "progressive-enhancement",
      "status": "pass",
      "confidence": "high",
      "method": "Rendered DOM and computed-style probes, screenshots and check-specific objective evidence across representative paths.",
      "evidence": "Discoverability reports 100% homepage and 82% work-content coverage without JavaScript, with no empty app shell.",
      "pathIds": [
        "home",
        "works-list",
        "work-search",
        "work-detail",
        "news-article"
      ],
      "artifacts": [
        "evidence/home-discoverability.json"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "resilient-runtime-behaviour",
      "status": "pass",
      "confidence": "high",
      "method": "Rendered DOM and computed-style probes, screenshots and check-specific objective evidence across representative paths.",
      "evidence": "Menus have real fallback hrefs and sampled pages remained usable without JavaScript; no clipped overlay was observed in tested states.",
      "pathIds": [
        "home",
        "works-list",
        "work-search",
        "work-detail",
        "news-article"
      ],
      "artifacts": [
        "evidence/home-dom.json"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "offline-and-installable",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon of representative templates and interaction inventory against the check applicability.",
      "evidence": "AO3 is a server-rendered content archive rather than an installable app in the tested public scope; offline reading is separately available through downloads.",
      "pathIds": [
        "home",
        "works-list",
        "work-search",
        "work-detail",
        "news-article"
      ],
      "reason": "AO3 is a server-rendered content archive rather than an installable app in the tested public scope; offline reading is separately available through downloads."
    },
    {
      "principleId": "be-resilient",
      "checkId": "network-and-http-failure-states",
      "status": "pass",
      "confidence": "high",
      "method": "Rendered DOM and computed-style probes, screenshots and check-specific objective evidence across representative paths.",
      "evidence": "A deliberately missing path returns a clear 404 message while preserving site navigation and search.",
      "pathIds": [
        "home",
        "works-list",
        "work-search",
        "work-detail",
        "news-article"
      ],
      "artifacts": [
        "evidence/404-mobile.png"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "lang-dir-and-logical-properties",
      "status": "issues",
      "confidence": "high",
      "method": "Rendered DOM and computed-style probes, screenshots and check-specific objective evidence across representative paths.",
      "evidence": "CSS captured by the DOM primitive contains 95 physical left/right declarations versus 12 logical inline declarations; html has lang=en but no explicit dir.",
      "pathIds": [
        "home",
        "works-list",
        "work-search",
        "work-detail",
        "news-article"
      ],
      "findingIds": [
        "F20"
      ],
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/work-detail-probe.json"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "locale-aware-data",
      "status": "issues",
      "confidence": "high",
      "method": "Rendered DOM and computed-style probes, screenshots and check-specific objective evidence across representative paths.",
      "evidence": "Representative pages expose text such as 20 Jul 2026 and 2026-07-20 without time datetime semantics or evidence of locale-aware formatting.",
      "pathIds": [
        "home",
        "works-list",
        "work-search",
        "work-detail",
        "news-article"
      ],
      "findingIds": [
        "F21"
      ],
      "artifacts": [
        "evidence/work-detail-probe.json",
        "evidence/works-desktop.png",
        "evidence/article-mobile.png"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "time-zone-correctness",
      "status": "pass",
      "confidence": "high",
      "method": "Rendered DOM and computed-style probes, screenshots and check-specific objective evidence across representative paths.",
      "evidence": "News timestamps explicitly label UTC and sampled work publication dates are unambiguous ISO dates.",
      "pathIds": [
        "home",
        "works-list",
        "work-search",
        "work-detail",
        "news-article"
      ],
      "artifacts": [
        "evidence/home-dom.json"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "no-dark-patterns",
      "status": "pass",
      "confidence": "high",
      "method": "Rendered DOM and computed-style probes, screenshots and check-specific objective evidence across representative paths.",
      "evidence": "No consent wall, disguised advertisement, forced continuity or confirmshaming appeared in the sampled public browse, search and reading journeys.",
      "pathIds": [
        "home",
        "works-list",
        "work-search",
        "work-detail",
        "news-article"
      ],
      "artifacts": [
        "evidence/home-desktop.png"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "humane-error-handling",
      "status": "pass",
      "confidence": "high",
      "method": "Rendered DOM and computed-style probes, screenshots and check-specific objective evidence across representative paths.",
      "evidence": "Search accepts optional criteria without premature required errors; the invalid-looking date criterion remains editable and returns a transparent query summary.",
      "pathIds": [
        "home",
        "works-list",
        "work-search",
        "work-detail",
        "news-article"
      ],
      "artifacts": [
        "evidence/search-invalid-probe.json"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "trustworthy-input-assistance",
      "status": "issues",
      "confidence": "high",
      "method": "Rendered DOM and computed-style probes, screenshots and check-specific objective evidence across representative paths.",
      "evidence": "The username field uses autocomplete=on, while password, guest name and guest email fields omit purpose-specific tokens.",
      "pathIds": [
        "home",
        "works-list",
        "work-search",
        "work-detail",
        "news-article"
      ],
      "findingIds": [
        "F22"
      ],
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/work-detail-probe.json"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "safe-commercial-and-account-flows",
      "status": "issues",
      "confidence": "high",
      "method": "Rendered DOM and computed-style probes, screenshots and check-specific objective evidence across representative paths.",
      "evidence": "The public login surface has no passkey registration, authentication or management affordance, leaving a phishing-prone credential as the only visible method.",
      "pathIds": [
        "home",
        "works-list",
        "work-search",
        "work-detail",
        "news-article"
      ],
      "findingIds": [
        "F23"
      ],
      "artifacts": [
        "evidence/home-dom.json"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "optimised-assets",
      "status": "issues",
      "confidence": "high",
      "method": "Rendered DOM and computed-style probes, screenshots and check-specific objective evidence across representative paths.",
      "evidence": "The images primitive finds one PNG logo with no responsive source; HAR also transfers a 13,314-byte PNG texture on every homepage load.",
      "pathIds": [
        "home",
        "works-list",
        "work-search",
        "work-detail",
        "news-article"
      ],
      "findingIds": [
        "F24"
      ],
      "artifacts": [
        "evidence/home-images.json",
        "evidence/home-summary.json"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "no-wasteful-work",
      "status": "pass",
      "confidence": "high",
      "method": "Rendered DOM and computed-style probes, screenshots and check-specific objective evidence across representative paths.",
      "evidence": "Trace shows no background long tasks, HAR is 207 KB total, and no autoplay media exists on sampled templates.",
      "pathIds": [
        "home",
        "works-list",
        "work-search",
        "work-detail",
        "news-article"
      ],
      "artifacts": [
        "evidence/home-trace-summary.json"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "third-party-and-media-budget",
      "status": "issues",
      "confidence": "high",
      "method": "Rendered DOM and computed-style probes, screenshots and check-specific objective evidence across representative paths.",
      "evidence": "HAR records 94,109 of 206,994 bytes from ajax.googleapis.com, dominated by jQuery and jQuery UI, with no known tracker detected.",
      "pathIds": [
        "home",
        "works-list",
        "work-search",
        "work-detail",
        "news-article"
      ],
      "findingIds": [
        "F25"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/trackers.json"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "structured-agent-capabilities",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon of representative templates and interaction inventory against the check applicability.",
      "evidence": "AO3 explicitly disallows GPTBot, ChatGPT-User and CCBot in robots.txt, which evidences that agent-facing capability exposure is outside current intent.",
      "pathIds": [
        "home",
        "works-list",
        "work-search",
        "work-detail",
        "news-article"
      ],
      "reason": "AO3 explicitly disallows GPTBot, ChatGPT-User and CCBot in robots.txt, which evidences that agent-facing capability exposure is outside current intent."
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "on-device-inference",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon of representative templates and interaction inventory against the check applicability.",
      "evidence": "The public archive does not present an on-device inference use case, and its robots policy indicates no current agent-facing intent.",
      "pathIds": [
        "home",
        "works-list",
        "work-search",
        "work-detail",
        "news-article"
      ],
      "reason": "The public archive does not present an on-device inference use case, and its robots policy indicates no current agent-facing intent."
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-leak-under-repeated-interaction",
      "status": "pass",
      "confidence": "high",
      "method": "Rendered DOM and computed-style probes, screenshots and check-specific objective evidence across representative paths.",
      "evidence": "Ten login-menu toggles in one page session reduced reported used heap by 109,447 bytes after settling and left DOM count unchanged at 323.",
      "pathIds": [
        "home",
        "works-list",
        "work-search",
        "work-detail",
        "news-article"
      ],
      "artifacts": [
        "evidence/memory-live-probe.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "bounded-footprint",
      "status": "pass",
      "confidence": "high",
      "method": "Rendered DOM and computed-style probes, screenshots and check-specific objective evidence across representative paths.",
      "evidence": "Baseline heap summary reports 5.5 MB self size and 102,712 snapshot nodes, proportionate to the page and stable interaction probe.",
      "pathIds": [
        "home",
        "works-list",
        "work-search",
        "work-detail",
        "news-article"
      ],
      "artifacts": [
        "evidence/heap-baseline.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-detached-dom-or-unbounded-listeners",
      "status": "pass",
      "confidence": "high",
      "method": "Rendered DOM and computed-style probes, screenshots and check-specific objective evidence across representative paths.",
      "evidence": "Repeated toggling produced zero DOM-node growth; before/post heap summaries contain no reported Detached constructor population.",
      "pathIds": [
        "home",
        "works-list",
        "work-search",
        "work-detail",
        "news-article"
      ],
      "artifacts": [
        "evidence/memory-live-probe.json"
      ]
    }
  ],
  "principleOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F01"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F02"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F03",
        "F04"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F05"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F06",
        "F07"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "be-fast-and-stable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F08"
      ]
    },
    {
      "principleId": "be-inclusive",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F09",
        "F10",
        "F11"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F12",
        "F13"
      ]
    },
    {
      "principleId": "be-discoverable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F14",
        "F15",
        "F16"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F17",
        "F18",
        "F19"
      ]
    },
    {
      "principleId": "be-resilient",
      "expectation": "contextual",
      "status": "pass"
    },
    {
      "principleId": "be-internationalised",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F20",
        "F21"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F22",
        "F23"
      ]
    },
    {
      "principleId": "be-sustainable",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F24",
        "F25"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "expectation": "contextual",
      "status": "not-applicable",
      "reason": "All checks are outside current site intent or lack an applicable feature, as recorded in the check-specific rationales."
    },
    {
      "principleId": "be-memory-efficient",
      "expectation": "default",
      "status": "pass"
    }
  ],
  "paths": [
    {
      "id": "home",
      "description": "Homepage and global navigation, representing the entry point, site purpose, login affordance, news and fandom discovery.",
      "url": "https://archiveofourown.org/",
      "conditions": [
        "desktop",
        "viewport: 360x800",
        "prefers-color-scheme: dark",
        "prefers-reduced-motion: reduce",
        "forced-colors: active",
        "keyboard focus"
      ],
      "result": "issues"
    },
    {
      "id": "works-list",
      "description": "Recent Works listing, representing dense browse and result-card templates.",
      "url": "https://archiveofourown.org/works",
      "conditions": [
        "desktop",
        "viewport: 360x800"
      ],
      "result": "issues"
    },
    {
      "id": "work-search",
      "description": "Advanced Work Search plus a completed query for test, representing the primary find-a-work form and results journey.",
      "url": "https://archiveofourown.org/works/search",
      "conditions": [
        "desktop",
        "viewport: 360x800",
        "query results",
        "invalid-looking date input"
      ],
      "result": "issues"
    },
    {
      "id": "work-detail",
      "description": "A current public work, representing the core reading/detail template, work metadata and guest comment surface.",
      "url": "https://archiveofourown.org/works/88896646",
      "conditions": [
        "desktop",
        "viewport: 360x800",
        "JavaScript disabled crawler view"
      ],
      "result": "issues"
    },
    {
      "id": "news-article",
      "description": "A current AO3 News article, representing editorial content on mobile.",
      "url": "https://archiveofourown.org/admin_posts/35706",
      "conditions": [
        "viewport: 360x800"
      ],
      "result": "issues"
    },
    {
      "id": "not-found",
      "description": "A deliberately missing URL, representing HTTP error and recovery behavior.",
      "url": "https://archiveofourown.org/not-a-real-page-web-uplift",
      "conditions": [
        "viewport: 360x800"
      ],
      "result": "pass"
    }
  ],
  "findings": [
    {
      "id": "F01",
      "severity": "medium",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-color-scheme",
      "guidanceId": "dark-mode",
      "guidanceCategory": "modern-web-guidance",
      "confidence": "high",
      "summary": "The site ignores the user’s dark color-scheme preference.",
      "evidence": "The dark-mode screenshot is pixel-identical to the light desktop view; the preference probe reports colorScheme normal and body background rgb(255, 255, 255) while prefers-color-scheme: dark matches.",
      "suggestedFix": "Declare color-scheme and provide preference-driven dark surface, text, border and control colors with prefers-color-scheme or light-dark().",
      "effort": "medium",
      "pathId": "home",
      "url": "https://archiveofourown.org/",
      "artifacts": [
        "evidence/home-dark.png",
        "evidence/preferences-probe.json"
      ]
    },
    {
      "id": "F02",
      "severity": "low",
      "principleId": "implement-natural-interactions",
      "principleCheckId": "view-transitions",
      "guidanceId": "cross-document-transitions",
      "guidanceCategory": "modern-web-guidance",
      "confidence": "high",
      "summary": "Cross-document navigation changes abruptly with no View Transition support.",
      "evidence": "DOM and stylesheet probes found no @view-transition rule or view-transition CSS on the representative MPA templates.",
      "suggestedFix": "Add @view-transition { navigation: auto } with restrained transitions, and disable non-essential motion under prefers-reduced-motion.",
      "effort": "small",
      "pathId": "home",
      "url": "https://archiveofourown.org/",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/home-dom.json"
      ]
    },
    {
      "id": "F03",
      "severity": "low",
      "principleId": "provide-guided-navigation",
      "principleCheckId": "scroll-state-aware-chrome",
      "guidanceId": "shrinking-header-on-scroll",
      "guidanceCategory": "modern-web-guidance",
      "confidence": "high",
      "summary": "Long pages provide no scroll-state-aware orientation.",
      "evidence": "The 4,613 px mobile search-results page and 3,306 px work detail keep static global chrome and expose no scroll-state queries or progress affordance.",
      "suggestedFix": "Add a lightweight progress or condensed sticky navigation treatment on long result and reading templates, using scroll-state queries where support permits.",
      "effort": "medium",
      "pathId": "work-search",
      "url": "https://archiveofourown.org/works/search",
      "artifacts": [
        "evidence/search-results-mobile-layout.json",
        "evidence/work-detail-mobile-layout.json"
      ]
    },
    {
      "id": "F04",
      "severity": "low",
      "principleId": "provide-guided-navigation",
      "principleCheckId": "anchored-positioning",
      "guidanceId": "position-aware-tooltips",
      "guidanceCategory": "modern-web-guidance",
      "confidence": "high",
      "summary": "Menus and overlays use legacy manually positioned dropdown/modal markup.",
      "evidence": "DOM inspection shows .dropdown-menu and custom #modal-wrap/#modal elements, with no anchor-name, position-anchor or position-try usage.",
      "suggestedFix": "Use popover and CSS anchor positioning with position-try fallbacks for transient menus and tooltips.",
      "effort": "medium",
      "pathId": "home",
      "url": "https://archiveofourown.org/",
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/search-form-probe.json"
      ]
    },
    {
      "id": "F05",
      "severity": "medium",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "semantic-dismissible-primitives",
      "guidanceId": "declarative-dialog-popover-control",
      "guidanceCategory": "modern-web-guidance",
      "confidence": "high",
      "summary": "Custom div-based overlays replace semantic dialog and popover primitives.",
      "evidence": "The rendered DOM contains custom #modal-bg, #modal-wrap and #modal while the probe reports zero dialog, popover and details elements.",
      "suggestedFix": "Replace modal divs with dialog for modal flows and popover for transient UI, preserving focus, Escape and light-dismiss behavior.",
      "effort": "large",
      "pathId": "home",
      "url": "https://archiveofourown.org/",
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/home-probe.json"
      ]
    },
    {
      "id": "F06",
      "severity": "low",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "component-level-responsiveness",
      "guidanceId": "size-aware-styling",
      "guidanceCategory": "modern-web-guidance",
      "confidence": "high",
      "summary": "Responsive behavior relies on viewport styles rather than component-level adaptation.",
      "evidence": "Stylesheet inspection found no @container rules even though cards, forms and navigation modules are reused across wide and narrow contexts.",
      "suggestedFix": "Introduce container-type on reusable modules and size-aware @container rules where component context differs from viewport size.",
      "effort": "medium",
      "pathId": "home",
      "url": "https://archiveofourown.org/",
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/home-mobile.png",
        "evidence/works-desktop.png"
      ]
    },
    {
      "id": "F07",
      "severity": "high",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "input-modality-aware",
      "guidanceId": "accessibility",
      "guidanceCategory": "modern-web-guidance",
      "confidence": "high",
      "summary": "Many mobile controls and links have touch targets substantially below 44 by 44 CSS pixels.",
      "evidence": "The 360 px target probe lists primary navigation at 26 px high, Search at 22 px, news links at 13 to 16 px and footer links at 12 to 28 px.",
      "suggestedFix": "Increase interactive hit areas to at least 44 by 44 CSS pixels through padding and spacing while preserving visible focus styles.",
      "effort": "medium",
      "pathId": "home",
      "url": "https://archiveofourown.org/",
      "artifacts": [
        "evidence/mobile-targets.json",
        "evidence/home-mobile.png"
      ]
    },
    {
      "id": "F08",
      "severity": "medium",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "trim-unused-and-duplicate-code",
      "guidanceId": "identify-heavy-scripts",
      "guidanceCategory": "modern-web-guidance",
      "confidence": "high",
      "summary": "The homepage ships substantial unused legacy JavaScript and CSS.",
      "evidence": "Lighthouse estimates 53 KiB unused JavaScript in jQuery UI 1.10.0 (89.9 percent unused) and 17 KiB unused CSS (85.3 percent); HAR attributes 94,109 transferred bytes to the Google CDN.",
      "suggestedFix": "Load only the jQuery UI modules needed per template, remove obsolete dependencies, and split or conditionally load page-specific CSS and scripts.",
      "effort": "large",
      "pathId": "home",
      "url": "https://archiveofourown.org/",
      "artifacts": [
        "evidence/lighthouse-details.json",
        "evidence/home-summary.json",
        "evidence/home.har"
      ]
    },
    {
      "id": "F09",
      "severity": "medium",
      "principleId": "be-inclusive",
      "principleCheckId": "sufficient-contrast",
      "guidanceId": "accessibility",
      "guidanceCategory": "modern-web-guidance",
      "confidence": "high",
      "summary": "The Bluesky follow button fails WCAG AA text contrast.",
      "evidence": "Lighthouse measured 3.61:1 for 12.25 px white text on #1185fe; 4.5:1 is required.",
      "suggestedFix": "Darken the button background or enlarge and embolden the label until the computed contrast meets WCAG AA.",
      "effort": "trivial",
      "pathId": "home",
      "url": "https://archiveofourown.org/",
      "artifacts": [
        "evidence/lighthouse-details.json",
        "evidence/home-desktop.png"
      ]
    },
    {
      "id": "F10",
      "severity": "medium",
      "principleId": "be-inclusive",
      "principleCheckId": "structure-and-focus",
      "guidanceId": "accessibility",
      "guidanceCategory": "modern-web-guidance",
      "confidence": "high",
      "summary": "The homepage heading hierarchy skips a level.",
      "evidence": "Lighthouse flags the account module h4 after the page h2 as invalid heading order.",
      "suggestedFix": "Use a heading level that follows the surrounding document outline, and verify the hierarchy on every shared template.",
      "effort": "small",
      "pathId": "home",
      "url": "https://archiveofourown.org/",
      "artifacts": [
        "evidence/lighthouse-details.json",
        "evidence/home-probe.json"
      ]
    },
    {
      "id": "F11",
      "severity": "medium",
      "principleId": "be-inclusive",
      "principleCheckId": "zoom-reflow-targets-and-media",
      "guidanceId": "fluid-scaling",
      "guidanceCategory": "modern-web-guidance",
      "confidence": "high",
      "summary": "Mobile reflow succeeds, but target sizing does not remain comfortably operable.",
      "evidence": "Layout evidence shows no horizontal overflow at 360 px, while the target probe finds dozens of active controls below 44 px high.",
      "suggestedFix": "Keep the successful fluid reflow and increase touch target padding and separation across navigation, result cards and footer links.",
      "effort": "medium",
      "pathId": "home",
      "url": "https://archiveofourown.org/",
      "artifacts": [
        "evidence/home-layout-mobile.json",
        "evidence/mobile-targets.json"
      ]
    },
    {
      "id": "F12",
      "severity": "low",
      "principleId": "follow-best-practices",
      "principleCheckId": "sound-document-and-assets",
      "guidanceId": "optimize-image-priority",
      "guidanceCategory": "modern-web-guidance",
      "confidence": "high",
      "summary": "The shared logo lacks intrinsic dimensions and is too low-resolution for its rendered size at common device pixel ratios.",
      "evidence": "The images primitive reports missing width and height; Lighthouse expects about 80 by 56 pixels but receives 61 by 42, and the image contributes a small observed layout shift.",
      "suggestedFix": "Provide width and height attributes and an appropriately sized responsive source, preferably an SVG or higher-density raster.",
      "effort": "small",
      "pathId": "home",
      "url": "https://archiveofourown.org/",
      "artifacts": [
        "evidence/home-images.json",
        "evidence/lighthouse-details.json",
        "evidence/home-layout.json"
      ]
    },
    {
      "id": "F13",
      "severity": "medium",
      "principleId": "follow-best-practices",
      "principleCheckId": "browser-platform-hygiene",
      "guidanceId": "security",
      "guidanceCategory": "modern-web-guidance",
      "confidence": "high",
      "summary": "The page depends on stale libraries and a third-party script emitting deprecated API warnings.",
      "evidence": "The DOM loads jQuery 1.9.0 and jQuery UI 1.10.0; Lighthouse reports three deprecations from Cloudflare challenge code.",
      "suggestedFix": "Upgrade or remove legacy libraries, audit vulnerable transitive code, and coordinate with the edge provider to eliminate deprecated browser APIs.",
      "effort": "large",
      "pathId": "home",
      "url": "https://archiveofourown.org/",
      "artifacts": [
        "evidence/script-placement.json",
        "evidence/lighthouse-details.json"
      ]
    },
    {
      "id": "F14",
      "severity": "medium",
      "principleId": "be-discoverable",
      "principleCheckId": "title-and-description",
      "guidanceId": "html",
      "guidanceCategory": "modern-web-guidance",
      "confidence": "high",
      "summary": "Detail and article templates do not provide page-specific meta descriptions.",
      "evidence": "The sampled work has a descriptive title but repeats the generic site description rather than summarizing the visible work.",
      "suggestedFix": "Generate concise, safe page-specific descriptions from public metadata, respecting author privacy and content-warning rules.",
      "effort": "medium",
      "pathId": "work-detail",
      "url": "https://archiveofourown.org/works/88896646",
      "artifacts": [
        "evidence/work-detail-probe.json",
        "evidence/work-detail-dom.json"
      ]
    },
    {
      "id": "F15",
      "severity": "medium",
      "principleId": "be-discoverable",
      "principleCheckId": "canonical-and-indexing-signals",
      "guidanceId": "html",
      "guidanceCategory": "modern-web-guidance",
      "confidence": "high",
      "summary": "Public pages lack canonical links and the expected sitemap endpoint returns 404.",
      "evidence": "Home and sampled work probes found no rel=canonical; /sitemap.xml returned HTTP 404 while robots.txt defines crawler-specific policy.",
      "suggestedFix": "Publish canonical URLs for public templates and provide segmented sitemaps that honor robots and content-visibility policy.",
      "effort": "large",
      "pathId": "home",
      "url": "https://archiveofourown.org/",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/work-detail-probe.json",
        "evidence/robots-sitemap.json"
      ]
    },
    {
      "id": "F16",
      "severity": "medium",
      "principleId": "be-discoverable",
      "principleCheckId": "structured-and-shareable-metadata",
      "guidanceId": "html",
      "guidanceCategory": "modern-web-guidance",
      "confidence": "high",
      "summary": "Public works and news lack structured data and social-preview metadata.",
      "evidence": "The sampled work probe found no JSON-LD and no Open Graph tags despite representing a rich creative work entity.",
      "suggestedFix": "Add privacy-safe schema.org CreativeWork or Article JSON-LD and Open Graph metadata aligned with visible content and warnings.",
      "effort": "medium",
      "pathId": "work-detail",
      "url": "https://archiveofourown.org/works/88896646",
      "artifacts": [
        "evidence/work-detail-probe.json"
      ]
    },
    {
      "id": "F17",
      "severity": "high",
      "principleId": "be-private-and-secure",
      "principleCheckId": "secure-transport-and-headers",
      "guidanceId": "security",
      "guidanceCategory": "modern-web-guidance",
      "confidence": "high",
      "summary": "Transport defenses and session-cookie settings are incomplete.",
      "evidence": "Headers show no HSTS, CSP is limited to frame-ancestors, and _otwarchive_session is HttpOnly and SameSite=Lax but lacks Secure.",
      "suggestedFix": "Mark the session cookie Secure, deploy HSTS after subdomain review, and expand CSP beyond clickjacking protection with nonces or hashes for scripts.",
      "effort": "large",
      "pathId": "home",
      "url": "https://archiveofourown.org/",
      "artifacts": [
        "evidence/headers.json",
        "evidence/cookies.json"
      ]
    },
    {
      "id": "F18",
      "severity": "medium",
      "principleId": "be-private-and-secure",
      "principleCheckId": "in-context-permissions-and-modern-auth",
      "guidanceId": "passkeys",
      "guidanceCategory": "modern-web-guidance",
      "confidence": "high",
      "summary": "Sign-in exposes password authentication without a phishing-resistant passkey path.",
      "evidence": "The login DOM contains username and password controls but no WebAuthn or passkey affordance; no permission prompt fired on load.",
      "suggestedFix": "Add passkey registration and authentication as a first-class option while retaining accessible account recovery.",
      "effort": "large",
      "pathId": "home",
      "url": "https://archiveofourown.org/",
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/home-probe.json"
      ]
    },
    {
      "id": "F19",
      "severity": "medium",
      "principleId": "be-private-and-secure",
      "principleCheckId": "defensive-browser-policies",
      "guidanceId": "security",
      "guidanceCategory": "modern-web-guidance",
      "confidence": "high",
      "summary": "Browser-enforced policy coverage is partial.",
      "evidence": "Clickjacking, nosniff and Referrer-Policy are present, but HSTS and Permissions-Policy are absent and CSP only defines frame-ancestors.",
      "suggestedFix": "Add a restrictive Permissions-Policy, HSTS, and a complete CSP after measuring required origins and inline-script migration.",
      "effort": "large",
      "pathId": "home",
      "url": "https://archiveofourown.org/",
      "artifacts": [
        "evidence/headers.json"
      ]
    },
    {
      "id": "F20",
      "severity": "medium",
      "principleId": "be-internationalised",
      "principleCheckId": "lang-dir-and-logical-properties",
      "guidanceId": "translator",
      "guidanceCategory": "modern-web-guidance",
      "confidence": "high",
      "summary": "The stylesheet remains heavily dependent on physical left and right properties.",
      "evidence": "CSS captured by the DOM primitive contains 95 physical left/right declarations versus 12 logical inline declarations; html has lang=en but no explicit dir.",
      "suggestedFix": "Set dir and migrate layout-sensitive rules to logical margin, padding, border and inset properties, then test RTL content.",
      "effort": "large",
      "pathId": "home",
      "url": "https://archiveofourown.org/",
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/work-detail-probe.json"
      ]
    },
    {
      "id": "F21",
      "severity": "low",
      "principleId": "be-internationalised",
      "principleCheckId": "locale-aware-data",
      "guidanceId": "support-global-calendar-systems",
      "guidanceCategory": "modern-web-guidance",
      "confidence": "high",
      "summary": "Dates are rendered in fixed English or ISO-style text rather than user-locale-aware markup.",
      "evidence": "Representative pages expose text such as 20 Jul 2026 and 2026-07-20 without time datetime semantics or evidence of locale-aware formatting.",
      "suggestedFix": "Render dates through a locale-aware formatter and expose machine-readable datetime values in time elements.",
      "effort": "medium",
      "pathId": "works-list",
      "url": "https://archiveofourown.org/works",
      "artifacts": [
        "evidence/work-detail-probe.json",
        "evidence/works-desktop.png",
        "evidence/article-mobile.png"
      ]
    },
    {
      "id": "F22",
      "severity": "medium",
      "principleId": "be-trustworthy",
      "principleCheckId": "trustworthy-input-assistance",
      "guidanceId": "autofill-sign-in-form",
      "guidanceCategory": "modern-web-guidance",
      "confidence": "high",
      "summary": "Authentication and guest-input fields use incomplete autocomplete semantics.",
      "evidence": "The username field uses autocomplete=on, while password, guest name and guest email fields omit purpose-specific tokens.",
      "suggestedFix": "Use username and current-password for sign-in, plus name and email tokens for guest comments; use new-password only in account creation.",
      "effort": "small",
      "pathId": "home",
      "url": "https://archiveofourown.org/",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/work-detail-probe.json"
      ]
    },
    {
      "id": "F23",
      "severity": "medium",
      "principleId": "be-trustworthy",
      "principleCheckId": "safe-commercial-and-account-flows",
      "guidanceId": "passkey-management",
      "guidanceCategory": "modern-web-guidance",
      "confidence": "high",
      "summary": "The account flow relies on password-only authentication.",
      "evidence": "The public login surface has no passkey registration, authentication or management affordance, leaving a phishing-prone credential as the only visible method.",
      "suggestedFix": "Offer passkeys with clear fallback and recovery, and require proportionate reauthentication for sensitive account actions.",
      "effort": "large",
      "pathId": "home",
      "url": "https://archiveofourown.org/",
      "artifacts": [
        "evidence/home-dom.json"
      ]
    },
    {
      "id": "F24",
      "severity": "low",
      "principleId": "be-sustainable",
      "principleCheckId": "optimised-assets",
      "guidanceId": "deliver-optimized-decorative-images",
      "guidanceCategory": "modern-web-guidance",
      "confidence": "high",
      "summary": "Shared decorative and brand images use legacy PNG assets without responsive alternatives.",
      "evidence": "The images primitive finds one PNG logo with no responsive source; HAR also transfers a 13,314-byte PNG texture on every homepage load.",
      "suggestedFix": "Prefer vector or modern responsive assets and retain explicit dimensions; cache shared decorative assets aggressively.",
      "effort": "small",
      "pathId": "home",
      "url": "https://archiveofourown.org/",
      "artifacts": [
        "evidence/home-images.json",
        "evidence/home-summary.json"
      ]
    },
    {
      "id": "F25",
      "severity": "medium",
      "principleId": "be-sustainable",
      "principleCheckId": "third-party-and-media-budget",
      "guidanceId": "deprioritize-background-fetches",
      "guidanceCategory": "modern-web-guidance",
      "confidence": "high",
      "summary": "A third-party legacy script pair consumes nearly half the homepage transfer budget.",
      "evidence": "HAR records 94,109 of 206,994 bytes from ajax.googleapis.com, dominated by jQuery and jQuery UI, with no known tracker detected.",
      "suggestedFix": "Self-host a minimized, integrity-controlled subset or remove the dependency and defer non-critical code by template.",
      "effort": "large",
      "pathId": "home",
      "url": "https://archiveofourown.org/",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/trackers.json"
      ]
    }
  ],
  "taskList": [
    {
      "id": "T01",
      "title": "Mark the session cookie Secure, deploy HSTS after subdomain review, and expand CSP beyond clickjacking protection with nonces or hashes for scripts.",
      "priority": 1,
      "findingIds": [
        "F17"
      ],
      "guidanceId": "security",
      "status": "open"
    },
    {
      "id": "T02",
      "title": "Increase interactive hit areas to at least 44 by 44 CSS pixels through padding and spacing while preserving visible focus styles.",
      "priority": 2,
      "findingIds": [
        "F07"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T03",
      "title": "Load only the jQuery UI modules needed per template, remove obsolete dependencies, and split or conditionally load page-specific CSS and scripts.",
      "priority": 3,
      "findingIds": [
        "F08"
      ],
      "guidanceId": "identify-heavy-scripts",
      "status": "open"
    },
    {
      "id": "T04",
      "title": "Add a restrictive Permissions-Policy, HSTS, and a complete CSP after measuring required origins and inline-script migration.",
      "priority": 4,
      "findingIds": [
        "F19"
      ],
      "guidanceId": "security",
      "status": "open"
    },
    {
      "id": "T05",
      "title": "Darken the button background or enlarge and embolden the label until the computed contrast meets WCAG AA.",
      "priority": 5,
      "findingIds": [
        "F09"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T06",
      "title": "Use a heading level that follows the surrounding document outline, and verify the hierarchy on every shared template.",
      "priority": 6,
      "findingIds": [
        "F10"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T07",
      "title": "Generate concise, safe page-specific descriptions from public metadata, respecting author privacy and content-warning rules.",
      "priority": 7,
      "findingIds": [
        "F14"
      ],
      "guidanceId": "html",
      "status": "open"
    },
    {
      "id": "T08",
      "title": "Publish canonical URLs for public templates and provide segmented sitemaps that honor robots and content-visibility policy.",
      "priority": 8,
      "findingIds": [
        "F15"
      ],
      "guidanceId": "html",
      "status": "open"
    },
    {
      "id": "T09",
      "title": "Add privacy-safe schema.",
      "priority": 9,
      "findingIds": [
        "F16"
      ],
      "guidanceId": "html",
      "status": "open"
    },
    {
      "id": "T10",
      "title": "Add passkey registration and authentication as a first-class option while retaining accessible account recovery.",
      "priority": 10,
      "findingIds": [
        "F18"
      ],
      "guidanceId": "passkeys",
      "status": "open"
    },
    {
      "id": "T11",
      "title": "Set dir and migrate layout-sensitive rules to logical margin, padding, border and inset properties, then test RTL content.",
      "priority": 11,
      "findingIds": [
        "F20"
      ],
      "guidanceId": "translator",
      "status": "open"
    },
    {
      "id": "T12",
      "title": "Use username and current-password for sign-in, plus name and email tokens for guest comments; use new-password only in account creation.",
      "priority": 12,
      "findingIds": [
        "F22"
      ],
      "guidanceId": "autofill-sign-in-form",
      "status": "open"
    },
    {
      "id": "T13",
      "title": "Offer passkeys with clear fallback and recovery, and require proportionate reauthentication for sensitive account actions.",
      "priority": 13,
      "findingIds": [
        "F23"
      ],
      "guidanceId": "passkey-management",
      "status": "open"
    },
    {
      "id": "T14",
      "title": "Self-host a minimized, integrity-controlled subset or remove the dependency and defer non-critical code by template.",
      "priority": 14,
      "findingIds": [
        "F25"
      ],
      "guidanceId": "deprioritize-background-fetches",
      "status": "open"
    },
    {
      "id": "T15",
      "title": "Declare color-scheme and provide preference-driven dark surface, text, border and control colors with prefers-color-scheme or light-dark().",
      "priority": 15,
      "findingIds": [
        "F01"
      ],
      "guidanceId": "dark-mode",
      "status": "open"
    },
    {
      "id": "T16",
      "title": "Replace modal divs with dialog for modal flows and popover for transient UI, preserving focus, Escape and light-dismiss behavior.",
      "priority": 16,
      "findingIds": [
        "F05"
      ],
      "guidanceId": "declarative-dialog-popover-control",
      "status": "open"
    },
    {
      "id": "T17",
      "title": "Keep the successful fluid reflow and increase touch target padding and separation across navigation, result cards and footer links.",
      "priority": 17,
      "findingIds": [
        "F11"
      ],
      "guidanceId": "fluid-scaling",
      "status": "open"
    },
    {
      "id": "T18",
      "title": "Upgrade or remove legacy libraries, audit vulnerable transitive code, and coordinate with the edge provider to eliminate deprecated browser APIs.",
      "priority": 18,
      "findingIds": [
        "F13"
      ],
      "guidanceId": "security",
      "status": "open"
    },
    {
      "id": "T19",
      "title": "Render dates through a locale-aware formatter and expose machine-readable datetime values in time elements.",
      "priority": 19,
      "findingIds": [
        "F21"
      ],
      "guidanceId": "support-global-calendar-systems",
      "status": "open"
    },
    {
      "id": "T20",
      "title": "Add @view-transition { navigation: auto } with restrained transitions, and disable non-essential motion under prefers-reduced-motion.",
      "priority": 20,
      "findingIds": [
        "F02"
      ],
      "guidanceId": "cross-document-transitions",
      "status": "open"
    },
    {
      "id": "T21",
      "title": "Add a lightweight progress or condensed sticky navigation treatment on long result and reading templates, using scroll-state queries where support permits.",
      "priority": 21,
      "findingIds": [
        "F03"
      ],
      "guidanceId": "shrinking-header-on-scroll",
      "status": "open"
    },
    {
      "id": "T22",
      "title": "Use popover and CSS anchor positioning with position-try fallbacks for transient menus and tooltips.",
      "priority": 22,
      "findingIds": [
        "F04"
      ],
      "guidanceId": "position-aware-tooltips",
      "status": "open"
    },
    {
      "id": "T23",
      "title": "Introduce container-type on reusable modules and size-aware @container rules where component context differs from viewport size.",
      "priority": 23,
      "findingIds": [
        "F06"
      ],
      "guidanceId": "size-aware-styling",
      "status": "open"
    },
    {
      "id": "T24",
      "title": "Provide width and height attributes and an appropriately sized responsive source, preferably an SVG or higher-density raster.",
      "priority": 24,
      "findingIds": [
        "F12"
      ],
      "guidanceId": "optimize-image-priority",
      "status": "open"
    },
    {
      "id": "T25",
      "title": "Prefer vector or modern responsive assets and retain explicit dimensions; cache shared decorative assets aggressively.",
      "priority": 25,
      "findingIds": [
        "F24"
      ],
      "guidanceId": "deliver-optimized-decorative-images",
      "status": "open"
    }
  ],
  "budget": {
    "wallClockSeconds": 1800,
    "pathCount": 6,
    "auditPasses": 1
  },
  "agent": "pi",
  "runId": "2026-07-20T07-24-31-512Z"
}
