{
  "url": "https://m.dcinside.com",
  "auditedAt": "2026-07-22T08:19:40.534Z",
  "mode": "report",
  "status": "completed",
  "statusDetail": "All 58 catalog checks have one conclusive outcome. Five representative surfaces were inspected; authenticated, write/post, comment submission and destructive account actions were not exercised because they require credentials or mutate live community data.",
  "page": {
    "appType": "mpa",
    "framework": "Legacy server-rendered HTML with jQuery and Swiper; some feed modules injected client-side",
    "notes": "The mobile homepage links to a mini-gallery route that redirected to the desktop gall.dcinside.com template in the tested browser. Coverage excludes authenticated settings, posting, commenting, moderation, and checkout because they require credentials or alter live data."
  },
  "evidenceUsed": [
    "screenshot",
    "dom+css",
    "layout-metrics",
    "evaluate-probe",
    "trace",
    "har",
    "discoverability",
    "headers",
    "cookies",
    "trackers",
    "secrets",
    "images",
    "heap-summary",
    "lighthouse",
    "robots/sitemap fetch",
    "Modern Web Guidance 0.0.172"
  ],
  "guidanceConsulted": [
    "dark-mode",
    "adapt-scrollbar-to-contrast-preferences",
    "accessibility",
    "scroll-entry-exit-effects",
    "position-aware-tooltips",
    "navigation-drawer",
    "declarative-dialog-popover-control",
    "size-aware-styling",
    "required-field-feedback",
    "performance",
    "break-up-long-tasks",
    "identify-heavy-scripts",
    "html",
    "css",
    "search-hidden-content",
    "security",
    "privacy",
    "passkeys",
    "coordinate-global-events",
    "capture-location-agnostic-data",
    "validate-input-after-interaction",
    "autofill-sign-in-form",
    "deliver-optimized-decorative-images",
    "efficient-background-processing",
    "optimize-image-priority",
    "webmcp",
    "agentic-forms",
    "language-model",
    "manage-recurring-intervals"
  ],
  "artifacts": [
    {
      "type": "screenshot",
      "path": "evidence/home-mobile.png",
      "caption": "Homepage at 390x844",
      "condition": "viewport: 390x844",
      "findingIds": [
        "F07"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-dark.png",
      "caption": "Homepage under prefers-color-scheme: dark remains light",
      "condition": "prefers-color-scheme: dark",
      "findingIds": [
        "F01"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-contrast.png",
      "caption": "Homepage under forced-colors remains visible",
      "condition": "forced-colors: active; prefers-contrast: more",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/gallery-mobile.png",
      "caption": "Prominent gallery route redirects to a desktop-width listing",
      "condition": "viewport: 390x844",
      "findingIds": [
        "F02",
        "F05",
        "F08",
        "F10",
        "F17",
        "F29"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/article-mobile.png",
      "caption": "Article navigation returned a recoverable not-found state",
      "condition": "viewport: 390x844",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/aside-mobile.png",
      "caption": "Settings surface with custom toggle controls",
      "condition": "viewport: 390x844",
      "findingIds": [
        "F01",
        "F06"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/login-mobile.png",
      "caption": "Password-only login form",
      "condition": "viewport: 390x844",
      "findingIds": [
        "F26"
      ]
    },
    {
      "type": "dom",
      "path": "evidence/home-dom.json",
      "caption": "Rendered homepage DOM and CSS",
      "findingIds": [
        "F03",
        "F12",
        "F18",
        "F23",
        "F27"
      ]
    },
    {
      "type": "dom",
      "path": "evidence/gallery-dom.json",
      "caption": "Rendered gallery DOM after redirect",
      "findingIds": [
        "F05"
      ]
    },
    {
      "type": "dom",
      "path": "evidence/article-dom.json",
      "caption": "Rendered article error DOM",
      "findingIds": []
    },
    {
      "type": "dom",
      "path": "evidence/aside-dom.json",
      "caption": "Rendered settings DOM",
      "findingIds": [
        "F06",
        "F29"
      ]
    },
    {
      "type": "dom",
      "path": "evidence/login-dom.json",
      "caption": "Rendered login DOM",
      "findingIds": [
        "F26",
        "F30",
        "F31"
      ]
    },
    {
      "type": "layout",
      "path": "evidence/home-layout.json",
      "caption": "Mobile layout metrics and CLS",
      "findingIds": [
        "F04"
      ]
    },
    {
      "type": "trace",
      "path": "evidence/home-trace.json",
      "caption": "DevTools performance trace",
      "findingIds": []
    },
    {
      "type": "trace-summary",
      "path": "evidence/home-trace-summary.json",
      "caption": "Trace timing and main-thread summary",
      "findingIds": [
        "F11"
      ]
    },
    {
      "type": "har",
      "path": "evidence/home.har",
      "caption": "Homepage network archive",
      "findingIds": []
    },
    {
      "type": "har-summary",
      "path": "evidence/home-summary.json",
      "caption": "Network weight, third-party and delivery summary",
      "findingIds": [
        "F12",
        "F13",
        "F25",
        "F33",
        "F34"
      ]
    },
    {
      "type": "discoverability",
      "path": "evidence/discoverability",
      "caption": "Raw HTML versus rendered content comparison",
      "findingIds": [
        "F21",
        "F28"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/discoverability-rendered.png",
      "caption": "Rendered browser view",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/discoverability-crawler.png",
      "caption": "Crawler/no-JS view",
      "findingIds": [
        "F21",
        "F28"
      ]
    },
    {
      "type": "other",
      "path": "evidence/headers.json",
      "caption": "Security response-header inspection",
      "findingIds": [
        "F24",
        "F27"
      ]
    },
    {
      "type": "other",
      "path": "evidence/cookies.json",
      "caption": "Cookie attribute inspection",
      "findingIds": [
        "F24"
      ]
    },
    {
      "type": "other",
      "path": "evidence/trackers.json",
      "caption": "Third-party tracker inspection",
      "findingIds": [
        "F25",
        "F34"
      ]
    },
    {
      "type": "other",
      "path": "evidence/secrets.json",
      "caption": "Client secret scan",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/images.json",
      "caption": "Rendered image audit",
      "findingIds": [
        "F14",
        "F19",
        "F32"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-probe.json",
      "caption": "DOM, focus, target, metadata and platform-feature probe",
      "findingIds": [
        "F02",
        "F03",
        "F04",
        "F06",
        "F08",
        "F09",
        "F14",
        "F16",
        "F21",
        "F22",
        "F23",
        "F26"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-reduced-motion-probe.json",
      "caption": "Reduced-motion platform-feature probe",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/robots.txt",
      "caption": "Published robots policy",
      "findingIds": [
        "F22"
      ]
    },
    {
      "type": "other",
      "path": "evidence/sitemap.xml",
      "caption": "Response returned for /sitemap.xml",
      "findingIds": [
        "F22"
      ]
    },
    {
      "type": "heap",
      "path": "evidence/heap-baseline.heapsnapshot",
      "caption": "Baseline heap summary",
      "findingIds": [
        "F35"
      ]
    },
    {
      "type": "heap",
      "path": "evidence/heap-interacted.heapsnapshot",
      "caption": "Heap summary after repeated menu toggling and scrolling",
      "findingIds": [
        "F35"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse.json",
      "caption": "Lighthouse performance, accessibility, best-practices and SEO audit",
      "findingIds": [
        "F09",
        "F11",
        "F13",
        "F14",
        "F15",
        "F16",
        "F18",
        "F19",
        "F20",
        "F33"
      ]
    },
    {
      "type": "other",
      "path": "evidence/guidance-searches.jsonl",
      "caption": "Pinned Modern Web Guidance searches",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-retrieved.md",
      "caption": "Pinned Modern Web Guidance retrieved guides",
      "findingIds": []
    }
  ],
  "config": {
    "loaded": false
  },
  "coverage": {
    "catalogVersion": "modern-web-guidance@0.0.172",
    "catalogChecksum": "sha256:78ccfdb2d483f4c57d9dafed80fd86c6265585a56457c8dcfddc254b80fb44d7",
    "expected": 58,
    "recorded": 58,
    "judged": 58,
    "blocked": 0,
    "notRun": 0,
    "missing": 0,
    "unknown": 0,
    "duplicates": 0,
    "complete": true
  },
  "checkOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-color-scheme",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the artifact(s) cited for this check, judged against retrieved Modern Web Guidance.",
      "evidence": "The dark-condition screenshot is visually the same light theme as the default screenshot; the settings page exposes a separate manual night-mode toggle.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-dark.png",
        "evidence/aside-mobile.png"
      ],
      "findingIds": [
        "F01"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-reduced-motion",
      "status": "pass",
      "confidence": "high",
      "method": "Direct representative-path visual, DOM or objective probe inspection.",
      "evidence": "Reduced-motion probe reported zero active animations under prefers-reduced-motion: reduce.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-reduced-motion-probe.json"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-contrast",
      "status": "pass",
      "confidence": "high",
      "method": "Direct representative-path visual, DOM or objective probe inspection.",
      "evidence": "Forced-colors screenshot retained readable text, controls and boundaries.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-contrast.png"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "view-transitions",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the artifact(s) cited for this check, judged against retrieved Modern Web Guidance.",
      "evidence": "The DOM/CSS probe found zero view-transition usage across the homepage, while gallery navigation performs a full redirect to a different desktop surface.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/gallery-mobile.png"
      ],
      "findingIds": [
        "F02"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "scroll-driven-animations",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and representative-path DOM/visual inspection for the feature or intent required by this check.",
      "evidence": "No parallax, scrollytelling or scroll-linked reveal effect was observed, so there is no scroll-driven effect to implement.",
      "reason": "No parallax, scrollytelling or scroll-linked reveal effect was observed, so there is no scroll-driven effect to implement.",
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "physical-gestures",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the artifact(s) cited for this check, judged against retrieved Modern Web Guidance.",
      "evidence": "Rendered DOM includes Swiper and JavaScript-driven menus, while the probe found no scroll-snap or native disclosure primitives.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/home-probe.json"
      ],
      "findingIds": [
        "F03"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "scroll-state-aware-chrome",
      "status": "issues",
      "confidence": "medium",
      "method": "Direct inspection using the artifact(s) cited for this check, judged against retrieved Modern Web Guidance.",
      "evidence": "The 2,456px homepage has no scroll-state query or progress treatment in the DOM/CSS probe.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-layout.json",
        "evidence/home-probe.json"
      ],
      "findingIds": [
        "F04"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "anchored-positioning",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and representative-path DOM/visual inspection for the feature or intent required by this check.",
      "evidence": "No tooltip or edge-positioned popover was present in the representative unauthenticated surfaces.",
      "reason": "No tooltip or edge-positioned popover was present in the representative unauthenticated surfaces.",
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "directs-attention",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the artifact(s) cited for this check, judged against retrieved Modern Web Guidance.",
      "evidence": "Following a prominent mobile mini-gallery link redirects to a desktop listing rendered as tiny, unreadable content at 390px.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/gallery-mobile.png",
        "evidence/gallery-dom.json"
      ],
      "findingIds": [
        "F05"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "no-intrusive-interruptions",
      "status": "pass",
      "confidence": "high",
      "method": "Direct representative-path visual, DOM or objective probe inspection.",
      "evidence": "Initial homepage screenshot and overlay probe show no full-viewport interruption on load.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "semantic-dismissible-primitives",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the artifact(s) cited for this check, judged against retrieved Modern Web Guidance.",
      "evidence": "The settings DOM contains custom label-based switches and full custom layer popups; the homepage probe found zero dialog, popover, or details elements.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/aside-dom.json",
        "evidence/aside-mobile.png",
        "evidence/home-probe.json"
      ],
      "findingIds": [
        "F06"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "reduced-chrome",
      "status": "issues",
      "confidence": "medium",
      "method": "Direct inspection using the artifact(s) cited for this check, judged against retrieved Modern Web Guidance.",
      "evidence": "The first mobile viewport contains search, recent-gallery, four primary tabs, ranking controls, four feed tabs, carousel controls and multiple content modules before a stable reading hierarchy emerges.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png"
      ],
      "findingIds": [
        "F07"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "responsive-no-horizontal-scroll",
      "status": "pass",
      "confidence": "high",
      "method": "Direct representative-path visual, DOM or objective probe inspection.",
      "evidence": "Layout at 390px reported scrollWidth=clientWidth=390 and zero horizontal overflow.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-layout.json"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "component-level-responsiveness",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the artifact(s) cited for this check, judged against retrieved Modern Web Guidance.",
      "evidence": "The selected gallery route redirects to gall.dcinside.com and its entire desktop page is shrunk into the 390px capture; the probe found no container-query usage.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/gallery-mobile.png",
        "evidence/home-probe.json"
      ],
      "findingIds": [
        "F08"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "input-modality-aware",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the artifact(s) cited for this check, judged against retrieved Modern Web Guidance.",
      "evidence": "The active probe found many 20-38px controls; Lighthouse failed target-size, including 17px-high footer links. Keyboard focus was visible, but touch sizing is not adequate.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/lighthouse.json"
      ],
      "findingIds": [
        "F09"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-purpose-and-primary-action",
      "status": "pass",
      "confidence": "high",
      "method": "Direct representative-path visual, DOM or objective probe inspection.",
      "evidence": "Homepage first viewport clearly identifies the service and exposes search, gallery navigation and current content.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "primary-flow-completion",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the artifact(s) cited for this check, judged against retrieved Modern Web Guidance.",
      "evidence": "A prominent homepage gallery choice ends on a desktop listing whose content is illegibly scaled at the tested mobile viewport.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/gallery-mobile.png"
      ],
      "findingIds": [
        "F10"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-system-state-and-recovery",
      "status": "pass",
      "confidence": "high",
      "method": "Direct representative-path visual, DOM or objective probe inspection.",
      "evidence": "The unavailable article state clearly says the page cannot be found and provides Back and Gallery Home actions.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/article-mobile.png"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "good-core-web-vitals",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the artifact(s) cited for this check, judged against retrieved Modern Web Guidance.",
      "evidence": "Lighthouse measured 11.0s LCP, 9.4s FCP and 18.0s time to interactive; the independent trace measured 4.11s LCP. Both exceed good-range loading targets.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/home-trace-summary.json"
      ],
      "findingIds": [
        "F11"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "visual-stability",
      "status": "pass",
      "confidence": "high",
      "method": "Direct representative-path visual, DOM or objective probe inspection.",
      "evidence": "Layout observer measured CLS 0.028, within the good threshold.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-layout.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-main-thread",
      "status": "pass",
      "confidence": "high",
      "method": "Direct representative-path visual, DOM or objective probe inspection.",
      "evidence": "Trace recorded only two modest long tasks, 67.7ms maximum and 23ms total blocking time.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-trace-summary.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-resource-delivery",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the artifact(s) cited for this check, judged against retrieved Modern Web Guidance.",
      "evidence": "HAR recorded seven parser-blocking stylesheets and synchronous parser scripts; six CSS files over 2KB were uncompressed, including 373KB contents.css.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home-dom.json"
      ],
      "findingIds": [
        "F12"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "trim-unused-and-duplicate-code",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the artifact(s) cited for this check, judged against retrieved Modern Web Guidance.",
      "evidence": "Lighthouse estimated 787KiB unused CSS and 293KiB unused JavaScript; three separate gtag bundles each transfer about 163-165KB.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/home-summary.json"
      ],
      "findingIds": [
        "F13"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "names-roles-labels",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the artifact(s) cited for this check, judged against retrieved Modern Web Guidance.",
      "evidence": "Lighthouse failed button-name, link-name, frame-title and image-alt; the probe also found one visible unlabeled search input.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/home-probe.json",
        "evidence/images.json"
      ],
      "findingIds": [
        "F14"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "sufficient-contrast",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the artifact(s) cited for this check, judged against retrieved Modern Web Guidance.",
      "evidence": "Lighthouse measured 3.26:1 green ranking text and 2.03-2.14:1 orange tab text where 4.5:1 is required.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse.json"
      ],
      "findingIds": [
        "F15"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "structure-and-focus",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the artifact(s) cited for this check, judged against retrieved Modern Web Guidance.",
      "evidence": "Lighthouse found no main landmark and a non-sequential heading order. Focus is visible, but the structural defects impair assistive navigation.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/home-probe.json"
      ],
      "findingIds": [
        "F16"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "legible-text",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the artifact(s) cited for this check, judged against retrieved Modern Web Guidance.",
      "evidence": "The 390px gallery screenshot shows an entire desktop layout compressed into a narrow viewport, making labels and post rows unreadable without zoom.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/gallery-mobile.png"
      ],
      "findingIds": [
        "F17"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "zoom-reflow-targets-and-media",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the artifact(s) cited for this check, judged against retrieved Modern Web Guidance.",
      "evidence": "Lighthouse failed meta-viewport because maximum-scale is 2 and failed target-size; the DOM confirms the restrictive viewport metadata.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/home-dom.json"
      ],
      "findingIds": [
        "F18"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "no-console-errors",
      "status": "pass",
      "confidence": "high",
      "method": "Direct representative-path visual, DOM or objective probe inspection.",
      "evidence": "Lighthouse errors-in-console audit passed with no logged browser errors.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse.json"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "sound-document-and-assets",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the artifact(s) cited for this check, judged against retrieved Modern Web Guidance.",
      "evidence": "The image primitive found 100 images without width/height and Lighthouse enumerated distorted image aspect ratios.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/images.json",
        "evidence/lighthouse.json"
      ],
      "findingIds": [
        "F19"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "browser-platform-hygiene",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the artifact(s) cited for this check, judged against retrieved Modern Web Guidance.",
      "evidence": "Lighthouse reported the deprecated Topics API in t1.kakaocdn.net/kas/static/ba.min.js and failed inspector-issues.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse.json"
      ],
      "findingIds": [
        "F20"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "title-and-description",
      "status": "pass",
      "confidence": "high",
      "method": "Direct representative-path visual, DOM or objective probe inspection.",
      "evidence": "Rendered DOM contains a descriptive Korean title and meta description.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-dom.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "crawlable-and-mobile-friendly",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the artifact(s) cited for this check, judged against retrieved Modern Web Guidance.",
      "evidence": "The raw-vs-rendered check found only 19% content coverage without JavaScript, and the DOM probe counted 944 of 1,162 anchors with empty or javascript-style hrefs.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/discoverability",
        "evidence/discoverability-crawler.png",
        "evidence/home-probe.json"
      ],
      "findingIds": [
        "F21"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "canonical-and-indexing-signals",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the artifact(s) cited for this check, judged against retrieved Modern Web Guidance.",
      "evidence": "robots.txt is available, but /sitemap.xml returned the site not-found HTML; the mobile canonical points broadly to the desktop homepage instead of preserving the mobile URL relationship.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/robots.txt",
        "evidence/sitemap.xml",
        "evidence/home-probe.json"
      ],
      "findingIds": [
        "F22"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "structured-and-shareable-metadata",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the artifact(s) cited for this check, judged against retrieved Modern Web Guidance.",
      "evidence": "Open Graph/Twitter metadata exists, but the live probe found zero JSON-LD blocks for the site/organization entity.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/home-probe.json"
      ],
      "findingIds": [
        "F23"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "secure-transport-and-headers",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the artifact(s) cited for this check, judged against retrieved Modern Web Guidance.",
      "evidence": "Header inspection found no CSP, HSTS or nosniff; 14 cookies were observed and 14 were flagged insecure, with most lacking Secure and using SameSite=None.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/headers.json",
        "evidence/cookies.json"
      ],
      "findingIds": [
        "F24"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "data-minimisation-and-third-parties",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the artifact(s) cited for this check, judged against retrieved Modern Web Guidance.",
      "evidence": "Tracker inspection found five known tracker domains. HAR attributed 55 of 64 requests and 2.11MB of 2.30MB to non-main origins, including three gtag bundles.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/trackers.json",
        "evidence/home-summary.json"
      ],
      "findingIds": [
        "F25"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "in-context-permissions-and-modern-auth",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the artifact(s) cited for this check, judged against retrieved Modern Web Guidance.",
      "evidence": "The login DOM contains code and password fields without autocomplete tokens; no WebAuthn/passkey use was detected. No permission prompt fired on load.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/login-dom.json",
        "evidence/home-probe.json",
        "evidence/login-mobile.png"
      ],
      "findingIds": [
        "F26"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "defensive-browser-policies",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the artifact(s) cited for this check, judged against retrieved Modern Web Guidance.",
      "evidence": "Header inspection found no frame protection, Referrer-Policy or Permissions-Policy in addition to missing HSTS/CSP; the page declares an unsafe-url meta referrer policy.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/headers.json",
        "evidence/home-dom.json"
      ],
      "findingIds": [
        "F27"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "progressive-enhancement",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the artifact(s) cited for this check, judged against retrieved Modern Web Guidance.",
      "evidence": "The discoverability primitive found only 19% rendered-content coverage in raw HTML; the crawler screenshot contains placeholders rather than article text.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/discoverability",
        "evidence/discoverability-crawler.png"
      ],
      "findingIds": [
        "F28"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "resilient-runtime-behaviour",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the artifact(s) cited for this check, judged against retrieved Modern Web Guidance.",
      "evidence": "The settings DOM uses custom popup layers and JavaScript hrefs, while gallery navigation switches to a desktop template rather than adapting in place.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/aside-dom.json",
        "evidence/gallery-mobile.png"
      ],
      "findingIds": [
        "F29"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "offline-and-installable",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and representative-path DOM/visual inspection for the feature or intent required by this check.",
      "evidence": "This live community/feed service is intrinsically network-dependent; installability/offline app behavior is not part of the observed public intent.",
      "reason": "This live community/feed service is intrinsically network-dependent; installability/offline app behavior is not part of the observed public intent.",
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "network-and-http-failure-states",
      "status": "pass",
      "confidence": "medium",
      "method": "Direct representative-path visual, DOM or objective probe inspection.",
      "evidence": "Representative screenshots, DOM and active probes directly support this check with no observed divergence.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-dom.json"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "lang-dir-and-logical-properties",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and representative-path DOM/visual inspection for the feature or intent required by this check.",
      "evidence": "The audited service is deliberately Korean-language and region-specific; no alternate locale or bidi surface was offered.",
      "reason": "The audited service is deliberately Korean-language and region-specific; no alternate locale or bidi surface was offered.",
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "locale-aware-data",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and representative-path DOM/visual inspection for the feature or intent required by this check.",
      "evidence": "The representative public paths did not expose user-selectable locales or locale-sensitive currencies/calendars requiring cross-locale formatting.",
      "reason": "The representative public paths did not expose user-selectable locales or locale-sensitive currencies/calendars requiring cross-locale formatting.",
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "time-zone-correctness",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and representative-path DOM/visual inspection for the feature or intent required by this check.",
      "evidence": "No scheduling or cross-time-zone event workflow was present in the representative paths.",
      "reason": "No scheduling or cross-time-zone event workflow was present in the representative paths.",
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "no-dark-patterns",
      "status": "pass",
      "confidence": "high",
      "method": "Direct representative-path visual, DOM or objective probe inspection.",
      "evidence": "Reviewed homepage, settings and login screenshots show no consent wall, disguised ad control, confirmshaming or hidden pricing.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "humane-error-handling",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the artifact(s) cited for this check, judged against retrieved Modern Web Guidance.",
      "evidence": "Login inputs have labels but no required constraints or described error regions in the DOM; custom JavaScript owns submission feedback.",
      "pathIds": [
        "login"
      ],
      "artifacts": [
        "evidence/login-dom.json"
      ],
      "findingIds": [
        "F30"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "trustworthy-input-assistance",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the artifact(s) cited for this check, judged against retrieved Modern Web Guidance.",
      "evidence": "The login DOM shows code and password inputs with no autocomplete values, preventing reliable credential-manager assistance.",
      "pathIds": [
        "login"
      ],
      "artifacts": [
        "evidence/login-dom.json"
      ],
      "findingIds": [
        "F31"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "safe-commercial-and-account-flows",
      "status": "pass",
      "confidence": "high",
      "method": "Direct representative-path visual, DOM or objective probe inspection.",
      "evidence": "The observed account entry is clearly labelled, recovery/join links are visible, and login persistence is an explicit checkbox. No checkout/subscription flow was present.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/login-mobile.png"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "optimised-assets",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the artifact(s) cited for this check, judged against retrieved Modern Web Guidance.",
      "evidence": "The image audit found 17 oversized images, 100 without dimensions and almost no srcset use.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/images.json"
      ],
      "findingIds": [
        "F32"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "no-wasteful-work",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the artifact(s) cited for this check, judged against retrieved Modern Web Guidance.",
      "evidence": "Three gtag bundles transfer roughly 491KB total; Lighthouse estimated 293KiB unused JS and 787KiB unused CSS.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/lighthouse.json"
      ],
      "findingIds": [
        "F33"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "third-party-and-media-budget",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the artifact(s) cited for this check, judged against retrieved Modern Web Guidance.",
      "evidence": "HAR measured 2.11MB third-party transfer out of 2.30MB total and tracker inspection found 12 third-party origins.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/trackers.json"
      ],
      "findingIds": [
        "F34"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "structured-agent-capabilities",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and representative-path DOM/visual inspection for the feature or intent required by this check.",
      "evidence": "robots.txt explicitly opts named AI crawlers out, which is strong evidence that agent-facing capabilities are not intended for this site.",
      "reason": "robots.txt explicitly opts named AI crawlers out, which is strong evidence that agent-facing capabilities are not intended for this site.",
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "on-device-inference",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and representative-path DOM/visual inspection for the feature or intent required by this check.",
      "evidence": "No agent-facing or on-device inference intent was observed; the site explicitly blocks named AI crawlers in robots.txt.",
      "reason": "No agent-facing or on-device inference intent was observed; the site explicitly blocks named AI crawlers in robots.txt.",
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-leak-under-repeated-interaction",
      "status": "pass",
      "confidence": "high",
      "method": "Direct representative-path visual, DOM or objective probe inspection.",
      "evidence": "After ten menu toggle/scroll cycles, heap self size rose from 25.83MB to 26.05MB (~0.8%) and nodes from 418,426 to 419,747 (~0.3%); no unbounded growth was demonstrated in this bounded test.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-interacted.heapsnapshot"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "bounded-footprint",
      "status": "issues",
      "confidence": "medium",
      "method": "Direct inspection using the artifact(s) cited for this check, judged against retrieved Modern Web Guidance.",
      "evidence": "The heap summary contained about 418k nodes and 25.8MB self size. Repeated menu/scroll interaction grew only ~0.8%, but the baseline object population is substantial.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-baseline.heapsnapshot",
        "evidence/heap-interacted.heapsnapshot"
      ],
      "findingIds": [
        "F35"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-detached-dom-or-unbounded-listeners",
      "status": "pass",
      "confidence": "high",
      "method": "Direct representative-path visual, DOM or objective probe inspection.",
      "evidence": "Heap summaries showed no Detached* constructor among retained top populations and only negligible bounded growth after repeated interaction.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-interacted.heapsnapshot"
      ]
    }
  ],
  "principleOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F01"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F02",
        "F03"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F04",
        "F05"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F06",
        "F07"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F08",
        "F09"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F10"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F11",
        "F12",
        "F13"
      ]
    },
    {
      "principleId": "be-inclusive",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F14",
        "F15",
        "F16",
        "F17",
        "F18"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F19",
        "F20"
      ]
    },
    {
      "principleId": "be-discoverable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F21",
        "F22",
        "F23"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F24",
        "F25",
        "F26",
        "F27"
      ]
    },
    {
      "principleId": "be-resilient",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F28",
        "F29"
      ]
    },
    {
      "principleId": "be-internationalised",
      "expectation": "contextual",
      "status": "not-applicable",
      "reason": "The audited service is deliberately Korean-language and region-specific; no alternate locale or bidi surface was offered. The representative public paths did not expose user-selectable locales or locale-sensitive currencies/calendars requiring cross-locale formatting. No scheduling or cross-time-zone event workflow was present in the representative paths."
    },
    {
      "principleId": "be-trustworthy",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F30",
        "F31"
      ]
    },
    {
      "principleId": "be-sustainable",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F32",
        "F33",
        "F34"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "expectation": "contextual",
      "status": "not-applicable",
      "reason": "robots.txt explicitly opts named AI crawlers out, which is strong evidence that agent-facing capabilities are not intended for this site. No agent-facing or on-device inference intent was observed; the site explicitly blocks named AI crawlers in robots.txt."
    },
    {
      "principleId": "be-memory-efficient",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F35"
      ]
    }
  ],
  "paths": [
    {
      "id": "home",
      "description": "Mobile homepage and primary discovery/search surface; represents the entry template and content feed.",
      "url": "https://m.dcinside.com/",
      "conditions": [
        "viewport: 390x844",
        "prefers-color-scheme: dark",
        "prefers-reduced-motion: reduce",
        "forced-colors: active"
      ],
      "result": "issues"
    },
    {
      "id": "gallery",
      "description": "A prominent live mini-gallery reached from the homepage; represents listing/community navigation. It redirected to a desktop gall.dcinside.com listing.",
      "url": "https://m.dcinside.com/mini/vtubersnipe",
      "conditions": [
        "viewport: 390x844"
      ],
      "result": "issues"
    },
    {
      "id": "article-error",
      "description": "A live article link selected from the gallery listing; represents detail navigation and the not-found recovery state.",
      "url": "https://m.dcinside.com/mini/board/view/?id=vtubersnipe&no=12704235&page=1",
      "conditions": [
        "viewport: 390x844"
      ],
      "result": "issues"
    },
    {
      "id": "settings",
      "description": "All-services/settings surface; represents navigation, preferences and custom controls.",
      "url": "https://m.dcinside.com/aside",
      "conditions": [
        "viewport: 390x844"
      ],
      "result": "issues"
    },
    {
      "id": "login",
      "description": "Authentication form reached from the homepage; represents the primary account flow.",
      "url": "https://msign.dcinside.com/login?r_url=https%3A%2F%2Fm.dcinside.com",
      "conditions": [
        "viewport: 390x844"
      ],
      "result": "issues"
    }
  ],
  "findings": [
    {
      "id": "F01",
      "pathId": "home",
      "url": "https://m.dcinside.com/",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-color-scheme",
      "guidanceId": "dark-mode",
      "severity": "medium",
      "confidence": "high",
      "summary": "Dark preference does not activate the available night theme",
      "evidence": "The dark-condition screenshot is visually the same light theme as the default screenshot; the settings page exposes a separate manual night-mode toggle.",
      "artifacts": [
        "evidence/home-dark.png",
        "evidence/aside-mobile.png"
      ],
      "suggestedFix": "Connect the night palette to prefers-color-scheme and declare color-scheme, while retaining the explicit override.",
      "effort": "small"
    },
    {
      "id": "F02",
      "pathId": "home",
      "url": "https://m.dcinside.com/",
      "principleId": "implement-natural-interactions",
      "principleCheckId": "view-transitions",
      "guidanceId": "navigation-drawer",
      "severity": "low",
      "confidence": "high",
      "summary": "Route and state changes use abrupt legacy navigation",
      "evidence": "The DOM/CSS probe found zero view-transition usage across the homepage, while gallery navigation performs a full redirect to a different desktop surface.",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/gallery-mobile.png"
      ],
      "suggestedFix": "Use same-document or cross-document View Transitions for meaningful navigation changes, with reduced-motion handling.",
      "effort": "medium"
    },
    {
      "id": "F03",
      "pathId": "home",
      "url": "https://m.dcinside.com/",
      "principleId": "implement-natural-interactions",
      "principleCheckId": "physical-gestures",
      "guidanceId": "scroll-entry-exit-effects",
      "severity": "medium",
      "confidence": "high",
      "summary": "Carousel and disclosure interactions rely on legacy scripted controls",
      "evidence": "Rendered DOM includes Swiper and JavaScript-driven menus, while the probe found no scroll-snap or native disclosure primitives.",
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/home-probe.json"
      ],
      "suggestedFix": "Prefer scroll snap/overscroll and semantic controls for gesture surfaces; keep scripting as enhancement.",
      "effort": "medium"
    },
    {
      "id": "F04",
      "pathId": "home",
      "url": "https://m.dcinside.com/",
      "principleId": "provide-guided-navigation",
      "principleCheckId": "scroll-state-aware-chrome",
      "guidanceId": "navigation-drawer",
      "severity": "low",
      "confidence": "medium",
      "summary": "Long feeds provide no scroll-state-aware orientation",
      "evidence": "The 2,456px homepage has no scroll-state query or progress treatment in the DOM/CSS probe.",
      "artifacts": [
        "evidence/home-layout.json",
        "evidence/home-probe.json"
      ],
      "suggestedFix": "Add a restrained scroll-aware header or progress/back-to-top affordance where it improves orientation.",
      "effort": "small"
    },
    {
      "id": "F05",
      "pathId": "home",
      "url": "https://m.dcinside.com/",
      "principleId": "provide-guided-navigation",
      "principleCheckId": "directs-attention",
      "guidanceId": "navigation-drawer",
      "severity": "high",
      "confidence": "high",
      "summary": "A primary gallery route breaks mobile visual continuity",
      "evidence": "Following a prominent mobile mini-gallery link redirects to a desktop listing rendered as tiny, unreadable content at 390px.",
      "artifacts": [
        "evidence/gallery-mobile.png",
        "evidence/gallery-dom.json"
      ],
      "suggestedFix": "Preserve the mobile template and current-location context across gallery navigation.",
      "effort": "large"
    },
    {
      "id": "F06",
      "pathId": "home",
      "url": "https://m.dcinside.com/",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "semantic-dismissible-primitives",
      "guidanceId": "declarative-dialog-popover-control",
      "severity": "medium",
      "confidence": "high",
      "summary": "Settings and overlays use custom div/label controls instead of semantic primitives",
      "evidence": "The settings DOM contains custom label-based switches and full custom layer popups; the homepage probe found zero dialog, popover, or details elements.",
      "artifacts": [
        "evidence/aside-dom.json",
        "evidence/aside-mobile.png",
        "evidence/home-probe.json"
      ],
      "suggestedFix": "Use native dialog/popover/details and real checkbox/switch controls with names, states and keyboard behavior.",
      "effort": "medium"
    },
    {
      "id": "F07",
      "pathId": "home",
      "url": "https://m.dcinside.com/",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "reduced-chrome",
      "guidanceId": "html",
      "severity": "medium",
      "confidence": "medium",
      "summary": "The entry view is dense with competing navigation and feed chrome",
      "evidence": "The first mobile viewport contains search, recent-gallery, four primary tabs, ranking controls, four feed tabs, carousel controls and multiple content modules before a stable reading hierarchy emerges.",
      "artifacts": [
        "evidence/home-mobile.png"
      ],
      "suggestedFix": "Reduce competing chrome and make one primary content/navigation hierarchy dominant.",
      "effort": "medium"
    },
    {
      "id": "F08",
      "pathId": "home",
      "url": "https://m.dcinside.com/",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "component-level-responsiveness",
      "guidanceId": "size-aware-styling",
      "severity": "high",
      "confidence": "high",
      "summary": "A mobile route falls back to a desktop-width template",
      "evidence": "The selected gallery route redirects to gall.dcinside.com and its entire desktop page is shrunk into the 390px capture; the probe found no container-query usage.",
      "artifacts": [
        "evidence/gallery-mobile.png",
        "evidence/home-probe.json"
      ],
      "suggestedFix": "Serve a genuine mobile listing and use component-level responsive rules rather than shrinking a desktop canvas.",
      "effort": "large"
    },
    {
      "id": "F09",
      "pathId": "home",
      "url": "https://m.dcinside.com/",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "input-modality-aware",
      "guidanceId": "accessibility",
      "severity": "high",
      "confidence": "high",
      "summary": "Many mobile controls are below recommended target size",
      "evidence": "The active probe found many 20-38px controls; Lighthouse failed target-size, including 17px-high footer links. Keyboard focus was visible, but touch sizing is not adequate.",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/lighthouse.json"
      ],
      "suggestedFix": "Increase actionable areas and spacing to at least the guidance/WCAG target baseline without reducing visible focus.",
      "effort": "medium"
    },
    {
      "id": "F10",
      "pathId": "home",
      "url": "https://m.dcinside.com/",
      "principleId": "support-core-task-success",
      "principleCheckId": "primary-flow-completion",
      "guidanceId": "html",
      "severity": "high",
      "confidence": "high",
      "summary": "Homepage-to-gallery navigation does not preserve a usable mobile flow",
      "evidence": "A prominent homepage gallery choice ends on a desktop listing whose content is illegibly scaled at the tested mobile viewport.",
      "artifacts": [
        "evidence/gallery-mobile.png"
      ],
      "suggestedFix": "Keep listing and detail journeys on responsive templates with stable URLs and predictable back navigation.",
      "effort": "large"
    },
    {
      "id": "F11",
      "pathId": "home",
      "url": "https://m.dcinside.com/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "good-core-web-vitals",
      "guidanceId": "performance",
      "severity": "high",
      "confidence": "high",
      "summary": "Initial loading is slow",
      "evidence": "Lighthouse measured 11.0s LCP, 9.4s FCP and 18.0s time to interactive; the independent trace measured 4.11s LCP. Both exceed good-range loading targets.",
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/home-trace-summary.json"
      ],
      "suggestedFix": "Prioritise the LCP path, reduce blocking CSS/JS and defer non-critical feeds and analytics.",
      "effort": "large"
    },
    {
      "id": "F12",
      "pathId": "home",
      "url": "https://m.dcinside.com/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "efficient-resource-delivery",
      "guidanceId": "optimize-image-priority",
      "severity": "high",
      "confidence": "high",
      "summary": "Render-blocking and uncompressed resources delay content",
      "evidence": "HAR recorded seven parser-blocking stylesheets and synchronous parser scripts; six CSS files over 2KB were uncompressed, including 373KB contents.css.",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home-dom.json"
      ],
      "suggestedFix": "Compress and split CSS, defer non-critical styles/scripts, and shorten the critical dependency chain.",
      "effort": "large"
    },
    {
      "id": "F13",
      "pathId": "home",
      "url": "https://m.dcinside.com/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "trim-unused-and-duplicate-code",
      "guidanceId": "identify-heavy-scripts",
      "severity": "high",
      "confidence": "high",
      "summary": "The page ships large amounts of unused CSS and JavaScript",
      "evidence": "Lighthouse estimated 787KiB unused CSS and 293KiB unused JavaScript; three separate gtag bundles each transfer about 163-165KB.",
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/home-summary.json"
      ],
      "suggestedFix": "Remove duplicated analytics loads and deliver route/component-scoped CSS and JS.",
      "effort": "large"
    },
    {
      "id": "F14",
      "pathId": "home",
      "url": "https://m.dcinside.com/",
      "principleId": "be-inclusive",
      "principleCheckId": "names-roles-labels",
      "guidanceId": "accessibility",
      "severity": "high",
      "confidence": "high",
      "summary": "Core controls and content lack accessible names",
      "evidence": "Lighthouse failed button-name, link-name, frame-title and image-alt; the probe also found one visible unlabeled search input.",
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/home-probe.json",
        "evidence/images.json"
      ],
      "suggestedFix": "Give every control an accessible name, label search inputs, title frames, and provide meaningful or empty alt text as appropriate.",
      "effort": "medium"
    },
    {
      "id": "F15",
      "pathId": "home",
      "url": "https://m.dcinside.com/",
      "principleId": "be-inclusive",
      "principleCheckId": "sufficient-contrast",
      "guidanceId": "accessibility",
      "severity": "high",
      "confidence": "high",
      "summary": "Several text colors fail minimum contrast",
      "evidence": "Lighthouse measured 3.26:1 green ranking text and 2.03-2.14:1 orange tab text where 4.5:1 is required.",
      "artifacts": [
        "evidence/lighthouse.json"
      ],
      "suggestedFix": "Adjust foreground/background tokens to meet WCAG contrast in every theme and state.",
      "effort": "small"
    },
    {
      "id": "F16",
      "pathId": "home",
      "url": "https://m.dcinside.com/",
      "principleId": "be-inclusive",
      "principleCheckId": "structure-and-focus",
      "guidanceId": "accessibility",
      "severity": "medium",
      "confidence": "high",
      "summary": "Document structure is incomplete and heading order skips levels",
      "evidence": "Lighthouse found no main landmark and a non-sequential heading order. Focus is visible, but the structural defects impair assistive navigation.",
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/home-probe.json"
      ],
      "suggestedFix": "Add one main landmark and repair heading hierarchy while preserving the native visible focus outline.",
      "effort": "small"
    },
    {
      "id": "F17",
      "pathId": "home",
      "url": "https://m.dcinside.com/",
      "principleId": "be-inclusive",
      "principleCheckId": "legible-text",
      "guidanceId": "accessibility",
      "severity": "high",
      "confidence": "high",
      "summary": "Gallery content becomes illegibly small on mobile",
      "evidence": "The 390px gallery screenshot shows an entire desktop layout compressed into a narrow viewport, making labels and post rows unreadable without zoom.",
      "artifacts": [
        "evidence/gallery-mobile.png"
      ],
      "suggestedFix": "Use a mobile reading layout with fluid type and one-column content rather than scaling a desktop page.",
      "effort": "large"
    },
    {
      "id": "F18",
      "pathId": "home",
      "url": "https://m.dcinside.com/",
      "principleId": "be-inclusive",
      "principleCheckId": "zoom-reflow-targets-and-media",
      "guidanceId": "accessibility",
      "severity": "high",
      "confidence": "high",
      "summary": "Zoom is constrained and touch targets are undersized",
      "evidence": "Lighthouse failed meta-viewport because maximum-scale is 2 and failed target-size; the DOM confirms the restrictive viewport metadata.",
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/home-dom.json"
      ],
      "suggestedFix": "Allow unrestricted user zoom (or at least 5x) and enlarge/space controls.",
      "effort": "small"
    },
    {
      "id": "F19",
      "pathId": "home",
      "url": "https://m.dcinside.com/",
      "principleId": "follow-best-practices",
      "principleCheckId": "sound-document-and-assets",
      "guidanceId": "html",
      "severity": "medium",
      "confidence": "high",
      "summary": "Image sizing and aspect-ratio handling are unsound",
      "evidence": "The image primitive found 100 images without width/height and Lighthouse enumerated distorted image aspect ratios.",
      "artifacts": [
        "evidence/images.json",
        "evidence/lighthouse.json"
      ],
      "suggestedFix": "Reserve image dimensions/aspect-ratio and use object-fit only where deliberate cropping is intended.",
      "effort": "medium"
    },
    {
      "id": "F20",
      "pathId": "home",
      "url": "https://m.dcinside.com/",
      "principleId": "follow-best-practices",
      "principleCheckId": "browser-platform-hygiene",
      "guidanceId": "html",
      "severity": "medium",
      "confidence": "high",
      "summary": "A third-party script uses a deprecated browser API",
      "evidence": "Lighthouse reported the deprecated Topics API in t1.kakaocdn.net/kas/static/ba.min.js and failed inspector-issues.",
      "artifacts": [
        "evidence/lighthouse.json"
      ],
      "suggestedFix": "Update or remove the affected ad dependency and retest DevTools Issues.",
      "effort": "medium"
    },
    {
      "id": "F21",
      "pathId": "home",
      "url": "https://m.dcinside.com/",
      "principleId": "be-discoverable",
      "principleCheckId": "crawlable-and-mobile-friendly",
      "guidanceId": "search-hidden-content",
      "severity": "high",
      "confidence": "high",
      "summary": "Rendered content and links depend heavily on JavaScript",
      "evidence": "The raw-vs-rendered check found only 19% content coverage without JavaScript, and the DOM probe counted 944 of 1,162 anchors with empty or javascript-style hrefs.",
      "artifacts": [
        "evidence/discoverability",
        "evidence/discoverability-crawler.png",
        "evidence/home-probe.json"
      ],
      "suggestedFix": "Server-render meaningful feed/link content and use real href URLs, progressively enhancing interaction.",
      "effort": "large"
    },
    {
      "id": "F22",
      "pathId": "home",
      "url": "https://m.dcinside.com/",
      "principleId": "be-discoverable",
      "principleCheckId": "canonical-and-indexing-signals",
      "guidanceId": "html",
      "severity": "medium",
      "confidence": "high",
      "summary": "Sitemap/indexing signals are incomplete",
      "evidence": "robots.txt is available, but /sitemap.xml returned the site not-found HTML; the mobile canonical points broadly to the desktop homepage instead of preserving the mobile URL relationship.",
      "artifacts": [
        "evidence/robots.txt",
        "evidence/sitemap.xml",
        "evidence/home-probe.json"
      ],
      "suggestedFix": "Publish a valid sitemap and use page-specific canonical signals consistently across templates.",
      "effort": "medium"
    },
    {
      "id": "F23",
      "pathId": "home",
      "url": "https://m.dcinside.com/",
      "principleId": "be-discoverable",
      "principleCheckId": "structured-and-shareable-metadata",
      "guidanceId": "html",
      "severity": "low",
      "confidence": "high",
      "summary": "The organization/home entity lacks structured data",
      "evidence": "Open Graph/Twitter metadata exists, but the live probe found zero JSON-LD blocks for the site/organization entity.",
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/home-probe.json"
      ],
      "suggestedFix": "Add accurate WebSite/Organization JSON-LD aligned with visible content and existing social metadata.",
      "effort": "small"
    },
    {
      "id": "F24",
      "pathId": "home",
      "url": "https://m.dcinside.com/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "secure-transport-and-headers",
      "guidanceId": "security",
      "severity": "high",
      "confidence": "high",
      "summary": "Transport is HTTPS but defensive headers and cookie attributes are weak",
      "evidence": "Header inspection found no CSP, HSTS or nosniff; 14 cookies were observed and 14 were flagged insecure, with most lacking Secure and using SameSite=None.",
      "artifacts": [
        "evidence/headers.json",
        "evidence/cookies.json"
      ],
      "suggestedFix": "Deploy CSP, HSTS and nosniff, then mark HTTPS cookies Secure with the narrowest viable SameSite/HttpOnly policy.",
      "effort": "large"
    },
    {
      "id": "F25",
      "pathId": "home",
      "url": "https://m.dcinside.com/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "data-minimisation-and-third-parties",
      "guidanceId": "privacy",
      "severity": "high",
      "confidence": "high",
      "summary": "Tracking and third-party transfer are disproportionate",
      "evidence": "Tracker inspection found five known tracker domains. HAR attributed 55 of 64 requests and 2.11MB of 2.30MB to non-main origins, including three gtag bundles.",
      "artifacts": [
        "evidence/trackers.json",
        "evidence/home-summary.json"
      ],
      "suggestedFix": "Audit and consolidate analytics, obtain appropriate consent, minimise identifiers/events, and defer non-essential third parties.",
      "effort": "large"
    },
    {
      "id": "F26",
      "pathId": "home",
      "url": "https://m.dcinside.com/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "in-context-permissions-and-modern-auth",
      "guidanceId": "passkeys",
      "severity": "medium",
      "confidence": "high",
      "summary": "Authentication is password-only and lacks modern credential assistance",
      "evidence": "The login DOM contains code and password fields without autocomplete tokens; no WebAuthn/passkey use was detected. No permission prompt fired on load.",
      "artifacts": [
        "evidence/login-dom.json",
        "evidence/home-probe.json",
        "evidence/login-mobile.png"
      ],
      "suggestedFix": "Add correct username/current-password autocomplete and offer passkey/WebAuthn authentication.",
      "effort": "large"
    },
    {
      "id": "F27",
      "pathId": "home",
      "url": "https://m.dcinside.com/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "defensive-browser-policies",
      "guidanceId": "security",
      "severity": "high",
      "confidence": "high",
      "summary": "Browser-enforced defensive policies are absent",
      "evidence": "Header inspection found no frame protection, Referrer-Policy or Permissions-Policy in addition to missing HSTS/CSP; the page declares an unsafe-url meta referrer policy.",
      "artifacts": [
        "evidence/headers.json",
        "evidence/home-dom.json"
      ],
      "suggestedFix": "Set frame-ancestors, strict referrer and permissions policies, and evaluate Trusted Types/origin isolation for the script-heavy surface.",
      "effort": "large"
    },
    {
      "id": "F28",
      "pathId": "home",
      "url": "https://m.dcinside.com/",
      "principleId": "be-resilient",
      "principleCheckId": "progressive-enhancement",
      "guidanceId": "html",
      "severity": "high",
      "confidence": "high",
      "summary": "Most feed content disappears without JavaScript",
      "evidence": "The discoverability primitive found only 19% rendered-content coverage in raw HTML; the crawler screenshot contains placeholders rather than article text.",
      "artifacts": [
        "evidence/discoverability",
        "evidence/discoverability-crawler.png"
      ],
      "suggestedFix": "Server-render core listings and links, then progressively enhance carousels, ranking and personalization.",
      "effort": "large"
    },
    {
      "id": "F29",
      "pathId": "home",
      "url": "https://m.dcinside.com/",
      "principleId": "be-resilient",
      "principleCheckId": "resilient-runtime-behaviour",
      "guidanceId": "declarative-dialog-popover-control",
      "severity": "medium",
      "confidence": "high",
      "summary": "Custom overlays and desktop redirects make runtime behavior brittle",
      "evidence": "The settings DOM uses custom popup layers and JavaScript hrefs, while gallery navigation switches to a desktop template rather than adapting in place.",
      "artifacts": [
        "evidence/aside-dom.json",
        "evidence/gallery-mobile.png"
      ],
      "suggestedFix": "Use native top-layer primitives and stable responsive routes; retain state through navigation and DOM changes.",
      "effort": "large"
    },
    {
      "id": "F30",
      "pathId": "login",
      "url": "https://m.dcinside.com/",
      "principleId": "be-trustworthy",
      "principleCheckId": "humane-error-handling",
      "guidanceId": "validate-input-after-interaction",
      "severity": "medium",
      "confidence": "high",
      "summary": "The login form does not expose robust native validation semantics",
      "evidence": "Login inputs have labels but no required constraints or described error regions in the DOM; custom JavaScript owns submission feedback.",
      "artifacts": [
        "evidence/login-dom.json"
      ],
      "suggestedFix": "Use native constraints, validate after interaction, and connect clear errors with aria-invalid/aria-describedby and a live summary.",
      "effort": "medium"
    },
    {
      "id": "F31",
      "pathId": "login",
      "url": "https://m.dcinside.com/",
      "principleId": "be-trustworthy",
      "principleCheckId": "trustworthy-input-assistance",
      "guidanceId": "autofill-sign-in-form",
      "severity": "medium",
      "confidence": "high",
      "summary": "Sign-in fields omit autocomplete tokens",
      "evidence": "The login DOM shows code and password inputs with no autocomplete values, preventing reliable credential-manager assistance.",
      "artifacts": [
        "evidence/login-dom.json"
      ],
      "suggestedFix": "Use stable names and appropriate username/current-password autocomplete tokens.",
      "effort": "trivial"
    },
    {
      "id": "F32",
      "pathId": "home",
      "url": "https://m.dcinside.com/",
      "principleId": "be-sustainable",
      "principleCheckId": "optimised-assets",
      "guidanceId": "deliver-optimized-decorative-images",
      "severity": "medium",
      "confidence": "high",
      "summary": "Images are not responsively or dimensionally optimized",
      "evidence": "The image audit found 17 oversized images, 100 without dimensions and almost no srcset use.",
      "artifacts": [
        "evidence/images.json"
      ],
      "suggestedFix": "Serve responsive image candidates at display-appropriate sizes and include intrinsic dimensions.",
      "effort": "medium"
    },
    {
      "id": "F33",
      "pathId": "home",
      "url": "https://m.dcinside.com/",
      "principleId": "be-sustainable",
      "principleCheckId": "no-wasteful-work",
      "guidanceId": "efficient-background-processing",
      "severity": "high",
      "confidence": "high",
      "summary": "Duplicated analytics and unused code create avoidable work",
      "evidence": "Three gtag bundles transfer roughly 491KB total; Lighthouse estimated 293KiB unused JS and 787KiB unused CSS.",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/lighthouse.json"
      ],
      "suggestedFix": "Consolidate analytics and conditionally load only code needed for the current surface.",
      "effort": "large"
    },
    {
      "id": "F34",
      "pathId": "home",
      "url": "https://m.dcinside.com/",
      "principleId": "be-sustainable",
      "principleCheckId": "third-party-and-media-budget",
      "guidanceId": "privacy",
      "severity": "high",
      "confidence": "high",
      "summary": "Third-party cost dominates the page budget",
      "evidence": "HAR measured 2.11MB third-party transfer out of 2.30MB total and tracker inspection found 12 third-party origins.",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/trackers.json"
      ],
      "suggestedFix": "Set a third-party budget, remove duplicate trackers and defer ads/analytics until they provide user value or consent exists.",
      "effort": "large"
    },
    {
      "id": "F35",
      "pathId": "home",
      "url": "https://m.dcinside.com/",
      "principleId": "be-memory-efficient",
      "principleCheckId": "bounded-footprint",
      "guidanceId": "performance",
      "severity": "medium",
      "confidence": "medium",
      "summary": "The initial memory footprint is high for a mobile content index",
      "evidence": "The heap summary contained about 418k nodes and 25.8MB self size. Repeated menu/scroll interaction grew only ~0.8%, but the baseline object population is substantial.",
      "artifacts": [
        "evidence/heap-baseline.heapsnapshot",
        "evidence/heap-interacted.heapsnapshot"
      ],
      "suggestedFix": "Reduce duplicated DOM/carousel clones and unnecessary third-party runtime state; profile constructor populations after cleanup.",
      "effort": "large"
    }
  ],
  "taskList": [
    {
      "id": "T01",
      "title": "Restore a coherent responsive mobile gallery and article journey",
      "priority": 1,
      "findingIds": [
        "F05",
        "F08",
        "F10",
        "F17"
      ],
      "guidanceId": "size-aware-styling",
      "status": "open"
    },
    {
      "id": "T02",
      "title": "Fix accessible names, semantics, contrast, zoom and touch targets",
      "priority": 2,
      "findingIds": [
        "F09",
        "F14",
        "F15",
        "F16",
        "F18"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T03",
      "title": "Cut the critical path and remove duplicate analytics/CSS",
      "priority": 3,
      "findingIds": [
        "F11",
        "F12",
        "F13",
        "F33"
      ],
      "guidanceId": "performance",
      "status": "open"
    },
    {
      "id": "T04",
      "title": "Deploy defensive headers and secure cookie attributes",
      "priority": 4,
      "findingIds": [
        "F24",
        "F27"
      ],
      "guidanceId": "security",
      "status": "open"
    },
    {
      "id": "T05",
      "title": "Minimise tracking and enforce a third-party budget",
      "priority": 5,
      "findingIds": [
        "F25",
        "F34"
      ],
      "guidanceId": "privacy",
      "status": "open"
    },
    {
      "id": "T06",
      "title": "Server-render core feed content and real links",
      "priority": 6,
      "findingIds": [
        "F21",
        "F28"
      ],
      "guidanceId": "html",
      "status": "open"
    },
    {
      "id": "T07",
      "title": "Use semantic native overlays and controls",
      "priority": 7,
      "findingIds": [
        "F06",
        "F29"
      ],
      "guidanceId": "declarative-dialog-popover-control",
      "status": "open"
    },
    {
      "id": "T08",
      "title": "Connect dark mode to system preference",
      "priority": 8,
      "findingIds": [
        "F01"
      ],
      "guidanceId": "dark-mode",
      "status": "open"
    },
    {
      "id": "T09",
      "title": "Correct image sizing and responsive delivery",
      "priority": 9,
      "findingIds": [
        "F19",
        "F32"
      ],
      "guidanceId": "deliver-optimized-decorative-images",
      "status": "open"
    },
    {
      "id": "T10",
      "title": "Modernise login assistance, validation and passkeys",
      "priority": 10,
      "findingIds": [
        "F26",
        "F30",
        "F31"
      ],
      "guidanceId": "autofill-sign-in-form",
      "status": "open"
    }
  ],
  "budget": {
    "pathCount": 5,
    "auditPasses": 1
  },
  "agent": "pi",
  "runId": "2026-07-22T08-19-40-534Z"
}
