{
  "url": "https://meet.google.com",
  "auditedAt": "2026-07-27T05:00:19.202Z",
  "mode": "report",
  "status": "completed",
  "statusDetail": "Complete 58-check audit of the public Google Meet marketing landing page reached through meet.google.com. Authenticated meeting rooms and Google Account flows were not covered.",
  "page": {
    "appType": "mpa",
    "framework": "React-like custom-element marketing site",
    "notes": "meet.google.com redirects through meet.google.com/about and apps.google.com/meet/ to workspace.google.com/products/meet/. The accessible surface is a long public marketing page; authenticated Meet is behind Google Accounts."
  },
  "evidenceUsed": [
    "screenshot",
    "emulated-media",
    "layout-metrics",
    "dom",
    "evaluate-probe",
    "trace",
    "har",
    "discoverability",
    "headers",
    "cookies",
    "trackers",
    "images",
    "secrets",
    "lighthouse",
    "heap-summary",
    "robots-and-sitemap"
  ],
  "guidanceConsulted": [
    "accessibility",
    "accessible-error-announcement",
    "language-detection",
    "language-model",
    "summarizer",
    "translator",
    "css",
    "highlight-text-ranges",
    "css-layout",
    "animated-select-picker",
    "autofill-address-form",
    "autofill-highlight-inputs",
    "autofill-payment-form",
    "autofill-sign-in-form",
    "autofill-sign-up-form",
    "brand-consistent-forms",
    "branded-select-styling",
    "custom-select-picker-layouts",
    "form-fields-automatically-fit-contents",
    "forms",
    "required-field-feedback",
    "rich-media-picker",
    "select-menu-interaction",
    "validate-input-after-interaction",
    "html",
    "passkey-authentication",
    "passkey-conditional-create",
    "passkey-management",
    "passkey-reauthentication",
    "passkey-registration",
    "passkeys",
    "batch-analytics-events",
    "break-up-long-tasks",
    "calculate-total-foreground-time",
    "conditional-async-dependencies",
    "defer-rendering-heavy-content",
    "defer-work-until-scroll-ends",
    "deprioritize-background-fetches",
    "detect-initial-visibility-state",
    "efficient-background-processing",
    "faster-spa-view-transitions",
    "full-session-analytics",
    "identify-heavy-scripts",
    "identify-inp-causes",
    "improve-next-page-load-performance",
    "interactions-in-complex-layouts",
    "optimize-image-priority",
    "optimize-preload-priority",
    "optimize-script-priority",
    "performance",
    "resolution-optimized-pseudo-elements",
    "schedule-tasks-by-priority",
    "sequence-distributed-events",
    "privacy",
    "security",
    "adapt-scrollbar-to-contrast-preferences",
    "anchor-positioning-tab-underline",
    "animate-element-entry-exit",
    "animate-to-from-top-layer",
    "animate-to-intrinsic-sizes",
    "apply-webgl-shaders",
    "calculate-event-differentials",
    "calculate-with-intrinsic-sizes",
    "capture-location-agnostic-data",
    "carousel-slide-effects",
    "carousel-snap-highlights",
    "child-state-based-styling",
    "complex-shapes",
    "component-specific-light-dark-theme",
    "consistent-cross-document-transitions",
    "content-based-styling",
    "coordinate-global-events",
    "cross-document-transitions",
    "customize-scrollbar-color-and-thickness",
    "dark-mode",
    "declarative-button-actions",
    "declarative-dialog-popover-control",
    "deliver-optimized-decorative-images",
    "design-token-reactivity",
    "directional-navigation-transitions",
    "dynamic-sibling-animations",
    "dynamic-sibling-styling",
    "export-html-media-from-canvas",
    "expose-canvas-content-to-browser-features",
    "flicker-free-client-side-ab-testing",
    "fluid-scaling",
    "format-human-readable-durations",
    "group-element-transitions",
    "improve-text-layout-and-legibility",
    "individual-transform-properties",
    "interactive-content-in-3d-scenes",
    "interactive-content-reveal",
    "interest-triggered-action-previews",
    "interest-triggered-tooltips",
    "light-dismiss-a-dialog",
    "manage-recurring-intervals",
    "model-partial-time-concepts",
    "move-dom-element-without-losing-state",
    "navigation-drawer",
    "overflow-clipping-control",
    "parallax-scroll-effects",
    "persistent-app-tours",
    "persistent-toast-notifications",
    "persistent-top-layer-ui",
    "physics-based-easing",
    "platform-controls-dismiss-dialog",
    "position-aware-tooltips",
    "precise-text-alignment",
    "prevent-text-wrapping",
    "pull-to-reveal",
    "reduce-style-repetition",
    "resilient-context-menus-and-nested-dropdowns",
    "same-document-transitions",
    "scroll-entry-exit-effects",
    "scroll-position-aware-elements",
    "scroll-progress-indicator",
    "scroll-snap-realtime-feedback",
    "scroll-snap-state-sync",
    "scroll-target-on-load",
    "scrollability-affordance-hints",
    "scrollytelling",
    "search-hidden-content",
    "shaped-cutouts",
    "shrinking-header-on-scroll",
    "size-aware-styling",
    "soft-edge-content-fade",
    "stabilize-reactive-state",
    "stack-drill-down",
    "style-parent-with-has",
    "support-global-calendar-systems",
    "swipe-to-remove",
    "visually-stable-font-fallbacks",
    "visually-stable-mixed-fonts",
    "visually-texture-content",
    "agentic-forms",
    "agentic-javascript-tools",
    "webmcp"
  ],
  "artifacts": [
    {
      "type": "other",
      "path": "evidence/axe.json",
      "caption": "Audit evidence: axe.json",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/cookies.json",
      "caption": "Audit evidence: cookies.json",
      "findingIds": [
        "F012"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/dark.png",
      "caption": "Audit evidence: dark.png",
      "findingIds": [
        "F001"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/discoverability-crawler.png",
      "caption": "Audit evidence: discoverability-crawler.png",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/discoverability-rendered.png",
      "caption": "Audit evidence: discoverability-rendered.png",
      "findingIds": []
    },
    {
      "type": "discoverability",
      "path": "evidence/discoverability.json",
      "caption": "Audit evidence: discoverability.json",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/entry-desktop.png",
      "caption": "Audit evidence: entry-desktop.png",
      "findingIds": [
        "F001",
        "F002",
        "F003"
      ]
    },
    {
      "type": "dom",
      "path": "evidence/entry-dom.json",
      "caption": "Audit evidence: entry-dom.json",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/entry-mobile.png",
      "caption": "Audit evidence: entry-mobile.png",
      "findingIds": [
        "F003"
      ]
    },
    {
      "type": "other",
      "path": "evidence/focus-targets.json",
      "caption": "Audit evidence: focus-targets.json",
      "findingIds": [
        "F004"
      ]
    },
    {
      "type": "other",
      "path": "evidence/form-invalid.json",
      "caption": "Audit evidence: form-invalid.json",
      "findingIds": [
        "F005"
      ]
    },
    {
      "type": "other",
      "path": "evidence/guidance-list.json",
      "caption": "Audit evidence: guidance-list.json",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-retrieved.md",
      "caption": "Audit evidence: guidance-retrieved.md",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-searches.jsonl",
      "caption": "Audit evidence: guidance-searches.jsonl",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/headers.json",
      "caption": "Audit evidence: headers.json",
      "findingIds": [
        "F012",
        "F014"
      ]
    },
    {
      "type": "heap",
      "path": "evidence/heap-baseline",
      "caption": "Audit evidence: heap-baseline",
      "findingIds": []
    },
    {
      "type": "heap",
      "path": "evidence/heap-post",
      "caption": "Audit evidence: heap-post",
      "findingIds": []
    },
    {
      "type": "heap",
      "path": "evidence/heap-post-repeat",
      "caption": "Audit evidence: heap-post-repeat",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/high-contrast.png",
      "caption": "Audit evidence: high-contrast.png",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/images.json",
      "caption": "Audit evidence: images.json",
      "findingIds": [
        "F016"
      ]
    },
    {
      "type": "layout",
      "path": "evidence/layout-desktop.json",
      "caption": "Audit evidence: layout-desktop.json",
      "findingIds": []
    },
    {
      "type": "layout",
      "path": "evidence/layout-mobile.json",
      "caption": "Audit evidence: layout-mobile.json",
      "findingIds": []
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse-failures.txt",
      "caption": "Audit evidence: lighthouse-failures.txt",
      "findingIds": [
        "F008",
        "F010",
        "F011",
        "F016"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse-summary.json",
      "caption": "Audit evidence: lighthouse-summary.json",
      "findingIds": [
        "F006",
        "F007",
        "F017"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse.json",
      "caption": "Audit evidence: lighthouse.json",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/motion-probe.json",
      "caption": "Audit evidence: motion-probe.json",
      "findingIds": []
    },
    {
      "type": "har-summary",
      "path": "evidence/network-summary.json",
      "caption": "Audit evidence: network-summary.json",
      "findingIds": [
        "F007",
        "F013",
        "F017"
      ]
    },
    {
      "type": "har",
      "path": "evidence/network.har",
      "caption": "Audit evidence: network.har",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/probe.json",
      "caption": "Audit evidence: probe.json",
      "findingIds": [
        "F002",
        "F009",
        "F015"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/reduced-motion.png",
      "caption": "Audit evidence: reduced-motion.png",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/robots.txt",
      "caption": "Audit evidence: robots.txt",
      "findingIds": [
        "F011"
      ]
    },
    {
      "type": "other",
      "path": "evidence/secrets.json",
      "caption": "Audit evidence: secrets.json",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/sitemap.xml",
      "caption": "Audit evidence: sitemap.xml",
      "findingIds": []
    },
    {
      "type": "trace",
      "path": "evidence/trace",
      "caption": "Audit evidence: trace",
      "findingIds": []
    },
    {
      "type": "trace-summary",
      "path": "evidence/trace-summary.json",
      "caption": "Audit evidence: trace-summary.json",
      "findingIds": [
        "F006"
      ]
    },
    {
      "type": "other",
      "path": "evidence/trackers.json",
      "caption": "Audit evidence: trackers.json",
      "findingIds": [
        "F013"
      ]
    }
  ],
  "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": "emulated-media screenshot and evaluate probe",
      "evidence": "Dark-mode screenshot is visually identical to the light capture; computed html/body color-scheme is normal and surfaces remain white.",
      "pathIds": [
        "entry"
      ],
      "artifacts": [
        "evidence/dark.png",
        "evidence/entry-desktop.png"
      ],
      "findingIds": [
        "F001"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-reduced-motion",
      "status": "pass",
      "confidence": "high",
      "method": "emulated-media screenshot and evaluate probe",
      "evidence": "Reduced-motion emulation matched and document.getAnimations() returned no active animations.",
      "pathIds": [
        "entry"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-contrast",
      "status": "pass",
      "confidence": "high",
      "method": "emulated-media screenshot and evaluate probe",
      "evidence": "High-contrast screenshot remained legible and Lighthouse color-contrast audit passed.",
      "pathIds": [
        "entry"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "view-transitions",
      "status": "pass",
      "confidence": "high",
      "method": "screenshot, DOM, evaluate probe, and journey inspection",
      "evidence": "Rendered CSS probe found View Transition rules on the page; no abrupt tested state swap was observed.",
      "pathIds": [
        "entry"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "scroll-driven-animations",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and applicability judgement against the rendered public landing-page surface",
      "evidence": "The audited landing page has no scroll-linked animation or scrollytelling surface.",
      "reason": "The audited landing page has no scroll-linked animation or scrollytelling surface.",
      "pathIds": [
        "entry"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "physical-gestures",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and applicability judgement against the rendered public landing-page surface",
      "evidence": "The public marketing template exposes no gesture-driven control to assess.",
      "reason": "The public marketing template exposes no gesture-driven control to assess.",
      "pathIds": [
        "entry"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "scroll-state-aware-chrome",
      "status": "issues",
      "confidence": "high",
      "method": "screenshot, DOM, evaluate probe, and journey inspection",
      "evidence": "The 10,577px page retains static chrome and the probe found no scroll timeline; no progress or scroll-state response is exposed.",
      "pathIds": [
        "entry"
      ],
      "artifacts": [
        "evidence/entry-desktop.png",
        "evidence/probe.json"
      ],
      "findingIds": [
        "F002"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "anchored-positioning",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and applicability judgement against the rendered public landing-page surface",
      "evidence": "No open edge-positioned tooltip, popover, or menu was part of the representative landing-page state.",
      "reason": "No open edge-positioned tooltip, popover, or menu was part of the representative landing-page state.",
      "pathIds": [
        "entry"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "directs-attention",
      "status": "pass",
      "confidence": "high",
      "method": "screenshot, DOM, evaluate probe, and journey inspection",
      "evidence": "The long page exposes clearly labelled in-page section links and a visible skip link.",
      "pathIds": [
        "entry"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "no-intrusive-interruptions",
      "status": "issues",
      "confidence": "high",
      "method": "screenshot, DOM, evaluate probe, and journey inspection",
      "evidence": "Initial desktop capture shows the cookie panel covering the hero heading; at 360x800 it consumes roughly the bottom 35% of the viewport. The panel is not exposed as dialog/popover in the probed DOM.",
      "pathIds": [
        "entry"
      ],
      "artifacts": [
        "evidence/entry-desktop.png",
        "evidence/entry-mobile.png"
      ],
      "findingIds": [
        "F003"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "semantic-dismissible-primitives",
      "status": "issues",
      "confidence": "high",
      "method": "screenshot, DOM, evaluate probe, and journey inspection",
      "evidence": "Initial desktop capture shows the cookie panel covering the hero heading; at 360x800 it consumes roughly the bottom 35% of the viewport. The panel is not exposed as dialog/popover in the probed DOM.",
      "pathIds": [
        "entry"
      ],
      "artifacts": [
        "evidence/entry-desktop.png",
        "evidence/entry-mobile.png"
      ],
      "findingIds": [
        "F003"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "reduced-chrome",
      "status": "pass",
      "confidence": "high",
      "method": "screenshot, DOM, evaluate probe, and journey inspection",
      "evidence": "Desktop and mobile screenshots show a content-led hero with compact persistent chrome.",
      "pathIds": [
        "entry"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "responsive-no-horizontal-scroll",
      "status": "pass",
      "confidence": "high",
      "method": "mobile screenshot, layout, and focus probe",
      "evidence": "Layout measured 0 px horizontal overflow at 360x800 and 780px widths; viewport meta is present.",
      "pathIds": [
        "entry"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "component-level-responsiveness",
      "status": "pass",
      "confidence": "high",
      "method": "mobile screenshot, layout, and focus probe",
      "evidence": "CSS probe found container-query rules and the mobile screenshot shows a materially reflowed hero.",
      "pathIds": [
        "entry"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "input-modality-aware",
      "status": "issues",
      "confidence": "high",
      "method": "mobile screenshot, layout, and focus probe",
      "evidence": "Focus probe found section links such as Gemini in Meet, Flexible, Enhance, and FAQ with outline none and no box shadow while focused.",
      "pathIds": [
        "entry"
      ],
      "artifacts": [
        "evidence/focus-targets.json"
      ],
      "findingIds": [
        "F004"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-purpose-and-primary-action",
      "status": "pass",
      "confidence": "high",
      "method": "screenshot, DOM, evaluate probe, and journey inspection",
      "evidence": "First viewport states “Video calls, enhanced with AI” and exposes Go to app and Try Meet for work actions.",
      "pathIds": [
        "entry"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "primary-flow-completion",
      "status": "pass",
      "confidence": "high",
      "method": "screenshot, DOM, evaluate probe, and journey inspection",
      "evidence": "The public landing CTA is a real link resolving to the Google Account sign-in journey; no dead end occurred before the delegated auth boundary.",
      "pathIds": [
        "entry"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-system-state-and-recovery",
      "status": "issues",
      "confidence": "high",
      "method": "screenshot, DOM, evaluate probe, and journey inspection",
      "evidence": "Submitting the empty required lead form produced invalid custom fields but the probe found no role=alert or non-empty aria-live announcement.",
      "pathIds": [
        "entry"
      ],
      "artifacts": [
        "evidence/form-invalid.json"
      ],
      "findingIds": [
        "F005"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "good-core-web-vitals",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse, trace, layout, and HAR",
      "evidence": "Mobile Lighthouse measured LCP 12.3s, FCP 5.0s, TTI 12.3s, and performance 0.56. A warm trace was better at LCP 2.33s, so cold-load risk is the actionable result.",
      "pathIds": [
        "entry"
      ],
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/trace-summary.json"
      ],
      "findingIds": [
        "F006"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "visual-stability",
      "status": "pass",
      "confidence": "high",
      "method": "Lighthouse, trace, layout, and HAR",
      "evidence": "Layout observer measured CLS 0.0087 desktop and 0 mobile; Lighthouse measured 0.001.",
      "pathIds": [
        "entry"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-main-thread",
      "status": "pass",
      "confidence": "high",
      "method": "Lighthouse, trace, layout, and HAR",
      "evidence": "Trace measured 86 ms TBT with two long tasks; Lighthouse measured 260 ms TBT, below the poor threshold.",
      "pathIds": [
        "entry"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-resource-delivery",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse, trace, layout, and HAR",
      "evidence": "HAR recorded 119 requests and 2,536,409 transferred bytes after three redirects; Lighthouse estimated 140 KiB unused JS, 26 KiB unused CSS, and 1.5s render-blocking savings.",
      "pathIds": [
        "entry"
      ],
      "artifacts": [
        "evidence/network-summary.json",
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "F007"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "trim-unused-and-duplicate-code",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse, trace, layout, and HAR",
      "evidence": "HAR recorded 119 requests and 2,536,409 transferred bytes after three redirects; Lighthouse estimated 140 KiB unused JS, 26 KiB unused CSS, and 1.5s render-blocking savings.",
      "pathIds": [
        "entry"
      ],
      "artifacts": [
        "evidence/network-summary.json",
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "F007"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "names-roles-labels",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse, screenshot, DOM, and focus probe",
      "evidence": "Lighthouse label-content-name-mismatch found 9 controls, including visible “Go to app” links named “Sign in to Google Meet” and tooltip/language controls whose visible text is absent from the accessible name.",
      "pathIds": [
        "entry"
      ],
      "artifacts": [
        "evidence/lighthouse-failures.txt"
      ],
      "findingIds": [
        "F008"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "sufficient-contrast",
      "status": "pass",
      "confidence": "high",
      "method": "Lighthouse, screenshot, DOM, and focus probe",
      "evidence": "Lighthouse color-contrast audit passed and high-contrast screenshot remained readable.",
      "pathIds": [
        "entry"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "structure-and-focus",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse, screenshot, DOM, and focus probe",
      "evidence": "Focus probe found section links such as Gemini in Meet, Flexible, Enhance, and FAQ with outline none and no box shadow while focused. DOM probe found two H1 elements on one page: “Video conferencing for business” and “Video calls, enhanced with AI”.",
      "pathIds": [
        "entry"
      ],
      "artifacts": [
        "evidence/focus-targets.json",
        "evidence/probe.json"
      ],
      "findingIds": [
        "F004",
        "F009"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "legible-text",
      "status": "pass",
      "confidence": "high",
      "method": "Lighthouse, screenshot, DOM, and focus probe",
      "evidence": "Desktop and mobile screenshots show readable type, adequate line spacing, and no clipping after responsive reflow.",
      "pathIds": [
        "entry"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "zoom-reflow-targets-and-media",
      "status": "pass",
      "confidence": "high",
      "method": "Lighthouse, screenshot, DOM, and focus probe",
      "evidence": "Viewport allows scaling; 360px layout reflows without overflow; primary controls are 48-50px high.",
      "pathIds": [
        "entry"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "no-console-errors",
      "status": "pass",
      "confidence": "high",
      "method": "screenshot, DOM, evaluate probe, and journey inspection",
      "evidence": "Lighthouse reported no browser console errors.",
      "pathIds": [
        "entry"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "sound-document-and-assets",
      "status": "pass",
      "confidence": "high",
      "method": "screenshot, DOM, evaluate probe, and journey inspection",
      "evidence": "DOM probe found HTML doctype, UTF-8, and viewport; image audit found dimensions and alt text on all 100 images.",
      "pathIds": [
        "entry"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "browser-platform-hygiene",
      "status": "pass",
      "confidence": "high",
      "method": "screenshot, DOM, evaluate probe, and journey inspection",
      "evidence": "Lighthouse passed deprecations, BFCache, source-map, and inspector-issue audits, with no prompt on load.",
      "pathIds": [
        "entry"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "title-and-description",
      "status": "pass",
      "confidence": "high",
      "method": "DOM, Lighthouse, robots/sitemap, and discoverability",
      "evidence": "DOM and raw HTML contain a descriptive Meet title and meta description; Lighthouse passed both audits.",
      "pathIds": [
        "entry"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "crawlable-and-mobile-friendly",
      "status": "issues",
      "confidence": "high",
      "method": "DOM, Lighthouse, robots/sitemap, and discoverability",
      "evidence": "Lighthouse found 13 non-descriptive links, including repeated “Learn more” labels.",
      "pathIds": [
        "entry"
      ],
      "artifacts": [
        "evidence/lighthouse-failures.txt"
      ],
      "findingIds": [
        "F010"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "canonical-and-indexing-signals",
      "status": "issues",
      "confidence": "high",
      "method": "DOM, Lighthouse, robots/sitemap, and discoverability",
      "evidence": "Lighthouse canonical audit failed; the requested meet.google.com URL redirects through three hosts while canonical points to /intl/en_uk/products/meet/.",
      "pathIds": [
        "entry"
      ],
      "artifacts": [
        "evidence/lighthouse-failures.txt",
        "evidence/robots.txt"
      ],
      "findingIds": [
        "F011"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "structured-and-shareable-metadata",
      "status": "pass",
      "confidence": "high",
      "method": "DOM, Lighthouse, robots/sitemap, and discoverability",
      "evidence": "DOM probe found aligned Open Graph fields and FAQPage JSON-LD matching visible FAQ content.",
      "pathIds": [
        "entry"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "secure-transport-and-headers",
      "status": "issues",
      "confidence": "high",
      "method": "headers, cookies, trackers, secrets, and HAR",
      "evidence": "Headers include HSTS and nonce-based CSP, but CSP allows unsafe-eval; the NID cookie was reported Secure=false and SameSite=None on an HTTPS page.",
      "pathIds": [
        "entry"
      ],
      "artifacts": [
        "evidence/headers.json",
        "evidence/cookies.json"
      ],
      "findingIds": [
        "F012"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "data-minimisation-and-third-parties",
      "status": "issues",
      "confidence": "high",
      "method": "headers, cookies, trackers, secrets, and HAR",
      "evidence": "Tracker capture found 10 third-party origins and active Tag Manager plus two Google Analytics origins; HAR attributes 2,533,170 of 2,536,409 bytes to origins other than the requested meet.google.com origin.",
      "pathIds": [
        "entry"
      ],
      "artifacts": [
        "evidence/trackers.json",
        "evidence/network-summary.json"
      ],
      "findingIds": [
        "F013"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "in-context-permissions-and-modern-auth",
      "status": "pass",
      "confidence": "high",
      "method": "headers, cookies, trackers, secrets, and HAR",
      "evidence": "No permission prompt fired on page load; authentication is delegated by a real CTA to Google Accounts rather than implemented by this marketing page.",
      "pathIds": [
        "entry"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "defensive-browser-policies",
      "status": "issues",
      "confidence": "high",
      "method": "headers, cookies, trackers, secrets, and HAR",
      "evidence": "Header capture found no frame-ancestors directive or X-Frame-Options, and no Referrer-Policy or Permissions-Policy.",
      "pathIds": [
        "entry"
      ],
      "artifacts": [
        "evidence/headers.json"
      ],
      "findingIds": [
        "F014"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "progressive-enhancement",
      "status": "pass",
      "confidence": "high",
      "method": "screenshot, DOM, evaluate probe, and journey inspection",
      "evidence": "Discoverability capture found 97% rendered-word coverage in raw HTML, with title, H1, and description available without JavaScript.",
      "pathIds": [
        "entry"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "resilient-runtime-behaviour",
      "status": "pass",
      "confidence": "high",
      "method": "screenshot, DOM, evaluate probe, and journey inspection",
      "evidence": "Lighthouse reported no runtime, BFCache, deprecation, or inspector failures in the exercised landing-page state.",
      "pathIds": [
        "entry"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "offline-and-installable",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and applicability judgement against the rendered public landing-page surface",
      "evidence": "The public page describes an intrinsically online live-conferencing service; offline meeting operation is not meaningful.",
      "reason": "The public page describes an intrinsically online live-conferencing service; offline meeting operation is not meaningful.",
      "pathIds": [
        "entry"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "network-and-http-failure-states",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and applicability judgement against the rendered public landing-page surface",
      "evidence": "No data-backed transactional flow exists on this public marketing template; authenticated meeting failure states are outside the accessible scope.",
      "reason": "No data-backed transactional flow exists on this public marketing template; authenticated meeting failure states are outside the accessible scope.",
      "pathIds": [
        "entry"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "lang-dir-and-logical-properties",
      "status": "pass",
      "confidence": "high",
      "method": "screenshot, DOM, evaluate probe, and journey inspection",
      "evidence": "DOM declares lang=en-GB and dir=ltr; localized canonical/locale metadata and translated variants are present.",
      "pathIds": [
        "entry"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "locale-aware-data",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and applicability judgement against the rendered public landing-page surface",
      "evidence": "The audited marketing page renders no user-facing dates, numbers, prices, durations, or calendar values.",
      "reason": "The audited marketing page renders no user-facing dates, numbers, prices, durations, or calendar values.",
      "pathIds": [
        "entry"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "time-zone-correctness",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and applicability judgement against the rendered public landing-page surface",
      "evidence": "The audited marketing page renders no event times or time-zone-sensitive data.",
      "reason": "The audited marketing page renders no event times or time-zone-sensitive data.",
      "pathIds": [
        "entry"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "no-dark-patterns",
      "status": "pass",
      "confidence": "high",
      "method": "screenshot, DOM, evaluate probe, and journey inspection",
      "evidence": "Cookie consent presents equally prominent Agree and No thanks actions without confirmshaming; primary CTAs are honestly labelled.",
      "pathIds": [
        "entry"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "humane-error-handling",
      "status": "issues",
      "confidence": "high",
      "method": "screenshot, DOM, evaluate probe, and journey inspection",
      "evidence": "Submitting the empty required lead form produced invalid custom fields but the probe found no role=alert or non-empty aria-live announcement.",
      "pathIds": [
        "entry"
      ],
      "artifacts": [
        "evidence/form-invalid.json"
      ],
      "findingIds": [
        "F005"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "trustworthy-input-assistance",
      "status": "issues",
      "confidence": "high",
      "method": "screenshot, DOM, evaluate probe, and journey inspection",
      "evidence": "All visible lead fields in the DOM probe, including first name, last name, email, company, and job title, had empty autocomplete values.",
      "pathIds": [
        "entry"
      ],
      "artifacts": [
        "evidence/probe.json"
      ],
      "findingIds": [
        "F015"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "safe-commercial-and-account-flows",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and applicability judgement against the rendered public landing-page surface",
      "evidence": "Checkout, subscription management, and account management are not present on this public landing template; sign-in is delegated to accounts.google.com.",
      "reason": "Checkout, subscription management, and account management are not present on this public landing template; sign-in is delegated to accounts.google.com.",
      "pathIds": [
        "entry"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "optimised-assets",
      "status": "issues",
      "confidence": "high",
      "method": "screenshot, DOM, evaluate probe, and journey inspection",
      "evidence": "Lighthouse image-delivery insight estimated 280 KiB savings; the HAR’s largest image is 616,278 bytes.",
      "pathIds": [
        "entry"
      ],
      "artifacts": [
        "evidence/images.json",
        "evidence/lighthouse-failures.txt"
      ],
      "findingIds": [
        "F016"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "no-wasteful-work",
      "status": "issues",
      "confidence": "high",
      "method": "screenshot, DOM, evaluate probe, and journey inspection",
      "evidence": "HAR loaded 534,442 bytes of fonts, 341 KiB of Tag Manager scripts, and 116 origin-mismatched requests; Lighthouse estimated about 140 KiB of those analytics scripts unused.",
      "pathIds": [
        "entry"
      ],
      "artifacts": [
        "evidence/network-summary.json",
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "F017"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "third-party-and-media-budget",
      "status": "issues",
      "confidence": "high",
      "method": "screenshot, DOM, evaluate probe, and journey inspection",
      "evidence": "HAR loaded 534,442 bytes of fonts, 341 KiB of Tag Manager scripts, and 116 origin-mismatched requests; Lighthouse estimated about 140 KiB of those analytics scripts unused.",
      "pathIds": [
        "entry"
      ],
      "artifacts": [
        "evidence/network-summary.json",
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "F017"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "structured-agent-capabilities",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and applicability judgement against the rendered public landing-page surface",
      "evidence": "The audited surface is a public marketing page, not the authenticated Meet application, and exposes no agent-facing task surface.",
      "reason": "The audited surface is a public marketing page, not the authenticated Meet application, and exposes no agent-facing task surface.",
      "pathIds": [
        "entry"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "on-device-inference",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and applicability judgement against the rendered public landing-page surface",
      "evidence": "The public marketing page has no inference task where an on-device model would improve the experience.",
      "reason": "The public marketing page has no inference task where an on-device model would improve the experience.",
      "pathIds": [
        "entry"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-leak-under-repeated-interaction",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and applicability judgement against the rendered public landing-page surface",
      "evidence": "The public marketing page has no repeatable state-cycle such as modal open/close or SPA route navigation; repeated scrolling mainly triggers one-time lazy loading and is not a valid leak cycle.",
      "reason": "The public marketing page has no repeatable state-cycle such as modal open/close or SPA route navigation; repeated scrolling mainly triggers one-time lazy loading and is not a valid leak cycle.",
      "pathIds": [
        "entry"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "bounded-footprint",
      "status": "pass",
      "confidence": "high",
      "method": "heap-summary comparison",
      "evidence": "Heap summary measured 32.6 MB self size at baseline, proportionate for the media-rich marketing page despite a large object graph.",
      "pathIds": [
        "entry"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-detached-dom-or-unbounded-listeners",
      "status": "pass",
      "confidence": "high",
      "method": "heap-summary comparison",
      "evidence": "Baseline/post summaries showed stable closures (16,780 to 16,787), promises (2,278 unchanged), sets (2,359 unchanged), and no Detached* constructor among top retained populations.",
      "pathIds": [
        "entry"
      ]
    }
  ],
  "principleOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F001"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "provide-guided-navigation",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F002"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F003"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F004"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F005"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F006",
        "F007"
      ]
    },
    {
      "principleId": "be-inclusive",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F008",
        "F004",
        "F009"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "be-discoverable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F010",
        "F011"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F012",
        "F013",
        "F014"
      ]
    },
    {
      "principleId": "be-resilient",
      "expectation": "contextual",
      "status": "pass"
    },
    {
      "principleId": "be-internationalised",
      "expectation": "contextual",
      "status": "pass"
    },
    {
      "principleId": "be-trustworthy",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F005",
        "F015"
      ]
    },
    {
      "principleId": "be-sustainable",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F016",
        "F017"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "expectation": "contextual",
      "status": "not-applicable",
      "reason": "The audited surface is a public marketing page, not the authenticated Meet application, and exposes no agent-facing task surface. The public marketing page has no inference task where an on-device model would improve the experience."
    },
    {
      "principleId": "be-memory-efficient",
      "expectation": "default",
      "status": "pass"
    }
  ],
  "paths": [
    {
      "id": "entry",
      "description": "Public Meet product landing page and its primary Go to app boundary; representative of the one accessible marketing template. Tested desktop/mobile, preference media, keyboard focus, lead-form invalid submission, no-JS crawler view, load/network, security, and memory. Not covered: authenticated meeting room, account settings, pricing/checkout, or live call media because they require credentials and participants.",
      "url": "https://meet.google.com",
      "conditions": [
        "desktop 780x493",
        "mobile 360x800",
        "prefers-color-scheme: dark",
        "prefers-reduced-motion: reduce",
        "prefers-contrast: more",
        "keyboard focus",
        "empty lead-form submission",
        "JavaScript-disabled crawler view",
        "cold mobile Lighthouse"
      ],
      "result": "issues"
    }
  ],
  "findings": [
    {
      "id": "F001",
      "pathId": "entry",
      "url": "https://meet.google.com",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-color-scheme",
      "guidanceId": "dark-mode",
      "severity": "medium",
      "confidence": "high",
      "summary": "The page ignores the user’s dark colour-scheme preference",
      "evidence": "Dark-mode screenshot is visually identical to the light capture; computed html/body color-scheme is normal and surfaces remain white.",
      "artifacts": [
        "evidence/dark.png",
        "evidence/entry-desktop.png"
      ],
      "suggestedFix": "Add color-scheme: light dark and preference-driven surface/text tokens using prefers-color-scheme or light-dark().",
      "effort": "medium"
    },
    {
      "id": "F002",
      "pathId": "entry",
      "url": "https://meet.google.com",
      "principleId": "provide-guided-navigation",
      "principleCheckId": "scroll-state-aware-chrome",
      "guidanceId": "scroll-progress-indicator",
      "severity": "low",
      "confidence": "high",
      "summary": "The very long page offers no scroll-state-aware orientation",
      "evidence": "The 10,577px page retains static chrome and the probe found no scroll timeline; no progress or scroll-state response is exposed.",
      "artifacts": [
        "evidence/entry-desktop.png",
        "evidence/probe.json"
      ],
      "suggestedFix": "Add a lightweight declarative progress/section-state cue for this long marketing page.",
      "effort": "medium"
    },
    {
      "id": "F003",
      "pathId": "entry",
      "url": "https://meet.google.com",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "no-intrusive-interruptions",
      "guidanceId": "light-dismiss-a-dialog",
      "severity": "high",
      "confidence": "high",
      "summary": "Cookie consent obscures the primary content on load",
      "evidence": "Initial desktop capture shows the cookie panel covering the hero heading; at 360x800 it consumes roughly the bottom 35% of the viewport. The panel is not exposed as dialog/popover in the probed DOM.",
      "artifacts": [
        "evidence/entry-desktop.png",
        "evidence/entry-mobile.png"
      ],
      "suggestedFix": "Use a compact, semantic consent surface that preserves access to the hero, supports keyboard dismissal, and does not consume a third of mobile height.",
      "effort": "medium"
    },
    {
      "id": "F004",
      "pathId": "entry",
      "url": "https://meet.google.com",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "input-modality-aware",
      "guidanceId": "accessibility",
      "severity": "high",
      "confidence": "high",
      "summary": "Several in-page navigation links have no visible keyboard focus",
      "evidence": "Focus probe found section links such as Gemini in Meet, Flexible, Enhance, and FAQ with outline none and no box shadow while focused.",
      "artifacts": [
        "evidence/focus-targets.json"
      ],
      "suggestedFix": "Apply a high-contrast :focus-visible ring with adequate offset to every interactive section link.",
      "effort": "small"
    },
    {
      "id": "F005",
      "pathId": "entry",
      "url": "https://meet.google.com",
      "principleId": "support-core-task-success",
      "principleCheckId": "clear-system-state-and-recovery",
      "guidanceId": "accessible-error-announcement",
      "severity": "medium",
      "confidence": "high",
      "summary": "Required-field errors are not announced as system state",
      "evidence": "Submitting the empty required lead form produced invalid custom fields but the probe found no role=alert or non-empty aria-live announcement.",
      "artifacts": [
        "evidence/form-invalid.json"
      ],
      "suggestedFix": "After attempted submission, associate field messages and announce a concise error summary through role=alert or aria-live.",
      "effort": "medium"
    },
    {
      "id": "F006",
      "pathId": "entry",
      "url": "https://meet.google.com",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "good-core-web-vitals",
      "guidanceId": "performance",
      "severity": "high",
      "confidence": "high",
      "summary": "Cold mobile loading misses the Core Web Vitals performance bar",
      "evidence": "Mobile Lighthouse measured LCP 12.3s, FCP 5.0s, TTI 12.3s, and performance 0.56. A warm trace was better at LCP 2.33s, so cold-load risk is the actionable result.",
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/trace-summary.json"
      ],
      "suggestedFix": "Remove the redirect chain, prioritize the LCP asset, and defer non-critical scripts/styles; verify mobile LCP under 2.5s.",
      "effort": "large"
    },
    {
      "id": "F007",
      "pathId": "entry",
      "url": "https://meet.google.com",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "efficient-resource-delivery",
      "guidanceId": "optimize-script-priority",
      "severity": "high",
      "confidence": "high",
      "summary": "Redirects, render-blocking resources, and unused code inflate delivery",
      "evidence": "HAR recorded 119 requests and 2,536,409 transferred bytes after three redirects; Lighthouse estimated 140 KiB unused JS, 26 KiB unused CSS, and 1.5s render-blocking savings.",
      "artifacts": [
        "evidence/network-summary.json",
        "evidence/lighthouse-summary.json"
      ],
      "suggestedFix": "Serve the canonical page directly, inline or consolidate critical CSS, defer analytics, and remove unused JS/CSS.",
      "effort": "large"
    },
    {
      "id": "F008",
      "pathId": "entry",
      "url": "https://meet.google.com",
      "principleId": "be-inclusive",
      "principleCheckId": "names-roles-labels",
      "guidanceId": "accessibility",
      "severity": "medium",
      "confidence": "high",
      "summary": "Visible labels and accessible names disagree on nine controls",
      "evidence": "Lighthouse label-content-name-mismatch found 9 controls, including visible “Go to app” links named “Sign in to Google Meet” and tooltip/language controls whose visible text is absent from the accessible name.",
      "artifacts": [
        "evidence/lighthouse-failures.txt"
      ],
      "suggestedFix": "Make each accessible name include its visible label; do not label “Go to app” only as “Sign in to Google Meet”.",
      "effort": "small"
    },
    {
      "id": "F009",
      "pathId": "entry",
      "url": "https://meet.google.com",
      "principleId": "be-inclusive",
      "principleCheckId": "structure-and-focus",
      "guidanceId": "accessibility",
      "severity": "low",
      "confidence": "high",
      "summary": "The page exposes two H1 headings",
      "evidence": "DOM probe found two H1 elements on one page: “Video conferencing for business” and “Video calls, enhanced with AI”.",
      "artifacts": [
        "evidence/probe.json"
      ],
      "suggestedFix": "Keep one page-level H1 and demote the alternate responsive/variant heading without changing its visual styling.",
      "effort": "small"
    },
    {
      "id": "F010",
      "pathId": "entry",
      "url": "https://meet.google.com",
      "principleId": "be-discoverable",
      "principleCheckId": "crawlable-and-mobile-friendly",
      "guidanceId": "html",
      "severity": "medium",
      "confidence": "high",
      "summary": "Thirteen links use non-descriptive text",
      "evidence": "Lighthouse found 13 non-descriptive links, including repeated “Learn more” labels.",
      "artifacts": [
        "evidence/lighthouse-failures.txt"
      ],
      "suggestedFix": "Replace generic “Learn more” labels with destination-specific text or accessible context that also helps crawlers.",
      "effort": "small"
    },
    {
      "id": "F011",
      "pathId": "entry",
      "url": "https://meet.google.com",
      "principleId": "be-discoverable",
      "principleCheckId": "canonical-and-indexing-signals",
      "guidanceId": "html",
      "severity": "medium",
      "confidence": "high",
      "summary": "Canonical and redirect indexing signals are inconsistent",
      "evidence": "Lighthouse canonical audit failed; the requested meet.google.com URL redirects through three hosts while canonical points to /intl/en_uk/products/meet/.",
      "artifacts": [
        "evidence/lighthouse-failures.txt",
        "evidence/robots.txt"
      ],
      "suggestedFix": "Redirect meet.google.com directly to the localized canonical URL and ensure the emitted canonical matches the final indexable URL.",
      "effort": "medium"
    },
    {
      "id": "F012",
      "pathId": "entry",
      "url": "https://meet.google.com",
      "principleId": "be-private-and-secure",
      "principleCheckId": "secure-transport-and-headers",
      "guidanceId": "security",
      "severity": "high",
      "confidence": "high",
      "summary": "Cookie and CSP posture leave avoidable security gaps",
      "evidence": "Headers include HSTS and nonce-based CSP, but CSP allows unsafe-eval; the NID cookie was reported Secure=false and SameSite=None on an HTTPS page.",
      "artifacts": [
        "evidence/headers.json",
        "evidence/cookies.json"
      ],
      "suggestedFix": "Ensure NID is Secure with an intentional SameSite policy and eliminate unsafe-eval from the CSP where possible.",
      "effort": "medium"
    },
    {
      "id": "F013",
      "pathId": "entry",
      "url": "https://meet.google.com",
      "principleId": "be-private-and-secure",
      "principleCheckId": "data-minimisation-and-third-parties",
      "guidanceId": "privacy",
      "severity": "high",
      "confidence": "high",
      "summary": "The landing page has a large analytics and third-party footprint",
      "evidence": "Tracker capture found 10 third-party origins and active Tag Manager plus two Google Analytics origins; HAR attributes 2,533,170 of 2,536,409 bytes to origins other than the requested meet.google.com origin.",
      "artifacts": [
        "evidence/trackers.json",
        "evidence/network-summary.json"
      ],
      "suggestedFix": "Gate analytics on consent, reduce tags and events to the minimum needed, and serve performance-critical assets from the canonical origin where practical.",
      "effort": "large"
    },
    {
      "id": "F014",
      "pathId": "entry",
      "url": "https://meet.google.com",
      "principleId": "be-private-and-secure",
      "principleCheckId": "defensive-browser-policies",
      "guidanceId": "security",
      "severity": "medium",
      "confidence": "high",
      "summary": "Clickjacking and browser-policy headers are incomplete",
      "evidence": "Header capture found no frame-ancestors directive or X-Frame-Options, and no Referrer-Policy or Permissions-Policy.",
      "artifacts": [
        "evidence/headers.json"
      ],
      "suggestedFix": "Add CSP frame-ancestors, Referrer-Policy, and a least-privilege Permissions-Policy; retain HSTS and nosniff.",
      "effort": "small"
    },
    {
      "id": "F015",
      "pathId": "entry",
      "url": "https://meet.google.com",
      "principleId": "be-trustworthy",
      "principleCheckId": "trustworthy-input-assistance",
      "guidanceId": "autofill-sign-up-form",
      "severity": "medium",
      "confidence": "high",
      "summary": "The lead form does not expose autocomplete tokens",
      "evidence": "All visible lead fields in the DOM probe, including first name, last name, email, company, and job title, had empty autocomplete values.",
      "artifacts": [
        "evidence/probe.json"
      ],
      "suggestedFix": "Add name, given-name, family-name, email, organization, organization-title, and tel autocomplete tokens as appropriate.",
      "effort": "small"
    },
    {
      "id": "F016",
      "pathId": "entry",
      "url": "https://meet.google.com",
      "principleId": "be-sustainable",
      "principleCheckId": "optimised-assets",
      "guidanceId": "optimize-image-priority",
      "severity": "medium",
      "confidence": "high",
      "summary": "Image delivery wastes an estimated 280 KiB",
      "evidence": "Lighthouse image-delivery insight estimated 280 KiB savings; the HAR’s largest image is 616,278 bytes.",
      "artifacts": [
        "evidence/images.json",
        "evidence/lighthouse-failures.txt"
      ],
      "suggestedFix": "Serve tighter responsive variants in modern formats and ensure the LCP image is correctly sized and prioritized.",
      "effort": "medium"
    },
    {
      "id": "F017",
      "pathId": "entry",
      "url": "https://meet.google.com",
      "principleId": "be-sustainable",
      "principleCheckId": "third-party-and-media-budget",
      "guidanceId": "deprioritize-background-fetches",
      "severity": "medium",
      "confidence": "high",
      "summary": "Fonts and analytics are disproportionate to the landing-page task",
      "evidence": "HAR loaded 534,442 bytes of fonts, 341 KiB of Tag Manager scripts, and 116 origin-mismatched requests; Lighthouse estimated about 140 KiB of those analytics scripts unused.",
      "artifacts": [
        "evidence/network-summary.json",
        "evidence/lighthouse-summary.json"
      ],
      "suggestedFix": "Subset/consolidate fonts, defer analytics until consent/idle, and enforce a third-party byte/request budget.",
      "effort": "medium"
    }
  ],
  "taskList": [
    {
      "id": "T001",
      "title": "Remove the redirect chain, prioritize the LCP asset, and defer non-critical scripts/styles; verify mobile LCP under 2.5s.",
      "priority": 1,
      "findingIds": [
        "F006"
      ],
      "guidanceId": "performance",
      "status": "open"
    },
    {
      "id": "T002",
      "title": "Serve the canonical page directly, inline or consolidate critical CSS, defer analytics, and remove unused JS/CSS.",
      "priority": 2,
      "findingIds": [
        "F007"
      ],
      "guidanceId": "optimize-script-priority",
      "status": "open"
    },
    {
      "id": "T003",
      "title": "Use a compact, semantic consent surface that preserves access to the hero, supports keyboard dismissal, and does not consume a third of mobile height.",
      "priority": 3,
      "findingIds": [
        "F003"
      ],
      "guidanceId": "light-dismiss-a-dialog",
      "status": "open"
    },
    {
      "id": "T004",
      "title": "Apply a high-contrast :focus-visible ring with adequate offset to every interactive section link.",
      "priority": 4,
      "findingIds": [
        "F004"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T005",
      "title": "Gate analytics on consent, reduce tags and events to the minimum needed, and serve performance-critical assets from the canonical origin where practical.",
      "priority": 5,
      "findingIds": [
        "F013"
      ],
      "guidanceId": "privacy",
      "status": "open"
    },
    {
      "id": "T006",
      "title": "Ensure NID is Secure with an intentional SameSite policy and eliminate unsafe-eval from the CSP where possible.",
      "priority": 6,
      "findingIds": [
        "F012"
      ],
      "guidanceId": "security",
      "status": "open"
    },
    {
      "id": "T007",
      "title": "After attempted submission, associate field messages and announce a concise error summary through role=alert or aria-live.",
      "priority": 7,
      "findingIds": [
        "F005"
      ],
      "guidanceId": "accessible-error-announcement",
      "status": "open"
    },
    {
      "id": "T008",
      "title": "Make each accessible name include its visible label; do not label “Go to app” only as “Sign in to Google Meet”.",
      "priority": 8,
      "findingIds": [
        "F008"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T009",
      "title": "Add name, given-name, family-name, email, organization, organization-title, and tel autocomplete tokens as appropriate.",
      "priority": 9,
      "findingIds": [
        "F015"
      ],
      "guidanceId": "autofill-sign-up-form",
      "status": "open"
    },
    {
      "id": "T010",
      "title": "Serve tighter responsive variants in modern formats and ensure the LCP image is correctly sized and prioritized.",
      "priority": 10,
      "findingIds": [
        "F016"
      ],
      "guidanceId": "optimize-image-priority",
      "status": "open"
    },
    {
      "id": "T011",
      "title": "Subset/consolidate fonts, defer analytics until consent/idle, and enforce a third-party byte/request budget.",
      "priority": 11,
      "findingIds": [
        "F017"
      ],
      "guidanceId": "deprioritize-background-fetches",
      "status": "open"
    },
    {
      "id": "T012",
      "title": "Add CSP frame-ancestors, Referrer-Policy, and a least-privilege Permissions-Policy; retain HSTS and nosniff.",
      "priority": 12,
      "findingIds": [
        "F014"
      ],
      "guidanceId": "security",
      "status": "open"
    },
    {
      "id": "T013",
      "title": "Replace generic “Learn more” labels with destination-specific text or accessible context that also helps crawlers.",
      "priority": 13,
      "findingIds": [
        "F010"
      ],
      "guidanceId": "html",
      "status": "open"
    },
    {
      "id": "T014",
      "title": "Redirect meet.google.com directly to the localized canonical URL and ensure the emitted canonical matches the final indexable URL.",
      "priority": 14,
      "findingIds": [
        "F011"
      ],
      "guidanceId": "html",
      "status": "open"
    },
    {
      "id": "T015",
      "title": "Add color-scheme: light dark and preference-driven surface/text tokens using prefers-color-scheme or light-dark().",
      "priority": 15,
      "findingIds": [
        "F001"
      ],
      "guidanceId": "dark-mode",
      "status": "open"
    },
    {
      "id": "T016",
      "title": "Keep one page-level H1 and demote the alternate responsive/variant heading without changing its visual styling.",
      "priority": 16,
      "findingIds": [
        "F009"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T017",
      "title": "Add a lightweight declarative progress/section-state cue for this long marketing page.",
      "priority": 17,
      "findingIds": [
        "F002"
      ],
      "guidanceId": "scroll-progress-indicator",
      "status": "open"
    }
  ],
  "budget": {
    "pathCount": 1,
    "auditPasses": 1
  },
  "agent": "pi",
  "runId": "2026-07-27T05-00-19-202Z"
}
