{
  "url": "https://e-okul.meb.gov.tr",
  "auditedAt": "2026-07-22T07:46:30.000Z",
  "mode": "report",
  "status": "completed",
  "statusDetail": "The requested origin returned an intentional geographic HTTP 403 gateway. That gateway and its explicitly linked, working eokulyd alternate landing page were both audited. Authenticated areas and credential submission were not covered.",
  "page": {
    "appType": "mpa",
    "framework": "Legacy ASP.NET/Bootstrap on alternate page; static legacy HTML gateway",
    "notes": "Representative coverage includes the requested geo gateway and its sole working recovery destination. Authenticated role-specific systems, deep exam routes, and credential submission were excluded because they require user credentials and represent separate protected journeys."
  },
  "evidenceUsed": [
    "screenshot",
    "dom+computed-styles",
    "layout-metrics",
    "evaluate-probe",
    "trace",
    "har",
    "discoverability",
    "headers",
    "cookies",
    "trackers",
    "secrets",
    "images",
    "heap-summary",
    "lighthouse"
  ],
  "guidanceConsulted": [
    "dark-mode",
    "accessibility",
    "css",
    "html",
    "forms",
    "performance",
    "security",
    "privacy",
    "passkey-authentication",
    "required-field-feedback",
    "validate-input-after-interaction",
    "accessible-error-announcement",
    "coordinate-global-events",
    "agentic-forms",
    "webmcp"
  ],
  "artifacts": [
    {
      "type": "screenshot",
      "path": "evidence/desktop.png",
      "caption": "Requested gateway at 1440x1000.",
      "condition": "desktop"
    },
    {
      "type": "screenshot",
      "path": "evidence/mobile.png",
      "caption": "Requested gateway scales a desktop-width page at 360x800.",
      "condition": "viewport: 360x800",
      "findingIds": [
        "F01",
        "F19"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/dark-reduce.png",
      "caption": "Gateway under dark and reduced-motion preferences remains light.",
      "condition": "prefers-color-scheme: dark; prefers-reduced-motion: reduce",
      "findingIds": [
        "F02"
      ]
    },
    {
      "type": "dom",
      "path": "evidence/dom.json",
      "caption": "Gateway DOM and computed-style evidence.",
      "findingIds": [
        "F01",
        "F14",
        "F18",
        "F19"
      ]
    },
    {
      "type": "layout",
      "path": "evidence/layout-mobile.json",
      "caption": "Gateway mobile layout metrics.",
      "condition": "viewport: 360x800",
      "findingIds": [
        "F01"
      ]
    },
    {
      "type": "trace-summary",
      "path": "evidence/trace-summary.json",
      "caption": "Gateway performance trace summary."
    },
    {
      "type": "har-summary",
      "path": "evidence/network-summary.json",
      "caption": "Gateway network summary (HTTP 403)."
    },
    {
      "type": "discoverability",
      "path": "evidence/discoverability.json",
      "caption": "Gateway raw/rendered discoverability report.",
      "findingIds": [
        "F10"
      ]
    },
    {
      "type": "other",
      "path": "evidence/headers.json",
      "caption": "Gateway response-header audit.",
      "findingIds": [
        "F11"
      ]
    },
    {
      "type": "heap",
      "path": "evidence/heap.json",
      "caption": "Gateway heap summary."
    },
    {
      "type": "screenshot",
      "path": "evidence/redirect-target.png",
      "caption": "Working alternate eokulyd landing page.",
      "condition": "desktop"
    },
    {
      "type": "screenshot",
      "path": "evidence/redirect-target-mobile.png",
      "caption": "Alternate landing page at 360x800.",
      "condition": "viewport: 360x800"
    },
    {
      "type": "screenshot",
      "path": "evidence/redirect-target-dark.png",
      "caption": "Alternate page remains unchanged in dark/reduced mode.",
      "condition": "prefers-color-scheme: dark; prefers-reduced-motion: reduce",
      "findingIds": [
        "F02"
      ]
    },
    {
      "type": "dom",
      "path": "evidence/redirect-target-dom.json",
      "caption": "Alternate landing page DOM/computed styles.",
      "findingIds": [
        "F03",
        "F04"
      ]
    },
    {
      "type": "other",
      "path": "evidence/redirect-target-probe.json",
      "caption": "Semantic, focus, metadata, and form probe.",
      "findingIds": [
        "F04",
        "F05",
        "F10",
        "F12",
        "F14",
        "F15",
        "F18"
      ]
    },
    {
      "type": "layout",
      "path": "evidence/redirect-target-layout.json",
      "caption": "Alternate mobile layout metrics."
    },
    {
      "type": "other",
      "path": "evidence/redirect-target-headers.json",
      "caption": "Alternate origin response-header audit.",
      "findingIds": [
        "F11"
      ]
    },
    {
      "type": "discoverability",
      "path": "evidence/redirect-target-discoverability.json",
      "caption": "Alternate page raw/rendered discoverability report.",
      "findingIds": [
        "F10",
        "F13"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse-summary.json",
      "caption": "Compact Lighthouse summary for the working alternate page.",
      "findingIds": [
        "F02",
        "F04",
        "F06",
        "F07",
        "F08",
        "F09",
        "F16",
        "F17",
        "F18"
      ]
    },
    {
      "type": "har-summary",
      "path": "evidence/redirect-target-summary.json",
      "caption": "Alternate page network summary.",
      "findingIds": [
        "F07"
      ]
    },
    {
      "type": "other",
      "path": "evidence/redirect-target-images.json",
      "caption": "Alternate page image audit.",
      "findingIds": [
        "F04",
        "F16"
      ]
    },
    {
      "type": "heap",
      "path": "evidence/redirect-target-heap.json",
      "caption": "Alternate page heap summary."
    },
    {
      "type": "other",
      "path": "evidence/guidance-retrieved.md",
      "caption": "Modern Web Guidance retrieved before judgement."
    }
  ],
  "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 screenshot/DOM/layout/Lighthouse/HAR evidence linked through finding IDs",
      "evidence": "Desktop and emulated dark/reduced-motion screenshots are visually identical; computed color-scheme is normal. The alternate page still has running 2s animations and Lighthouse reports contrast failures down to 2:1.",
      "pathIds": [
        "gateway",
        "alternate-landing"
      ],
      "artifacts": [
        "evidence/desktop.png",
        "evidence/dark-reduce.png",
        "evidence/redirect-target.png",
        "evidence/redirect-target-dark.png",
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "F02"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-reduced-motion",
      "status": "issues",
      "confidence": "high",
      "method": "Direct screenshot/DOM/layout/Lighthouse/HAR evidence linked through finding IDs",
      "evidence": "Desktop and emulated dark/reduced-motion screenshots are visually identical; computed color-scheme is normal. The alternate page still has running 2s animations and Lighthouse reports contrast failures down to 2:1.",
      "pathIds": [
        "gateway",
        "alternate-landing"
      ],
      "artifacts": [
        "evidence/desktop.png",
        "evidence/dark-reduce.png",
        "evidence/redirect-target.png",
        "evidence/redirect-target-dark.png",
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "F02"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-contrast",
      "status": "issues",
      "confidence": "high",
      "method": "Direct screenshot/DOM/layout/Lighthouse/HAR evidence linked through finding IDs",
      "evidence": "Desktop and emulated dark/reduced-motion screenshots are visually identical; computed color-scheme is normal. The alternate page still has running 2s animations and Lighthouse reports contrast failures down to 2:1.",
      "pathIds": [
        "gateway",
        "alternate-landing"
      ],
      "artifacts": [
        "evidence/desktop.png",
        "evidence/dark-reduce.png",
        "evidence/redirect-target.png",
        "evidence/redirect-target-dark.png",
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "F02"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "view-transitions",
      "status": "issues",
      "confidence": "high",
      "method": "Direct screenshot/DOM/layout/Lighthouse/HAR evidence linked through finding IDs",
      "evidence": "DOM/probe evidence finds no View Transition use; the gateway uses a timed meta refresh and the alternate page uses Bootstrap modal classes.",
      "pathIds": [
        "gateway",
        "alternate-landing"
      ],
      "artifacts": [
        "evidence/dom.json",
        "evidence/redirect-target-dom.json"
      ],
      "findingIds": [
        "F03"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "scroll-driven-animations",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and component/applicability inspection",
      "evidence": "Neither audited surface contains scroll-linked motion; there is no scroll animation to implement or migrate.",
      "pathIds": [
        "gateway",
        "alternate-landing"
      ],
      "artifacts": [
        "evidence/redirect-target.png",
        "evidence/redirect-target-probe.json"
      ],
      "reason": "Neither audited surface contains scroll-linked motion; there is no scroll animation to implement or migrate."
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "physical-gestures",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and component/applicability inspection",
      "evidence": "No gesture-driven, swipe, carousel, or overscroll interaction is present on the audited public surfaces.",
      "pathIds": [
        "gateway",
        "alternate-landing"
      ],
      "artifacts": [
        "evidence/redirect-target.png",
        "evidence/redirect-target-probe.json"
      ],
      "reason": "No gesture-driven, swipe, carousel, or overscroll interaction is present on the audited public surfaces."
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "scroll-state-aware-chrome",
      "status": "pass",
      "confidence": "high",
      "method": "Direct multi-modal inspection of the gateway and working alternate landing page",
      "evidence": "The alternate mobile screenshot shows a compact header/menu and no persistent chrome obscuring the long page; no JS scroll-state toggler or problematic affixed chrome was observed.",
      "pathIds": [
        "gateway",
        "alternate-landing"
      ],
      "artifacts": [
        "evidence/redirect-target.png",
        "evidence/redirect-target-probe.json"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "anchored-positioning",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and component/applicability inspection",
      "evidence": "No tooltip or non-modal anchored popover is present; the available overlays are centered sign-in modals.",
      "pathIds": [
        "gateway",
        "alternate-landing"
      ],
      "artifacts": [
        "evidence/redirect-target.png",
        "evidence/redirect-target-probe.json"
      ],
      "reason": "No tooltip or non-modal anchored popover is present; the available overlays are centered sign-in modals."
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "directs-attention",
      "status": "pass",
      "confidence": "high",
      "method": "Direct multi-modal inspection of the gateway and working alternate landing page",
      "evidence": "Desktop and mobile screenshots show two prominent role-based entry cards followed by clearly separated news and exam sections.",
      "pathIds": [
        "gateway",
        "alternate-landing"
      ],
      "artifacts": [
        "evidence/redirect-target.png",
        "evidence/redirect-target-probe.json"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "no-intrusive-interruptions",
      "status": "pass",
      "confidence": "high",
      "method": "Direct multi-modal inspection of the gateway and working alternate landing page",
      "evidence": "Initial screenshots on both origins show no consent wall, popup, or content-obscuring interstitial.",
      "pathIds": [
        "gateway",
        "alternate-landing"
      ],
      "artifacts": [
        "evidence/redirect-target.png",
        "evidence/redirect-target-probe.json"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "semantic-dismissible-primitives",
      "status": "issues",
      "confidence": "high",
      "method": "Direct screenshot/DOM/layout/Lighthouse/HAR evidence linked through finding IDs",
      "evidence": "Lighthouse accessibility is 0.83 and flags an unnamed logo link; the image audit finds 19 of 23 images without alt. The probe finds visible username/password/CAPTCHA inputs with no label or aria-label.",
      "pathIds": [
        "gateway",
        "alternate-landing"
      ],
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/redirect-target-images.json",
        "evidence/redirect-target-probe.json"
      ],
      "findingIds": [
        "F04"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "reduced-chrome",
      "status": "pass",
      "confidence": "high",
      "method": "Direct multi-modal inspection of the gateway and working alternate landing page",
      "evidence": "The alternate page dedicates the viewport to the two primary entry cards and content sections, with a restrained header.",
      "pathIds": [
        "gateway",
        "alternate-landing"
      ],
      "artifacts": [
        "evidence/redirect-target.png",
        "evidence/redirect-target-probe.json"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "responsive-no-horizontal-scroll",
      "status": "issues",
      "confidence": "high",
      "method": "Direct screenshot/DOM/layout/Lighthouse/HAR evidence linked through finding IDs",
      "evidence": "At a 360px viewport the layout primitive reports no viewport meta and a 980 CSS-pixel layout scaled to 0.367. DOM evidence also shows no doctype/title/lang/headings, and the screenshot shows a broken image.",
      "pathIds": [
        "gateway",
        "alternate-landing"
      ],
      "artifacts": [
        "evidence/mobile.png",
        "evidence/layout-mobile.json",
        "evidence/dom.json"
      ],
      "findingIds": [
        "F01"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "component-level-responsiveness",
      "status": "issues",
      "confidence": "high",
      "method": "Direct screenshot/DOM/layout/Lighthouse/HAR evidence linked through finding IDs",
      "evidence": "At a 360px viewport the layout primitive reports no viewport meta and a 980 CSS-pixel layout scaled to 0.367. DOM evidence also shows no doctype/title/lang/headings, and the screenshot shows a broken image.",
      "pathIds": [
        "gateway",
        "alternate-landing"
      ],
      "artifacts": [
        "evidence/mobile.png",
        "evidence/layout-mobile.json",
        "evidence/dom.json"
      ],
      "findingIds": [
        "F01"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "input-modality-aware",
      "status": "issues",
      "confidence": "high",
      "method": "Direct screenshot/DOM/layout/Lighthouse/HAR evidence linked through finding IDs",
      "evidence": "The probe shows multiple navigation links with outline:none when focused and several visible action links are only 16px high. Hidden mobile-menu links remain represented with zero-sized rectangles.",
      "pathIds": [
        "gateway",
        "alternate-landing"
      ],
      "artifacts": [
        "evidence/redirect-target-probe.json"
      ],
      "findingIds": [
        "F05"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-purpose-and-primary-action",
      "status": "pass",
      "confidence": "high",
      "method": "Direct multi-modal inspection of the gateway and working alternate landing page",
      "evidence": "The alternate page names the e-Okul system and presents two prominent role-specific sign-in actions in the first viewport.",
      "pathIds": [
        "gateway",
        "alternate-landing"
      ],
      "artifacts": [
        "evidence/redirect-target.png",
        "evidence/redirect-target-probe.json"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "primary-flow-completion",
      "status": "pass",
      "confidence": "high",
      "method": "Direct multi-modal inspection of the gateway and working alternate landing page",
      "evidence": "From the geo gateway, the explicit eokulyd link reaches the alternate landing page successfully (HTTP 200), where role-specific sign-in entry points are visible; credential submission was outside the public-path scope.",
      "pathIds": [
        "gateway",
        "alternate-landing"
      ],
      "artifacts": [
        "evidence/redirect-target.png",
        "evidence/redirect-target-probe.json"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-system-state-and-recovery",
      "status": "pass",
      "confidence": "high",
      "method": "Direct multi-modal inspection of the gateway and working alternate landing page",
      "evidence": "The HTTP 403 gateway explains the geographic restriction in Turkish and English and provides a working alternate URL.",
      "pathIds": [
        "gateway",
        "alternate-landing"
      ],
      "artifacts": [
        "evidence/redirect-target.png",
        "evidence/redirect-target-probe.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "good-core-web-vitals",
      "status": "issues",
      "confidence": "high",
      "method": "Direct screenshot/DOM/layout/Lighthouse/HAR evidence linked through finding IDs",
      "evidence": "Lighthouse measures LCP 4.5s, FCP 2.3s and performance 0.81 on the alternate page.",
      "pathIds": [
        "gateway",
        "alternate-landing"
      ],
      "artifacts": [
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "F06"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "visual-stability",
      "status": "pass",
      "confidence": "high",
      "method": "Direct multi-modal inspection of the gateway and working alternate landing page",
      "evidence": "Layout observers report CLS 0 on both the gateway and alternate mobile page, corroborated by Lighthouse CLS 0.",
      "pathIds": [
        "gateway",
        "alternate-landing"
      ],
      "artifacts": [
        "evidence/trace-summary.json",
        "evidence/lighthouse-summary.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-main-thread",
      "status": "pass",
      "confidence": "high",
      "method": "Direct multi-modal inspection of the gateway and working alternate landing page",
      "evidence": "Trace/layout evidence reports no long tasks and 0ms total blocking time; Lighthouse also reports TBT 0ms.",
      "pathIds": [
        "gateway",
        "alternate-landing"
      ],
      "artifacts": [
        "evidence/trace-summary.json",
        "evidence/lighthouse-summary.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-resource-delivery",
      "status": "issues",
      "confidence": "high",
      "method": "Direct screenshot/DOM/layout/Lighthouse/HAR evidence linked through finding IDs",
      "evidence": "The alternate HAR records 36 requests and 837,057 transferred bytes. Lighthouse estimates 698 KiB cache savings, 1,190ms render-blocking savings, and flags font-display and LCP discovery.",
      "pathIds": [
        "gateway",
        "alternate-landing"
      ],
      "artifacts": [
        "evidence/redirect-target-summary.json",
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "F07"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "trim-unused-and-duplicate-code",
      "status": "issues",
      "confidence": "high",
      "method": "Direct screenshot/DOM/layout/Lighthouse/HAR evidence linked through finding IDs",
      "evidence": "Lighthouse estimates 32 KiB unused JavaScript, 23 KiB unused CSS, 21 KiB unminified JavaScript, and 10 KiB legacy JavaScript savings.",
      "pathIds": [
        "gateway",
        "alternate-landing"
      ],
      "artifacts": [
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "F08"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "names-roles-labels",
      "status": "issues",
      "confidence": "high",
      "method": "Direct screenshot/DOM/layout/Lighthouse/HAR evidence linked through finding IDs",
      "evidence": "Lighthouse accessibility is 0.83 and flags an unnamed logo link; the image audit finds 19 of 23 images without alt. The probe finds visible username/password/CAPTCHA inputs with no label or aria-label.",
      "pathIds": [
        "gateway",
        "alternate-landing"
      ],
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/redirect-target-images.json",
        "evidence/redirect-target-probe.json"
      ],
      "findingIds": [
        "F04"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "sufficient-contrast",
      "status": "issues",
      "confidence": "high",
      "method": "Direct screenshot/DOM/layout/Lighthouse/HAR evidence linked through finding IDs",
      "evidence": "Lighthouse finds contrast ratios from 2:1 to 3.53:1 for “Yeni” ribbons and red application links, below the required 4.5:1.",
      "pathIds": [
        "gateway",
        "alternate-landing"
      ],
      "artifacts": [
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "F09"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "structure-and-focus",
      "status": "issues",
      "confidence": "high",
      "method": "Direct screenshot/DOM/layout/Lighthouse/HAR evidence linked through finding IDs",
      "evidence": "The gateway has no headings or landmarks. The alternate page has no h1/main and jumps directly to repeated h5 headings; Lighthouse flags the missing main landmark.",
      "pathIds": [
        "gateway",
        "alternate-landing"
      ],
      "artifacts": [
        "evidence/dom.json",
        "evidence/redirect-target-probe.json",
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "F18"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "legible-text",
      "status": "pass",
      "confidence": "high",
      "method": "Direct multi-modal inspection of the gateway and working alternate landing page",
      "evidence": "Mobile and desktop screenshots show readable body sizing and reflow on the alternate page without clipping or horizontal overflow.",
      "pathIds": [
        "gateway",
        "alternate-landing"
      ],
      "artifacts": [
        "evidence/redirect-target.png",
        "evidence/redirect-target-probe.json"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "zoom-reflow-targets-and-media",
      "status": "issues",
      "confidence": "high",
      "method": "Direct screenshot/DOM/layout/Lighthouse/HAR evidence linked through finding IDs",
      "evidence": "The probe shows multiple navigation links with outline:none when focused and several visible action links are only 16px high. Hidden mobile-menu links remain represented with zero-sized rectangles.",
      "pathIds": [
        "gateway",
        "alternate-landing"
      ],
      "artifacts": [
        "evidence/redirect-target-probe.json"
      ],
      "findingIds": [
        "F05"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "no-console-errors",
      "status": "issues",
      "confidence": "high",
      "method": "Direct screenshot/DOM/layout/Lighthouse/HAR evidence linked through finding IDs",
      "evidence": "Lighthouse reports SyntaxError: Unexpected token export in theme/able/assets/js/popper.js at line 2460.",
      "pathIds": [
        "gateway",
        "alternate-landing"
      ],
      "artifacts": [
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "F17"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "sound-document-and-assets",
      "status": "issues",
      "confidence": "high",
      "method": "Direct screenshot/DOM/layout/Lighthouse/HAR evidence linked through finding IDs",
      "evidence": "The gateway has no doctype, places a title element inside a style block, and uses a quoted malformed data URL that renders as a broken 16x16 image without alt or dimensions.",
      "pathIds": [
        "gateway",
        "alternate-landing"
      ],
      "artifacts": [
        "evidence/dom.json",
        "evidence/desktop.png"
      ],
      "findingIds": [
        "F19"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "browser-platform-hygiene",
      "status": "pass",
      "confidence": "high",
      "method": "Direct multi-modal inspection of the gateway and working alternate landing page",
      "evidence": "Lighthouse best-practices is 0.92 and did not flag notification/geolocation prompts, paste prevention, or vulnerable-library audits beyond the separately reported console error.",
      "pathIds": [
        "gateway",
        "alternate-landing"
      ],
      "artifacts": [
        "evidence/redirect-target.png",
        "evidence/redirect-target-probe.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "title-and-description",
      "status": "issues",
      "confidence": "high",
      "method": "Direct screenshot/DOM/layout/Lighthouse/HAR evidence linked through finding IDs",
      "evidence": "The requested gateway returns HTTP 403 and has no title or meta description. The alternate page has a title but no description, canonical, hreflang, JSON-LD, or Open Graph metadata and skips h1 entirely.",
      "pathIds": [
        "gateway",
        "alternate-landing"
      ],
      "artifacts": [
        "evidence/discoverability.json",
        "evidence/redirect-target-discoverability.json",
        "evidence/redirect-target-probe.json"
      ],
      "findingIds": [
        "F10"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "crawlable-and-mobile-friendly",
      "status": "issues",
      "confidence": "high",
      "method": "Direct screenshot/DOM/layout/Lighthouse/HAR evidence linked through finding IDs",
      "evidence": "The requested gateway returns HTTP 403 and has no title or meta description. The alternate page has a title but no description, canonical, hreflang, JSON-LD, or Open Graph metadata and skips h1 entirely.",
      "pathIds": [
        "gateway",
        "alternate-landing"
      ],
      "artifacts": [
        "evidence/discoverability.json",
        "evidence/redirect-target-discoverability.json",
        "evidence/redirect-target-probe.json"
      ],
      "findingIds": [
        "F10"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "canonical-and-indexing-signals",
      "status": "issues",
      "confidence": "high",
      "method": "Direct screenshot/DOM/layout/Lighthouse/HAR evidence linked through finding IDs",
      "evidence": "The requested gateway returns HTTP 403 and has no title or meta description. The alternate page has a title but no description, canonical, hreflang, JSON-LD, or Open Graph metadata and skips h1 entirely.",
      "pathIds": [
        "gateway",
        "alternate-landing"
      ],
      "artifacts": [
        "evidence/discoverability.json",
        "evidence/redirect-target-discoverability.json",
        "evidence/redirect-target-probe.json"
      ],
      "findingIds": [
        "F10"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "structured-and-shareable-metadata",
      "status": "issues",
      "confidence": "high",
      "method": "Direct screenshot/DOM/layout/Lighthouse/HAR evidence linked through finding IDs",
      "evidence": "The requested gateway returns HTTP 403 and has no title or meta description. The alternate page has a title but no description, canonical, hreflang, JSON-LD, or Open Graph metadata and skips h1 entirely.",
      "pathIds": [
        "gateway",
        "alternate-landing"
      ],
      "artifacts": [
        "evidence/discoverability.json",
        "evidence/redirect-target-discoverability.json",
        "evidence/redirect-target-probe.json"
      ],
      "findingIds": [
        "F10"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "secure-transport-and-headers",
      "status": "issues",
      "confidence": "high",
      "method": "Direct screenshot/DOM/layout/Lighthouse/HAR evidence linked through finding IDs",
      "evidence": "The headers primitive finds no CSP, HSTS, nosniff, frame protection, Referrer-Policy, or Permissions-Policy on e-okul.meb.gov.tr. The alternate origin supplies these but permits unsafe-inline and unsafe-eval.",
      "pathIds": [
        "gateway",
        "alternate-landing"
      ],
      "artifacts": [
        "evidence/headers.json",
        "evidence/redirect-target-headers.json"
      ],
      "findingIds": [
        "F11"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "data-minimisation-and-third-parties",
      "status": "pass",
      "confidence": "high",
      "method": "Direct multi-modal inspection of the gateway and working alternate landing page",
      "evidence": "The requested origin sets no cookies, contacts no third-party origins or known trackers, and exposes no secrets in the dedicated primitives.",
      "pathIds": [
        "gateway",
        "alternate-landing"
      ],
      "artifacts": [
        "evidence/redirect-target.png",
        "evidence/redirect-target-probe.json"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "in-context-permissions-and-modern-auth",
      "status": "issues",
      "confidence": "high",
      "method": "Direct screenshot/DOM/layout/Lighthouse/HAR evidence linked through finding IDs",
      "evidence": "The alternate-page probe finds username and password fields with empty autocomplete values and no WebAuthn/passkey surface; no permission prompts fired on load.",
      "pathIds": [
        "gateway",
        "alternate-landing"
      ],
      "artifacts": [
        "evidence/redirect-target-probe.json"
      ],
      "findingIds": [
        "F12"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "defensive-browser-policies",
      "status": "issues",
      "confidence": "high",
      "method": "Direct screenshot/DOM/layout/Lighthouse/HAR evidence linked through finding IDs",
      "evidence": "The headers primitive finds no CSP, HSTS, nosniff, frame protection, Referrer-Policy, or Permissions-Policy on e-okul.meb.gov.tr. The alternate origin supplies these but permits unsafe-inline and unsafe-eval.",
      "pathIds": [
        "gateway",
        "alternate-landing"
      ],
      "artifacts": [
        "evidence/headers.json",
        "evidence/redirect-target-headers.json"
      ],
      "findingIds": [
        "F11"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "progressive-enhancement",
      "status": "pass",
      "confidence": "high",
      "method": "Direct multi-modal inspection of the gateway and working alternate landing page",
      "evidence": "Discoverability reports 100% raw-HTML content coverage and no JS shell on both the gateway and alternate landing page.",
      "pathIds": [
        "gateway",
        "alternate-landing"
      ],
      "artifacts": [
        "evidence/redirect-target-discoverability.json",
        "evidence/redirect-target-layout.json"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "resilient-runtime-behaviour",
      "status": "pass",
      "confidence": "high",
      "method": "Direct multi-modal inspection of the gateway and working alternate landing page",
      "evidence": "The alternate page renders a complete responsive state at 360px with no overflow or long-task failures; initial menus/cards remain within the viewport.",
      "pathIds": [
        "gateway",
        "alternate-landing"
      ],
      "artifacts": [
        "evidence/redirect-target-discoverability.json",
        "evidence/redirect-target-layout.json"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "offline-and-installable",
      "status": "issues",
      "confidence": "high",
      "method": "Direct screenshot/DOM/layout/Lighthouse/HAR evidence linked through finding IDs",
      "evidence": "Both probes find no web app manifest; discoverability confirms server rendering but no installable/offline surface is exposed.",
      "pathIds": [
        "gateway",
        "alternate-landing"
      ],
      "artifacts": [
        "evidence/redirect-target-probe.json",
        "evidence/redirect-target-discoverability.json"
      ],
      "findingIds": [
        "F13"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "network-and-http-failure-states",
      "status": "pass",
      "confidence": "high",
      "method": "Direct multi-modal inspection of the gateway and working alternate landing page",
      "evidence": "The geographic HTTP 403 state is explicit, bilingual, and gives a working recovery link to a 200 response rather than a blank shell.",
      "pathIds": [
        "gateway",
        "alternate-landing"
      ],
      "artifacts": [
        "evidence/redirect-target-discoverability.json",
        "evidence/redirect-target-layout.json"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "lang-dir-and-logical-properties",
      "status": "issues",
      "confidence": "high",
      "method": "Direct screenshot/DOM/layout/Lighthouse/HAR evidence linked through finding IDs",
      "evidence": "Both DOM probes return html.lang=null even though the gateway contains Turkish and English and the alternate page is Turkish.",
      "pathIds": [
        "gateway",
        "alternate-landing"
      ],
      "artifacts": [
        "evidence/dom.json",
        "evidence/redirect-target-probe.json"
      ],
      "findingIds": [
        "F14"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "locale-aware-data",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and component/applicability inspection",
      "evidence": "The public landing surfaces display no locale-sensitive dates, numbers, currencies, or durations.",
      "pathIds": [
        "gateway",
        "alternate-landing"
      ],
      "artifacts": [
        "evidence/redirect-target.png",
        "evidence/redirect-target-probe.json"
      ],
      "reason": "The public landing surfaces display no locale-sensitive dates, numbers, currencies, or durations."
    },
    {
      "principleId": "be-internationalised",
      "checkId": "time-zone-correctness",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and component/applicability inspection",
      "evidence": "The public landing surfaces expose no times, schedules, recurring events, or time-zone calculations.",
      "pathIds": [
        "gateway",
        "alternate-landing"
      ],
      "artifacts": [
        "evidence/redirect-target.png",
        "evidence/redirect-target-probe.json"
      ],
      "reason": "The public landing surfaces expose no times, schedules, recurring events, or time-zone calculations."
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "no-dark-patterns",
      "status": "pass",
      "confidence": "high",
      "method": "Direct multi-modal inspection of the gateway and working alternate landing page",
      "evidence": "Initial and alternate screenshots show no consent wall, disguised advertising, forced continuity, confirmshaming, or paid upsell.",
      "pathIds": [
        "gateway",
        "alternate-landing"
      ],
      "artifacts": [
        "evidence/redirect-target.png",
        "evidence/redirect-target-probe.json"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "humane-error-handling",
      "status": "issues",
      "confidence": "high",
      "method": "Direct screenshot/DOM/layout/Lighthouse/HAR evidence linked through finding IDs",
      "evidence": "The probe finds username, password, and CAPTCHA fields with no labels, no required attributes and mostly empty autocomplete tokens. This prevents reliable error association and input assistance.",
      "pathIds": [
        "gateway",
        "alternate-landing"
      ],
      "artifacts": [
        "evidence/redirect-target-probe.json"
      ],
      "findingIds": [
        "F15"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "trustworthy-input-assistance",
      "status": "issues",
      "confidence": "high",
      "method": "Direct screenshot/DOM/layout/Lighthouse/HAR evidence linked through finding IDs",
      "evidence": "The probe finds username, password, and CAPTCHA fields with no labels, no required attributes and mostly empty autocomplete tokens. This prevents reliable error association and input assistance.",
      "pathIds": [
        "gateway",
        "alternate-landing"
      ],
      "artifacts": [
        "evidence/redirect-target-probe.json"
      ],
      "findingIds": [
        "F15"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "safe-commercial-and-account-flows",
      "status": "issues",
      "confidence": "high",
      "method": "Direct screenshot/DOM/layout/Lighthouse/HAR evidence linked through finding IDs",
      "evidence": "The alternate-page probe finds username and password fields with empty autocomplete values and no WebAuthn/passkey surface; no permission prompts fired on load.",
      "pathIds": [
        "gateway",
        "alternate-landing"
      ],
      "artifacts": [
        "evidence/redirect-target-probe.json"
      ],
      "findingIds": [
        "F12"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "optimised-assets",
      "status": "issues",
      "confidence": "high",
      "method": "Direct screenshot/DOM/layout/Lighthouse/HAR evidence linked through finding IDs",
      "evidence": "The image audit finds all 23 images missing width/height, 21 legacy PNG/JPEG assets, seven below-fold images not lazy-loaded, and no modern-format images.",
      "pathIds": [
        "gateway",
        "alternate-landing"
      ],
      "artifacts": [
        "evidence/redirect-target-images.json",
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "F16"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "no-wasteful-work",
      "status": "pass",
      "confidence": "high",
      "method": "Direct multi-modal inspection of the gateway and working alternate landing page",
      "evidence": "Trace/layout evidence records no long tasks or continued background work, and the tracker primitive finds no third-party network activity on the requested origin.",
      "pathIds": [
        "gateway",
        "alternate-landing"
      ],
      "artifacts": [
        "evidence/redirect-target-summary.json",
        "evidence/redirect-target-images.json"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "third-party-and-media-budget",
      "status": "pass",
      "confidence": "high",
      "method": "Direct multi-modal inspection of the gateway and working alternate landing page",
      "evidence": "The usable alternate page has no third-party origins; its 837KB load, including 90KB media, is proportionate to a graphic service landing page though image optimization is separately required.",
      "pathIds": [
        "gateway",
        "alternate-landing"
      ],
      "artifacts": [
        "evidence/redirect-target-summary.json",
        "evidence/redirect-target-images.json"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "structured-agent-capabilities",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and component/applicability inspection",
      "evidence": "No declared agent-facing intent exists for this authentication and information landing surface; emerging WebMCP capability is not required.",
      "pathIds": [
        "gateway",
        "alternate-landing"
      ],
      "artifacts": [
        "evidence/redirect-target.png",
        "evidence/redirect-target-probe.json"
      ],
      "reason": "No declared agent-facing intent exists for this authentication and information landing surface; emerging WebMCP capability is not required."
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "on-device-inference",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and component/applicability inspection",
      "evidence": "No summarization, generation, or language-model task is present where on-device inference would improve this surface.",
      "pathIds": [
        "gateway",
        "alternate-landing"
      ],
      "artifacts": [
        "evidence/redirect-target.png",
        "evidence/redirect-target-probe.json"
      ],
      "reason": "No summarization, generation, or language-model task is present where on-device inference would improve this surface."
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-leak-under-repeated-interaction",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and component/applicability inspection",
      "evidence": "The unauthenticated public flow did not expose a reliable repeatable state cycle in the evidence harness; a synthetic interaction was not fabricated.",
      "pathIds": [
        "gateway",
        "alternate-landing"
      ],
      "artifacts": [
        "evidence/heap.json",
        "evidence/redirect-target-heap.json"
      ],
      "reason": "The unauthenticated public flow did not expose a reliable repeatable state cycle in the evidence harness; a synthetic interaction was not fabricated."
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "bounded-footprint",
      "status": "pass",
      "confidence": "high",
      "method": "Direct multi-modal inspection of the gateway and working alternate landing page",
      "evidence": "Heap summaries report 0.82MB self size for the gateway and 4.10MB for the richer alternate page, proportionate to these surfaces.",
      "pathIds": [
        "gateway",
        "alternate-landing"
      ],
      "artifacts": [
        "evidence/heap.json",
        "evidence/redirect-target-heap.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-detached-dom-or-unbounded-listeners",
      "status": "pass",
      "confidence": "low",
      "method": "Direct multi-modal inspection of the gateway and working alternate landing page",
      "evidence": "Single-state heap summaries show no Detached* constructor among the dominant populations; no repeated-cycle claim is made and confidence is low.",
      "pathIds": [
        "gateway",
        "alternate-landing"
      ],
      "artifacts": [
        "evidence/heap.json",
        "evidence/redirect-target-heap.json"
      ]
    }
  ],
  "principleOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F02"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F03"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F04"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F01",
        "F05"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "be-fast-and-stable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F06",
        "F07",
        "F08"
      ]
    },
    {
      "principleId": "be-inclusive",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F04",
        "F09",
        "F18",
        "F05"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F17",
        "F19"
      ]
    },
    {
      "principleId": "be-discoverable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F10"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F11",
        "F12"
      ]
    },
    {
      "principleId": "be-resilient",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F13"
      ]
    },
    {
      "principleId": "be-internationalised",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F14"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F15",
        "F12"
      ]
    },
    {
      "principleId": "be-sustainable",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F16"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "expectation": "contextual",
      "status": "not-applicable",
      "reason": "No declared agent-facing intent exists for this authentication and information landing surface; emerging WebMCP capability is not required. No summarization, generation, or language-model task is present where on-device inference would improve this surface."
    },
    {
      "principleId": "be-memory-efficient",
      "expectation": "default",
      "status": "pass"
    }
  ],
  "paths": [
    {
      "id": "gateway",
      "description": "Requested URL and geographic access-restriction/recovery page; audited because it is the first experience for this external IP.",
      "url": "https://e-okul.meb.gov.tr",
      "conditions": [
        "desktop",
        "viewport: 360x800",
        "prefers-color-scheme: dark",
        "prefers-reduced-motion: reduce",
        "crawler/no-JavaScript"
      ],
      "result": "issues"
    },
    {
      "id": "alternate-landing",
      "description": "The gateway’s sole recommended alternate URL, representing the public role-selection, announcements, navigation, and sign-in entry surface.",
      "url": "https://eokulyd.meb.gov.tr",
      "conditions": [
        "desktop",
        "viewport: 360x800",
        "prefers-color-scheme: dark",
        "prefers-reduced-motion: reduce",
        "keyboard focus probe",
        "crawler/no-JavaScript"
      ],
      "result": "issues"
    }
  ],
  "findings": [
    {
      "id": "F01",
      "severity": "high",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "responsive-no-horizontal-scroll",
      "guidanceId": "css",
      "summary": "The requested gateway is not mobile-responsive and is malformed.",
      "evidence": "At a 360px viewport the layout primitive reports no viewport meta and a 980 CSS-pixel layout scaled to 0.367. DOM evidence also shows no doctype/title/lang/headings, and the screenshot shows a broken image.",
      "artifacts": [
        "evidence/mobile.png",
        "evidence/layout-mobile.json",
        "evidence/dom.json"
      ],
      "suggestedFix": "Replace the legacy centered font markup with a valid semantic document, viewport meta, fluid CSS, and a working image URL.",
      "effort": "small"
    },
    {
      "id": "F04",
      "severity": "high",
      "principleId": "be-inclusive",
      "principleCheckId": "names-roles-labels",
      "guidanceId": "accessibility",
      "summary": "Core navigation and sign-in controls lack robust accessible semantics.",
      "evidence": "Lighthouse accessibility is 0.83 and flags an unnamed logo link; the image audit finds 19 of 23 images without alt. The probe finds visible username/password/CAPTCHA inputs with no label or aria-label.",
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/redirect-target-images.json",
        "evidence/redirect-target-probe.json"
      ],
      "suggestedFix": "Add persistent labels and accessible names, meaningful or empty alt as appropriate, and use semantic landmarks and native dialog behavior.",
      "effort": "medium"
    },
    {
      "id": "F06",
      "severity": "high",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "good-core-web-vitals",
      "guidanceId": "performance",
      "summary": "The usable alternate landing page misses the good LCP threshold.",
      "evidence": "Lighthouse measures LCP 4.5s, FCP 2.3s and performance 0.81 on the alternate page.",
      "artifacts": [
        "evidence/lighthouse-summary.json"
      ],
      "suggestedFix": "Prioritize the LCP resource, shorten render-blocking chains, and reduce initial image/font work.",
      "effort": "medium"
    },
    {
      "id": "F09",
      "severity": "high",
      "principleId": "be-inclusive",
      "principleCheckId": "sufficient-contrast",
      "guidanceId": "accessibility",
      "summary": "Important labels and notices fail minimum color contrast.",
      "evidence": "Lighthouse finds contrast ratios from 2:1 to 3.53:1 for “Yeni” ribbons and red application links, below the required 4.5:1.",
      "artifacts": [
        "evidence/lighthouse-summary.json"
      ],
      "suggestedFix": "Replace low-contrast red/pastel and shadow combinations with tested semantic color tokens meeting WCAG AA.",
      "effort": "small"
    },
    {
      "id": "F11",
      "severity": "high",
      "principleId": "be-private-and-secure",
      "principleCheckId": "secure-transport-and-headers",
      "guidanceId": "security",
      "summary": "The requested origin omits browser security headers, while the alternate origin has a weakened CSP.",
      "evidence": "The headers primitive finds no CSP, HSTS, nosniff, frame protection, Referrer-Policy, or Permissions-Policy on e-okul.meb.gov.tr. The alternate origin supplies these but permits unsafe-inline and unsafe-eval.",
      "artifacts": [
        "evidence/headers.json",
        "evidence/redirect-target-headers.json"
      ],
      "suggestedFix": "Apply HSTS, nosniff, frame-ancestors, strict referrer and permissions policies to both origins, then migrate scripts/styles to nonce/hash-based CSP without unsafe-eval.",
      "effort": "medium"
    },
    {
      "id": "F02",
      "severity": "medium",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-color-scheme",
      "guidanceId": "dark-mode",
      "summary": "Neither the gateway nor the alternate landing page adapts to user display preferences.",
      "evidence": "Desktop and emulated dark/reduced-motion screenshots are visually identical; computed color-scheme is normal. The alternate page still has running 2s animations and Lighthouse reports contrast failures down to 2:1.",
      "artifacts": [
        "evidence/desktop.png",
        "evidence/dark-reduce.png",
        "evidence/redirect-target.png",
        "evidence/redirect-target-dark.png",
        "evidence/lighthouse-summary.json"
      ],
      "suggestedFix": "Declare color-scheme, provide dark tokens, disable non-essential animation under prefers-reduced-motion, and test high-contrast colors.",
      "effort": "medium"
    },
    {
      "id": "F05",
      "severity": "medium",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "input-modality-aware",
      "guidanceId": "accessibility",
      "summary": "Keyboard focus and target sizing are inconsistent.",
      "evidence": "The probe shows multiple navigation links with outline:none when focused and several visible action links are only 16px high. Hidden mobile-menu links remain represented with zero-sized rectangles.",
      "artifacts": [
        "evidence/redirect-target-probe.json"
      ],
      "suggestedFix": "Add a strong :focus-visible style, ensure collapsed content is removed from the tab sequence, and provide at least 24px targets with 44px preferred for primary actions.",
      "effort": "small"
    },
    {
      "id": "F07",
      "severity": "medium",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "efficient-resource-delivery",
      "guidanceId": "performance",
      "summary": "Critical resources have inefficient caching and render-blocking delivery.",
      "evidence": "The alternate HAR records 36 requests and 837,057 transferred bytes. Lighthouse estimates 698 KiB cache savings, 1,190ms render-blocking savings, and flags font-display and LCP discovery.",
      "artifacts": [
        "evidence/redirect-target-summary.json",
        "evidence/lighthouse-summary.json"
      ],
      "suggestedFix": "Set durable immutable caching for versioned assets, defer non-critical CSS/JS, use font-display, and explicitly prioritize the LCP asset.",
      "effort": "medium"
    },
    {
      "id": "F10",
      "severity": "medium",
      "principleId": "be-discoverable",
      "principleCheckId": "title-and-description",
      "guidanceId": "html",
      "summary": "Metadata and indexing signals are incomplete or broken.",
      "evidence": "The requested gateway returns HTTP 403 and has no title or meta description. The alternate page has a title but no description, canonical, hreflang, JSON-LD, or Open Graph metadata and skips h1 entirely.",
      "artifacts": [
        "evidence/discoverability.json",
        "evidence/redirect-target-discoverability.json",
        "evidence/redirect-target-probe.json"
      ],
      "suggestedFix": "Return an intentional indexable status for the public gateway and add a descriptive title/description, canonical, h1, and accurate organization/service share metadata.",
      "effort": "small"
    },
    {
      "id": "F12",
      "severity": "medium",
      "principleId": "be-private-and-secure",
      "principleCheckId": "in-context-permissions-and-modern-auth",
      "guidanceId": "passkey-authentication",
      "summary": "Authentication appears password-only and lacks autofill/passkey affordances.",
      "evidence": "The alternate-page probe finds username and password fields with empty autocomplete values and no WebAuthn/passkey surface; no permission prompts fired on load.",
      "artifacts": [
        "evidence/redirect-target-probe.json"
      ],
      "suggestedFix": "Add correct username/current-password autocomplete immediately, then offer passkey authentication and reauthentication where supported.",
      "effort": "large"
    },
    {
      "id": "F13",
      "severity": "medium",
      "principleId": "be-resilient",
      "principleCheckId": "offline-and-installable",
      "guidanceId": "performance",
      "summary": "The app-like education service has no installability or offline fallback metadata.",
      "evidence": "Both probes find no web app manifest; discoverability confirms server rendering but no installable/offline surface is exposed.",
      "artifacts": [
        "evidence/redirect-target-probe.json",
        "evidence/redirect-target-discoverability.json"
      ],
      "suggestedFix": "Add a manifest and a conservative service worker that provides an offline/retry shell without caching sensitive authenticated data.",
      "effort": "medium"
    },
    {
      "id": "F14",
      "severity": "medium",
      "principleId": "be-internationalised",
      "principleCheckId": "lang-dir-and-logical-properties",
      "guidanceId": "html",
      "summary": "Language metadata is missing on bilingual and Turkish pages.",
      "evidence": "Both DOM probes return html.lang=null even though the gateway contains Turkish and English and the alternate page is Turkish.",
      "artifacts": [
        "evidence/dom.json",
        "evidence/redirect-target-probe.json"
      ],
      "suggestedFix": "Set the primary html lang and wrap the secondary-language gateway paragraph with its own lang attribute; use logical CSS properties for direction-safe layout.",
      "effort": "trivial"
    },
    {
      "id": "F15",
      "severity": "medium",
      "principleId": "be-trustworthy",
      "principleCheckId": "humane-error-handling",
      "guidanceId": "forms",
      "summary": "Sign-in fields lack the semantics needed for clear, humane validation and autofill.",
      "evidence": "The probe finds username, password, and CAPTCHA fields with no labels, no required attributes and mostly empty autocomplete tokens. This prevents reliable error association and input assistance.",
      "artifacts": [
        "evidence/redirect-target-probe.json"
      ],
      "suggestedFix": "Add labels, required/aria-invalid/error associations, validate after interaction, and use username/current-password autocomplete tokens.",
      "effort": "small"
    },
    {
      "id": "F16",
      "severity": "medium",
      "principleId": "be-sustainable",
      "principleCheckId": "optimised-assets",
      "guidanceId": "performance",
      "summary": "Image delivery is legacy and misses basic sizing/lazy-loading optimizations.",
      "evidence": "The image audit finds all 23 images missing width/height, 21 legacy PNG/JPEG assets, seven below-fold images not lazy-loaded, and no modern-format images.",
      "artifacts": [
        "evidence/redirect-target-images.json",
        "evidence/lighthouse-summary.json"
      ],
      "suggestedFix": "Add intrinsic dimensions, lazy-load below-fold imagery, and serve right-sized AVIF/WebP with responsive sources where useful.",
      "effort": "medium"
    },
    {
      "id": "F17",
      "severity": "medium",
      "principleId": "follow-best-practices",
      "principleCheckId": "no-console-errors",
      "guidanceId": "html",
      "summary": "A production script throws a syntax error on load.",
      "evidence": "Lighthouse reports SyntaxError: Unexpected token export in theme/able/assets/js/popper.js at line 2460.",
      "artifacts": [
        "evidence/lighthouse-summary.json"
      ],
      "suggestedFix": "Serve the correct Popper build for the script loading mode or load the ESM build with type=module, then verify a clean console.",
      "effort": "small"
    },
    {
      "id": "F18",
      "severity": "medium",
      "principleId": "be-inclusive",
      "principleCheckId": "structure-and-focus",
      "guidanceId": "accessibility",
      "summary": "Document structure does not provide a reliable reading hierarchy.",
      "evidence": "The gateway has no headings or landmarks. The alternate page has no h1/main and jumps directly to repeated h5 headings; Lighthouse flags the missing main landmark.",
      "artifacts": [
        "evidence/dom.json",
        "evidence/redirect-target-probe.json",
        "evidence/lighthouse-summary.json"
      ],
      "suggestedFix": "Use one descriptive h1, ordered section headings, and a main landmark; keep focus order aligned with the visual order.",
      "effort": "small"
    },
    {
      "id": "F19",
      "severity": "medium",
      "principleId": "follow-best-practices",
      "principleCheckId": "sound-document-and-assets",
      "guidanceId": "html",
      "summary": "The gateway document and image markup are invalid or broken.",
      "evidence": "The gateway has no doctype, places a title element inside a style block, and uses a quoted malformed data URL that renders as a broken 16x16 image without alt or dimensions.",
      "artifacts": [
        "evidence/dom.json",
        "evidence/desktop.png"
      ],
      "suggestedFix": "Emit a valid HTML5 document, move title into head, correct the image URL, and add dimensions plus appropriate alt text.",
      "effort": "trivial"
    },
    {
      "id": "F03",
      "severity": "low",
      "principleId": "implement-natural-interactions",
      "principleCheckId": "view-transitions",
      "guidanceId": "css",
      "summary": "Navigation and modal state changes use abrupt legacy behavior rather than modern, preference-aware transitions.",
      "evidence": "DOM/probe evidence finds no View Transition use; the gateway uses a timed meta refresh and the alternate page uses Bootstrap modal classes.",
      "artifacts": [
        "evidence/dom.json",
        "evidence/redirect-target-dom.json"
      ],
      "suggestedFix": "Use same-document or cross-document View Transitions for meaningful state changes, with reduced-motion fallbacks.",
      "effort": "medium"
    },
    {
      "id": "F08",
      "severity": "low",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "trim-unused-and-duplicate-code",
      "guidanceId": "performance",
      "summary": "The page ships avoidable legacy and unused code.",
      "evidence": "Lighthouse estimates 32 KiB unused JavaScript, 23 KiB unused CSS, 21 KiB unminified JavaScript, and 10 KiB legacy JavaScript savings.",
      "artifacts": [
        "evidence/lighthouse-summary.json"
      ],
      "suggestedFix": "Remove unused Bootstrap-era dependencies, minify production scripts, and serve a modern bundle without redundant legacy code.",
      "effort": "medium"
    }
  ],
  "taskList": [
    {
      "id": "T01",
      "title": "Rebuild the geo gateway as a valid responsive semantic page",
      "priority": 1,
      "findingIds": [
        "F01",
        "F10",
        "F14",
        "F18",
        "F19"
      ],
      "guidanceId": "html",
      "status": "open"
    },
    {
      "id": "T02",
      "title": "Fix accessible names, labels, hierarchy, contrast, focus, and targets",
      "priority": 2,
      "findingIds": [
        "F04",
        "F05",
        "F09",
        "F15",
        "F18"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T03",
      "title": "Harden both origins and remove unsafe CSP allowances",
      "priority": 3,
      "findingIds": [
        "F11"
      ],
      "guidanceId": "security",
      "status": "open"
    },
    {
      "id": "T04",
      "title": "Improve LCP, caching, render-blocking delivery, and remove unused code",
      "priority": 4,
      "findingIds": [
        "F06",
        "F07",
        "F08",
        "F16"
      ],
      "guidanceId": "performance",
      "status": "open"
    },
    {
      "id": "T05",
      "title": "Add preference-aware color and motion",
      "priority": 5,
      "findingIds": [
        "F02",
        "F03"
      ],
      "guidanceId": "dark-mode",
      "status": "open"
    },
    {
      "id": "T06",
      "title": "Modernize sign-in semantics, autofill, validation, and passkeys",
      "priority": 6,
      "findingIds": [
        "F12",
        "F15"
      ],
      "guidanceId": "forms",
      "status": "open"
    },
    {
      "id": "T07",
      "title": "Add safe installability and offline recovery",
      "priority": 7,
      "findingIds": [
        "F13"
      ],
      "guidanceId": "performance",
      "status": "open"
    },
    {
      "id": "T08",
      "title": "Resolve the production Popper syntax error",
      "priority": 8,
      "findingIds": [
        "F17"
      ],
      "guidanceId": "html",
      "status": "open"
    }
  ],
  "budget": {
    "wallClockSeconds": 1200,
    "pathCount": 2,
    "auditPasses": 1
  },
  "agent": "pi",
  "runId": "2026-07-22T07-41-39-961Z"
}
