{
  "url": "https://www.flipkart.com",
  "auditedAt": "2026-07-21T14:37:29.937Z",
  "mode": "report",
  "status": "completed",
  "statusDetail": "Coverage-complete atomic audit across six representative paths; authenticated account pages, a real purchase/payment, seller tools, and personalised post-login states were not covered because they require credentials or irreversible/private actions.",
  "page": {
    "appType": "hybrid",
    "framework": "Mixed modern component stack plus legacy listing/auth templates",
    "notes": "Public Indian e-commerce site. Home/product/cart are mobile-aware; listing/auth use an older 980 px desktop template. No source directory was provided."
  },
  "evidenceUsed": [
    "Modern Web Guidance 0.0.172 search/retrieve",
    "screenshot",
    "video",
    "DOM+computed-style",
    "evaluate probes",
    "layout metrics",
    "trace",
    "HAR summary",
    "discoverability/no-JS crawler",
    "headers",
    "cookies",
    "trackers",
    "secrets scan",
    "images audit",
    "axe-core 4.10.3",
    "Lighthouse",
    "heap summaries",
    "repeated-interaction memory metrics",
    "HTTP robots/404 probes"
  ],
  "guidanceConsulted": [
    "dark-mode",
    "component-specific-light-dark-theme",
    "accessibility",
    "adapt-scrollbar-to-contrast-preferences",
    "same-document-transitions",
    "cross-document-transitions",
    "group-element-transitions",
    "faster-spa-view-transitions",
    "scrollytelling",
    "parallax-scroll-effects",
    "scroll-entry-exit-effects",
    "carousel-slide-effects",
    "physics-based-easing",
    "individual-transform-properties",
    "animate-element-entry-exit",
    "animate-to-from-top-layer",
    "animate-to-intrinsic-sizes",
    "dynamic-sibling-animations",
    "interactive-content-reveal",
    "pull-to-reveal",
    "swipe-to-remove",
    "shrinking-header-on-scroll",
    "scroll-progress-indicator",
    "scroll-position-aware-elements",
    "scroll-snap-realtime-feedback",
    "scroll-snap-state-sync",
    "scroll-target-on-load",
    "soft-edge-content-fade",
    "scrollability-affordance-hints",
    "anchor-positioning-tab-underline",
    "position-aware-tooltips",
    "interest-triggered-tooltips",
    "interest-triggered-action-previews",
    "directional-navigation-transitions",
    "carousel-snap-highlights",
    "navigation-drawer",
    "stack-drill-down",
    "persistent-app-tours",
    "persistent-toast-notifications",
    "light-dismiss-a-dialog",
    "platform-controls-dismiss-dialog",
    "declarative-dialog-popover-control",
    "animated-select-picker",
    "branded-select-styling",
    "brand-consistent-forms",
    "custom-select-picker-layouts",
    "rich-media-picker",
    "complex-shapes",
    "shaped-cutouts",
    "overflow-clipping-control",
    "visually-texture-content",
    "apply-webgl-shaders",
    "interactive-content-in-3d-scenes",
    "highlight-text-ranges",
    "prevent-text-wrapping",
    "customize-scrollbar-color-and-thickness",
    "export-html-media-from-canvas",
    "fluid-scaling",
    "calculate-with-intrinsic-sizes",
    "css-layout",
    "size-aware-styling",
    "content-based-styling",
    "child-state-based-styling",
    "design-token-reactivity",
    "dynamic-sibling-styling",
    "form-fields-automatically-fit-contents",
    "improve-text-layout-and-legibility",
    "forms",
    "accessible-error-announcement",
    "required-field-feedback",
    "validate-input-after-interaction",
    "identify-inp-causes",
    "schedule-tasks-by-priority",
    "optimize-preload-priority",
    "improve-next-page-load-performance",
    "interactions-in-complex-layouts",
    "performance",
    "visually-stable-font-fallbacks",
    "break-up-long-tasks",
    "identify-heavy-scripts",
    "optimize-script-priority",
    "defer-rendering-heavy-content",
    "defer-work-until-scroll-ends",
    "optimize-image-priority",
    "conditional-async-dependencies",
    "expose-canvas-content-to-browser-features",
    "move-dom-element-without-losing-state",
    "precise-text-alignment",
    "visually-stable-mixed-fonts",
    "css",
    "html",
    "reduce-style-repetition",
    "security",
    "privacy",
    "batch-analytics-events",
    "full-session-analytics",
    "calculate-total-foreground-time",
    "passkeys",
    "passkey-registration",
    "passkey-authentication",
    "passkey-reauthentication",
    "passkey-conditional-create",
    "passkey-management",
    "flicker-free-client-side-ab-testing",
    "consistent-cross-document-transitions",
    "stabilize-reactive-state",
    "resilient-context-menus-and-nested-dropdowns",
    "persistent-top-layer-ui",
    "detect-initial-visibility-state",
    "sequence-distributed-events",
    "translator",
    "language-detection",
    "support-global-calendar-systems",
    "capture-location-agnostic-data",
    "format-human-readable-durations",
    "manage-recurring-intervals",
    "calculate-event-differentials",
    "coordinate-global-events",
    "model-partial-time-concepts",
    "search-hidden-content",
    "select-menu-interaction",
    "style-parent-with-has",
    "autofill-address-form",
    "autofill-payment-form",
    "autofill-sign-in-form",
    "autofill-sign-up-form",
    "autofill-highlight-inputs",
    "deliver-optimized-decorative-images",
    "resolution-optimized-pseudo-elements",
    "deprioritize-background-fetches",
    "efficient-background-processing",
    "webmcp",
    "agentic-forms",
    "agentic-javascript-tools",
    "language-model",
    "summarizer"
  ],
  "artifacts": [
    {
      "type": "dom",
      "path": "evidence/cart-dom.json",
      "caption": "Audit evidence: cart-dom.json",
      "findingIds": []
    },
    {
      "type": "layout",
      "path": "evidence/cart-layout.json",
      "caption": "Audit evidence: cart-layout.json",
      "findingIds": [
        "F14"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/cart-mobile.png",
      "caption": "Audit evidence: cart-mobile.png",
      "condition": "viewport 360x800",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/cart-probe.json",
      "caption": "Audit evidence: cart-probe.json",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/cookies.json",
      "caption": "Audit evidence: cookies.json",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/headers.json",
      "caption": "Audit evidence: headers.json",
      "findingIds": [
        "F27",
        "F30"
      ]
    },
    {
      "type": "heap",
      "path": "evidence/heap-baseline.json",
      "caption": "Audit evidence: heap-baseline.json",
      "findingIds": []
    },
    {
      "type": "heap",
      "path": "evidence/heap-post-login-cycle.json",
      "caption": "Audit evidence: heap-post-login-cycle.json",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/home-axe.json",
      "caption": "Audit evidence: home-axe.json",
      "findingIds": [
        "F18",
        "F22"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-contrast.png",
      "caption": "Audit evidence: home-contrast.png",
      "condition": "prefers-contrast: more",
      "findingIds": [
        "F03"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-css-features.json",
      "caption": "Audit evidence: home-css-features.json",
      "findingIds": [
        "F06",
        "F33"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-dark.png",
      "caption": "Audit evidence: home-dark.png",
      "condition": "prefers-color-scheme: dark",
      "findingIds": [
        "F01"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-desktop.png",
      "caption": "Audit evidence: home-desktop.png",
      "findingIds": [
        "F07",
        "F09",
        "F34"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-discoverability-crawler.png",
      "caption": "Audit evidence: home-discoverability-crawler.png",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/home-discoverability-rendered.png",
      "caption": "Audit evidence: home-discoverability-rendered.png",
      "findingIds": []
    },
    {
      "type": "discoverability",
      "path": "evidence/home-discoverability.json",
      "caption": "Audit evidence: home-discoverability.json",
      "findingIds": []
    },
    {
      "type": "dom",
      "path": "evidence/home-dom.json",
      "caption": "Audit evidence: home-dom.json",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/home-images.json",
      "caption": "Audit evidence: home-images.json",
      "findingIds": [
        "F24",
        "F37"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-mobile.png",
      "caption": "Audit evidence: home-mobile.png",
      "condition": "viewport 360x800",
      "findingIds": [
        "F31"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-probe.json",
      "caption": "Audit evidence: home-probe.json",
      "findingIds": [
        "F08",
        "F12",
        "F32"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-reduced-motion.json",
      "caption": "Audit evidence: home-reduced-motion.json",
      "findingIds": [
        "F02"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-summary.json",
      "caption": "Audit evidence: home-summary.json",
      "findingIds": [
        "F16",
        "F17",
        "F38",
        "F39"
      ]
    },
    {
      "type": "trace-summary",
      "path": "evidence/home-trace-summary.json",
      "caption": "Audit evidence: home-trace-summary.json",
      "findingIds": []
    },
    {
      "type": "trace",
      "path": "evidence/home-trace.json",
      "caption": "Audit evidence: home-trace.json",
      "findingIds": []
    },
    {
      "type": "har",
      "path": "evidence/home.har",
      "caption": "Audit evidence: home.har",
      "findingIds": []
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse-home-summary.json",
      "caption": "Audit evidence: lighthouse-home-summary.json",
      "findingIds": [
        "F13",
        "F15"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse-home.json",
      "caption": "Audit evidence: lighthouse-home.json",
      "findingIds": [
        "F23"
      ]
    },
    {
      "type": "other",
      "path": "evidence/login-axe.json",
      "caption": "Audit evidence: login-axe.json",
      "findingIds": [
        "F19"
      ]
    },
    {
      "type": "dom",
      "path": "evidence/login-dom.json",
      "caption": "Audit evidence: login-dom.json",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/login-empty-submit.png",
      "caption": "Audit evidence: login-empty-submit.png",
      "findingIds": [
        "F29"
      ]
    },
    {
      "type": "layout",
      "path": "evidence/login-layout.json",
      "caption": "Audit evidence: login-layout.json",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/login-mobile.png",
      "caption": "Audit evidence: login-mobile.png",
      "condition": "viewport 360x800",
      "findingIds": [
        "F11",
        "F21"
      ]
    },
    {
      "type": "video",
      "path": "evidence/login-modal-cycle.mp4",
      "caption": "Audit evidence: login-modal-cycle.mp4",
      "findingIds": [
        "F04"
      ]
    },
    {
      "type": "other",
      "path": "evidence/login-probe.json",
      "caption": "Audit evidence: login-probe.json",
      "findingIds": [
        "F36"
      ]
    },
    {
      "type": "other",
      "path": "evidence/login-validation.json",
      "caption": "Audit evidence: login-validation.json",
      "findingIds": [
        "F35"
      ]
    },
    {
      "type": "other",
      "path": "evidence/memory-metrics-login-cycle.json",
      "caption": "Audit evidence: memory-metrics-login-cycle.json",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/probe-expression.js",
      "caption": "Audit evidence: probe-expression.js",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/product-axe.json",
      "caption": "Audit evidence: product-axe.json",
      "findingIds": [
        "F20"
      ]
    },
    {
      "type": "other",
      "path": "evidence/product-css-features.json",
      "caption": "Audit evidence: product-css-features.json",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/product-desktop.png",
      "caption": "Audit evidence: product-desktop.png",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/product-discoverability-crawler.png",
      "caption": "Audit evidence: product-discoverability-crawler.png",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/product-discoverability-rendered.png",
      "caption": "Audit evidence: product-discoverability-rendered.png",
      "findingIds": []
    },
    {
      "type": "discoverability",
      "path": "evidence/product-discoverability.json",
      "caption": "Audit evidence: product-discoverability.json",
      "findingIds": []
    },
    {
      "type": "dom",
      "path": "evidence/product-dom.json",
      "caption": "Audit evidence: product-dom.json",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/product-images.json",
      "caption": "Audit evidence: product-images.json",
      "findingIds": []
    },
    {
      "type": "layout",
      "path": "evidence/product-layout.json",
      "caption": "Audit evidence: product-layout.json",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/product-mobile.png",
      "caption": "Audit evidence: product-mobile.png",
      "condition": "viewport 360x800",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/product-probe.json",
      "caption": "Audit evidence: product-probe.json",
      "findingIds": [
        "F25",
        "F40"
      ]
    },
    {
      "type": "other",
      "path": "evidence/product-summary.json",
      "caption": "Audit evidence: product-summary.json",
      "findingIds": []
    },
    {
      "type": "trace-summary",
      "path": "evidence/product-trace-summary.json",
      "caption": "Audit evidence: product-trace-summary.json",
      "findingIds": []
    },
    {
      "type": "trace",
      "path": "evidence/product-trace.json",
      "caption": "Audit evidence: product-trace.json",
      "findingIds": []
    },
    {
      "type": "har",
      "path": "evidence/product.har",
      "caption": "Audit evidence: product.har",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/recon.json",
      "caption": "Audit evidence: recon.json",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/robots-headers.txt",
      "caption": "Audit evidence: robots-headers.txt",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/robots.txt",
      "caption": "Audit evidence: robots.txt",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/search-css-features.json",
      "caption": "Audit evidence: search-css-features.json",
      "findingIds": []
    },
    {
      "type": "dom",
      "path": "evidence/search-dom.json",
      "caption": "Audit evidence: search-dom.json",
      "findingIds": []
    },
    {
      "type": "layout",
      "path": "evidence/search-layout.json",
      "caption": "Audit evidence: search-layout.json",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/search-mobile.png",
      "caption": "Audit evidence: search-mobile.png",
      "condition": "viewport 360x800",
      "findingIds": [
        "F10"
      ]
    },
    {
      "type": "other",
      "path": "evidence/search-probe.json",
      "caption": "Audit evidence: search-probe.json",
      "findingIds": [
        "F26"
      ]
    },
    {
      "type": "video",
      "path": "evidence/search-scroll.mp4",
      "caption": "Audit evidence: search-scroll.mp4",
      "findingIds": [
        "F05"
      ]
    },
    {
      "type": "other",
      "path": "evidence/secrets.json",
      "caption": "Audit evidence: secrets.json",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/sitemap-headers.txt",
      "caption": "Audit evidence: sitemap-headers.txt",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/sitemap.xml",
      "caption": "Audit evidence: sitemap.xml",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/trackers.json",
      "caption": "Audit evidence: trackers.json",
      "findingIds": [
        "F28"
      ]
    }
  ],
  "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 visual/objective evidence across planned representative paths.",
      "evidence": "The dark-scheme screenshot is visually the same light white/grey UI as the default, and the fetched 458 KB CSS contains no prefers-color-scheme rule.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-dark.png"
      ],
      "findingIds": [
        "F01"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-reduced-motion",
      "status": "issues",
      "confidence": "high",
      "method": "Direct visual/objective evidence across planned representative paths.",
      "evidence": "The reduced-motion probe found five running animations, including durations of 4.72 s and 5.33 s; CSS feature inspection found no prefers-reduced-motion rule.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-reduced-motion.json"
      ],
      "findingIds": [
        "F02"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-contrast",
      "status": "issues",
      "confidence": "high",
      "method": "Direct visual/objective evidence across planned representative paths.",
      "evidence": "Fetched CSS contains no prefers-contrast or forced-colors rules; the increased-contrast capture does not establish a purpose-built high-contrast treatment.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-contrast.png"
      ],
      "findingIds": [
        "F03"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "view-transitions",
      "status": "issues",
      "confidence": "high",
      "method": "Direct visual/objective evidence across planned representative paths.",
      "evidence": "CSS inspection across home, search, and product found zero view-transition declarations; the modal-cycle video shows an abrupt custom state swap.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/login-modal-cycle.mp4"
      ],
      "findingIds": [
        "F04"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "scroll-driven-animations",
      "status": "pass",
      "confidence": "high",
      "method": "CSS feature probes and search scroll video.",
      "evidence": "No scroll-linked parallax/reveal behavior was present on sampled paths, so there was no authored scroll-handler anti-pattern to replace.",
      "pathIds": [
        "search"
      ],
      "artifacts": [
        "evidence/search-scroll.mp4"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "physical-gestures",
      "status": "pass",
      "confidence": "high",
      "method": "Fetched stylesheet feature probe.",
      "evidence": "Home/product CSS contains scroll-snap and overscroll-behavior, and native scrolling remained usable.",
      "pathIds": [
        "home",
        "product"
      ],
      "artifacts": [
        "evidence/home-css-features.json"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "scroll-state-aware-chrome",
      "status": "issues",
      "confidence": "high",
      "method": "Direct visual/objective evidence across planned representative paths.",
      "evidence": "The listing scroll video and CSS inspection show no progress indicator, shrinking header, scroll-state query, or equivalent positional feedback on a 10,183 px page.",
      "pathIds": [
        "search"
      ],
      "artifacts": [
        "evidence/search-scroll.mp4"
      ],
      "findingIds": [
        "F05"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "anchored-positioning",
      "status": "issues",
      "confidence": "high",
      "method": "Direct visual/objective evidence across planned representative paths.",
      "evidence": "CSS inspection found zero anchor-name, position-anchor, or position-try declarations on the sampled templates.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-css-features.json"
      ],
      "findingIds": [
        "F06"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "directs-attention",
      "status": "pass",
      "confidence": "high",
      "method": "Screenshots and DOM probes across home/product/cart.",
      "evidence": "Active category underline, breadcrumbs, clear empty-cart actions, and product variant selection provide location and next-step cues.",
      "pathIds": [
        "home",
        "product",
        "cart"
      ],
      "artifacts": [
        "evidence/cart-mobile.png"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "no-intrusive-interruptions",
      "status": "issues",
      "confidence": "high",
      "method": "Direct visual/objective evidence across planned representative paths.",
      "evidence": "The desktop and mobile first-load screenshots show a dimmed page covered by a large login prompt before user intent; on mobile the overlay is clipped.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png"
      ],
      "findingIds": [
        "F07"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "semantic-dismissible-primitives",
      "status": "issues",
      "confidence": "high",
      "method": "Direct visual/objective evidence across planned representative paths.",
      "evidence": "DOM/probe evidence reports dialog=0, ariaModal=0 and a full-viewport custom DIV while the screenshot clearly shows modal behavior.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-probe.json"
      ],
      "findingIds": [
        "F08"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "reduced-chrome",
      "status": "issues",
      "confidence": "high",
      "method": "Direct visual/objective evidence across planned representative paths.",
      "evidence": "The first viewport is dominated by the account modal, header categories, and ad creative; core product content is mostly obscured.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png"
      ],
      "findingIds": [
        "F09"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "responsive-no-horizontal-scroll",
      "status": "issues",
      "confidence": "high",
      "method": "Direct visual/objective evidence across planned representative paths.",
      "evidence": "At a requested 360x800 viewport, layout reports clientWidth=980, scale=0.367 and hasViewportMeta=false for search and login, making text and controls tiny; the homepage modal also scrolls to 370 px.",
      "pathIds": [
        "search"
      ],
      "artifacts": [
        "evidence/search-mobile.png"
      ],
      "findingIds": [
        "F10"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "component-level-responsiveness",
      "status": "issues",
      "confidence": "high",
      "method": "Direct visual/objective evidence across planned representative paths.",
      "evidence": "Search/login render as scaled desktop pages while product/cart use true 360 px layouts; all three CSS probes report zero @container/container-type usage.",
      "pathIds": [
        "login"
      ],
      "artifacts": [
        "evidence/login-mobile.png"
      ],
      "findingIds": [
        "F11"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "input-modality-aware",
      "status": "issues",
      "confidence": "high",
      "method": "Direct visual/objective evidence across planned representative paths.",
      "evidence": "The home probe found 42/96 visible interactive targets under 44 px; search found 50/88. Focused search inputs/buttons computed outline:none.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-probe.json"
      ],
      "findingIds": [
        "F12"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-purpose-and-primary-action",
      "status": "pass",
      "confidence": "high",
      "method": "Representative screenshots and heading/link probes.",
      "evidence": "Search, category navigation, product pricing/variants, and cart recovery actions are prominent and specific.",
      "pathIds": [
        "home",
        "search",
        "product",
        "cart"
      ],
      "artifacts": [
        "evidence/product-mobile.png"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "primary-flow-completion",
      "status": "pass",
      "confidence": "high",
      "method": "Search, product, cart, and login route walkthrough.",
      "evidence": "Anonymous users can move from search results to a product surface and to cart/login entry points without a bot or account wall blocking discovery. Transaction completion was not attempted.",
      "pathIds": [
        "search",
        "product",
        "cart",
        "login"
      ],
      "artifacts": [
        "evidence/search-mobile.png"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-system-state-and-recovery",
      "status": "pass",
      "confidence": "high",
      "method": "Cart screenshot, 404 response, and validation probe.",
      "evidence": "Empty cart offers Login and Continue Shopping; the tested 404 explains the missing page and links home; invalid login gives visible corrective text.",
      "pathIds": [
        "cart",
        "error",
        "login"
      ],
      "artifacts": [
        "evidence/cart-mobile.png"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "good-core-web-vitals",
      "status": "issues",
      "confidence": "high",
      "method": "Direct visual/objective evidence across planned representative paths.",
      "evidence": "Lighthouse measured LCP 4.0 s, TBT 470 ms, Speed Index 7.7 s and interactive 18.1 s (performance 0.65).",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-home-summary.json"
      ],
      "findingIds": [
        "F13"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "visual-stability",
      "status": "issues",
      "confidence": "high",
      "method": "Direct visual/objective evidence across planned representative paths.",
      "evidence": "The layout observer measured CLS 0.083 on product and 0.106 on cart, with the cart shift concentrated in a 0.106 event.",
      "pathIds": [
        "cart"
      ],
      "artifacts": [
        "evidence/cart-layout.json"
      ],
      "findingIds": [
        "F14"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-main-thread",
      "status": "issues",
      "confidence": "high",
      "method": "Direct visual/objective evidence across planned representative paths.",
      "evidence": "Lighthouse TBT was 470 ms; traces found 3 long tasks on both home and product, and the product trace recorded 120 ms TBT.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-home-summary.json"
      ],
      "findingIds": [
        "F15"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-resource-delivery",
      "status": "issues",
      "confidence": "high",
      "method": "Direct visual/objective evidence across planned representative paths.",
      "evidence": "The home HAR records 123 requests and 3.44 MB transferred, including 2.81 MB of script; product transfers 3.31 MB with 2.86 MB script. Parser-initiated modules were confirmed deferred, leaving the stylesheet and sheer startup graph as the concern.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json"
      ],
      "findingIds": [
        "F16"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "trim-unused-and-duplicate-code",
      "status": "issues",
      "confidence": "high",
      "method": "Direct visual/objective evidence across planned representative paths.",
      "evidence": "Home loads 27 script requests/2.81 MB and search still loads polyfills plus analytics/tag-manager scripts; script is over 80% of transferred bytes.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json"
      ],
      "findingIds": [
        "F17"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "names-roles-labels",
      "status": "issues",
      "confidence": "high",
      "method": "Direct visual/objective evidence across planned representative paths.",
      "evidence": "axe found 14 missing image alternatives, critical unlabeled form elements, and three unnamed links on home; login has an unnamed button, unlabeled input, ten images without alt, and four unnamed links.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-axe.json"
      ],
      "findingIds": [
        "F18"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "sufficient-contrast",
      "status": "issues",
      "confidence": "high",
      "method": "Direct visual/objective evidence across planned representative paths.",
      "evidence": "axe reported five contrast failures on home and twenty on login, including form/help text and policy links; Lighthouse also failed color-contrast.",
      "pathIds": [
        "login"
      ],
      "artifacts": [
        "evidence/login-axe.json"
      ],
      "findingIds": [
        "F19"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "structure-and-focus",
      "status": "issues",
      "confidence": "high",
      "method": "Direct visual/objective evidence across planned representative paths.",
      "evidence": "The product has no main landmark and duplicate contentinfo landmarks; home has no main/nav landmarks. Focus probes show outline:none on search fields and many links across search/login.",
      "pathIds": [
        "product"
      ],
      "artifacts": [
        "evidence/product-axe.json"
      ],
      "findingIds": [
        "F20"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "legible-text",
      "status": "issues",
      "confidence": "high",
      "method": "Direct visual/objective evidence across planned representative paths.",
      "evidence": "The 360 px search capture scales a 980 px, 10,183 px desktop page to 36.7%, and the login capture similarly miniaturises the whole form/footer.",
      "pathIds": [
        "login"
      ],
      "artifacts": [
        "evidence/login-mobile.png"
      ],
      "findingIds": [
        "F21"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "zoom-reflow-targets-and-media",
      "status": "issues",
      "confidence": "high",
      "method": "Direct visual/objective evidence across planned representative paths.",
      "evidence": "Home/product declare user-scalable=no; search/login omit viewport meta and render at 980 px. axe flags the viewport setting as critical.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-axe.json"
      ],
      "findingIds": [
        "F22"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "no-console-errors",
      "status": "issues",
      "confidence": "high",
      "method": "Direct visual/objective evidence across planned representative paths.",
      "evidence": "Lighthouse recorded three console failures: one 401 unread-count request and two 406 analytics collector requests.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-home.json"
      ],
      "findingIds": [
        "F23"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "sound-document-and-assets",
      "status": "issues",
      "confidence": "high",
      "method": "Direct visual/objective evidence across planned representative paths.",
      "evidence": "Image inspection found 45/97 homepage images and 18/64 product images without dimensions; 54 homepage images use legacy formats and six are oversized.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-images.json"
      ],
      "findingIds": [
        "F24"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "browser-platform-hygiene",
      "status": "pass",
      "confidence": "high",
      "method": "Lighthouse and DOM interaction probes.",
      "evidence": "Lighthouse best-practices scored 0.96; no on-load permission prompt, deprecated-API audit failure, paste prevention, or broken image aspect ratio was observed.",
      "pathIds": [
        "home",
        "login"
      ],
      "artifacts": [
        "evidence/lighthouse-home-summary.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "title-and-description",
      "status": "issues",
      "confidence": "high",
      "method": "Direct visual/objective evidence across planned representative paths.",
      "evidence": "Direct DOM probes found meta[name=description] absent on home, search, product, login, and cart, although titles were descriptive; Lighthouse observed a homepage description in a separate run, indicating inconsistent output.",
      "pathIds": [
        "product"
      ],
      "artifacts": [
        "evidence/product-probe.json"
      ],
      "findingIds": [
        "F25"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "crawlable-and-mobile-friendly",
      "status": "issues",
      "confidence": "high",
      "method": "Direct visual/objective evidence across planned representative paths.",
      "evidence": "Search has no viewport meta and is scaled to 980 px; Lighthouse found one non-crawlable anchor and the live home probe found one anchor without href.",
      "pathIds": [
        "search"
      ],
      "artifacts": [
        "evidence/search-probe.json"
      ],
      "findingIds": [
        "F26"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "canonical-and-indexing-signals",
      "status": "pass",
      "confidence": "high",
      "method": "Metadata probes, robots.txt, and HTTP responses.",
      "evidence": "Home and product expose canonical URLs; robots.txt is reachable and declares product/store sitemaps; cart is intentionally noindex/disallowed.",
      "pathIds": [
        "home",
        "product",
        "cart"
      ],
      "artifacts": [
        "evidence/robots.txt"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "structured-and-shareable-metadata",
      "status": "pass",
      "confidence": "high",
      "method": "Product and home metadata probes.",
      "evidence": "Product exposes matching Product JSON-LD, title, canonical and og:image; homepage exposes Organization JSON-LD and Open Graph title/URL.",
      "pathIds": [
        "home",
        "product"
      ],
      "artifacts": [
        "evidence/product-probe.json"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "secure-transport-and-headers",
      "status": "issues",
      "confidence": "high",
      "method": "Direct visual/objective evidence across planned representative paths.",
      "evidence": "HTTPS and CSP are present, but HSTS and nosniff are missing; CSP permits unsafe-inline/unsafe-eval. Cookie audit reports 14 SameSite=None cookies and 8 without Secure.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/headers.json"
      ],
      "findingIds": [
        "F27"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "data-minimisation-and-third-parties",
      "status": "issues",
      "confidence": "high",
      "method": "Direct visual/objective evidence across planned representative paths.",
      "evidence": "Tracker capture found eight cross-origin origins and active New Relic endpoints; the HAR attributes 121/123 requests and 3.27 MB to other origins (mostly Flipkart CDNs, plus monitoring).",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/trackers.json"
      ],
      "findingIds": [
        "F28"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "in-context-permissions-and-modern-auth",
      "status": "issues",
      "confidence": "high",
      "method": "Direct visual/objective evidence across planned representative paths.",
      "evidence": "The sampled login page requests email/mobile and Request OTP; no password is collected, but no WebAuthn/passkey option or credential affordance appears. No permission prompt appeared on load.",
      "pathIds": [
        "login"
      ],
      "artifacts": [
        "evidence/login-empty-submit.png"
      ],
      "findingIds": [
        "F29"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "defensive-browser-policies",
      "status": "issues",
      "confidence": "high",
      "method": "Direct visual/objective evidence across planned representative paths.",
      "evidence": "Headers inspection found no HSTS, frame-ancestors/X-Frame-Options, Referrer-Policy, Permissions-Policy, or nosniff, and CSP allows unsafe-inline/unsafe-eval.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/headers.json"
      ],
      "findingIds": [
        "F30"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "progressive-enhancement",
      "status": "pass",
      "confidence": "high",
      "method": "Discoverability primitive and crawler screenshots.",
      "evidence": "Core home and product content remains visible without JavaScript; crawler captures are populated and raw/rendered word coverage is 62%/55%, not a JS shell.",
      "pathIds": [
        "home",
        "product"
      ],
      "artifacts": [
        "evidence/product-discoverability-crawler.png"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "resilient-runtime-behaviour",
      "status": "issues",
      "confidence": "high",
      "method": "Direct visual/objective evidence across planned representative paths.",
      "evidence": "The 360 px homepage capture shows the modal extending beyond both sides, with its left content and create-account action cut off.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png"
      ],
      "findingIds": [
        "F31"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "offline-and-installable",
      "status": "issues",
      "confidence": "high",
      "method": "Direct visual/objective evidence across planned representative paths.",
      "evidence": "Home/product/search probes found no link rel=manifest; no install surface was present.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-probe.json"
      ],
      "findingIds": [
        "F32"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "network-and-http-failure-states",
      "status": "pass",
      "confidence": "high",
      "method": "HTTP headers and rendered 404 body.",
      "evidence": "A tested HTTP 404 returns a clear moved/deleted explanation and a GO TO HOMEPAGE recovery action rather than a blank shell.",
      "pathIds": [
        "error"
      ],
      "artifacts": [
        "evidence/sitemap.xml"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "lang-dir-and-logical-properties",
      "status": "issues",
      "confidence": "high",
      "method": "Direct visual/objective evidence across planned representative paths.",
      "evidence": "lang is present (en/en-IN), but fetched CSS across representative templates contains zero logical margin/padding/inset properties and no authored dir adaptation.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-css-features.json"
      ],
      "findingIds": [
        "F33"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "locale-aware-data",
      "status": "pass",
      "confidence": "high",
      "method": "Product and cart DOM probes.",
      "evidence": "Sampled prices use the Indian rupee symbol and Indian-facing number formatting consistently; lang is en-IN on home/product/cart.",
      "pathIds": [
        "product",
        "cart"
      ],
      "artifacts": [
        "evidence/product-probe.json"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "time-zone-correctness",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Applicability judgement from recon and representative-path inspection.",
      "evidence": "The representative public paths exposed no event scheduling, stored time, recurrence, or cross-time-zone workflow to judge.",
      "reason": "The representative public paths exposed no event scheduling, stored time, recurrence, or cross-time-zone workflow to judge."
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "no-dark-patterns",
      "status": "issues",
      "confidence": "high",
      "method": "Direct visual/objective evidence across planned representative paths.",
      "evidence": "The homepage opens the login prompt automatically over product content, while login is also available in the header; this creates an avoidable account-pressure interruption.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png"
      ],
      "findingIds": [
        "F34"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "humane-error-handling",
      "status": "issues",
      "confidence": "high",
      "method": "Direct visual/objective evidence across planned representative paths.",
      "evidence": "After empty Request OTP, text says “Please enter valid Email ID/Mobile number”, but every sampled input still has aria-invalid=null, :user-invalid=false, and no native validationMessage.",
      "pathIds": [
        "login"
      ],
      "artifacts": [
        "evidence/login-validation.json"
      ],
      "findingIds": [
        "F35"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "trustworthy-input-assistance",
      "status": "issues",
      "confidence": "high",
      "method": "Direct visual/objective evidence across planned representative paths.",
      "evidence": "Login probe shows the identity field with autocomplete=off and no label/aria-label; search fields also use autocomplete=off.",
      "pathIds": [
        "login"
      ],
      "artifacts": [
        "evidence/login-probe.json"
      ],
      "findingIds": [
        "F36"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "safe-commercial-and-account-flows",
      "status": "pass",
      "confidence": "high",
      "method": "Product/cart/login screenshots and probes.",
      "evidence": "Product pricing, discount, variants, offers, and Protect Promise fee are visible; empty cart offers reversible navigation and login; OTP terms/privacy links are adjacent to continuation.",
      "pathIds": [
        "product",
        "cart",
        "login"
      ],
      "artifacts": [
        "evidence/product-mobile.png"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "optimised-assets",
      "status": "issues",
      "confidence": "high",
      "method": "Direct visual/objective evidence across planned representative paths.",
      "evidence": "Homepage image audit found 54 legacy-format images, six oversized images, and 45 without dimensions; product found 28 legacy and three oversized.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-images.json"
      ],
      "findingIds": [
        "F37"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "no-wasteful-work",
      "status": "issues",
      "confidence": "high",
      "method": "Direct visual/objective evidence across planned representative paths.",
      "evidence": "The homepage makes 123 requests including 25 fetch/XHR; Lighthouse logs a predictable 401 and two 406 collector calls, while traces record repeated long tasks.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json"
      ],
      "findingIds": [
        "F38"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "third-party-and-media-budget",
      "status": "issues",
      "confidence": "high",
      "method": "Direct visual/objective evidence across planned representative paths.",
      "evidence": "HAR reports 3.27 MB/3.44 MB and 121/123 homepage requests from origins other than www.flipkart.com; 2.81 MB is script and New Relic tracking is active. Most byte-heavy origins are Flipkart CDNs, but they still consume user resources.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json"
      ],
      "findingIds": [
        "F39"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "structured-agent-capabilities",
      "status": "issues",
      "confidence": "high",
      "method": "Direct visual/objective evidence across planned representative paths.",
      "evidence": "The product is reasonably crawlable and has JSON-LD, but no WebMCP/agentic form registration was observed on search, product, login, or cart.",
      "pathIds": [
        "product"
      ],
      "artifacts": [
        "evidence/product-probe.json"
      ],
      "findingIds": [
        "F40"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "on-device-inference",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Applicability judgement from recon and representative-path inspection.",
      "evidence": "No sampled task requires generative summarisation or language-model inference; adding on-device AI solely to satisfy this check would not improve the core commerce journey.",
      "reason": "No sampled task requires generative summarisation or language-model inference; adding on-device AI solely to satisfy this check would not improve the core commerce journey."
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-leak-under-repeated-interaction",
      "status": "pass",
      "confidence": "medium",
      "method": "Repeated-interaction metrics plus baseline/post heap summaries.",
      "evidence": "After ten login modal close/open cycles, DOM nodes fell from 2,062 to 2,040 and JS heap rose only 1.46 MB (~3.7%); the independent post heap snapshot was smaller than baseline. No monotonic leak signal was established.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/memory-metrics-login-cycle.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "bounded-footprint",
      "status": "pass",
      "confidence": "high",
      "method": "Performance memory metric and heap summary.",
      "evidence": "A loaded home state used about 39 MB JS heap with 2,062 DOM elements in the interaction probe; the heap summary was 60.9 MB, proportionate to a dense commerce homepage though optimisation is warranted.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-baseline.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-detached-dom-or-unbounded-listeners",
      "status": "pass",
      "confidence": "medium",
      "method": "Repeated interaction and constructor summaries.",
      "evidence": "DOM count decreased across ten modal cycles and neither heap summary listed Detached constructors among top retained constructors. No accumulating detached-node signal was observed.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-post-login-cycle.json"
      ]
    }
  ],
  "principleOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F01",
        "F02",
        "F03"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F04"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F05",
        "F06"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F07",
        "F08",
        "F09"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F10",
        "F11",
        "F12"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "be-fast-and-stable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F13",
        "F14",
        "F15",
        "F16",
        "F17"
      ]
    },
    {
      "principleId": "be-inclusive",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F18",
        "F19",
        "F20",
        "F21",
        "F22"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F23",
        "F24"
      ]
    },
    {
      "principleId": "be-discoverable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F25",
        "F26"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F27",
        "F28",
        "F29",
        "F30"
      ]
    },
    {
      "principleId": "be-resilient",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F31",
        "F32"
      ]
    },
    {
      "principleId": "be-internationalised",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F33"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F34",
        "F35",
        "F36"
      ]
    },
    {
      "principleId": "be-sustainable",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F37",
        "F38",
        "F39"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F40"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "expectation": "default",
      "status": "pass"
    }
  ],
  "paths": [
    {
      "id": "home",
      "description": "Homepage and global navigation, promotion, search entry, and automatic login-overlay archetype.",
      "url": "https://www.flipkart.com/",
      "conditions": [
        "desktop 1440x1000",
        "mobile 360x800",
        "dark scheme",
        "increased contrast",
        "reduced motion",
        "no JavaScript crawler"
      ],
      "result": "issues"
    },
    {
      "id": "search",
      "description": "Search/listing archetype for the core product-discovery journey, including filters and long-page scrolling.",
      "url": "https://www.flipkart.com/search?q=mobile",
      "conditions": [
        "mobile 360x800",
        "desktop scroll interaction"
      ],
      "result": "issues"
    },
    {
      "id": "product",
      "description": "Representative product-detail archetype with pricing, variants, offers, metadata, and product imagery.",
      "url": "https://www.flipkart.com/vivo-t5-lite-44w-5g-wave-blue-128-gb/p/itm5420c578ec2df?pid=MOBHNDTD5AWH5FJT",
      "conditions": [
        "desktop 1440x1000",
        "mobile 360x800",
        "no JavaScript crawler"
      ],
      "result": "issues"
    },
    {
      "id": "login",
      "description": "Authentication/form archetype, including empty submission, validation feedback, and mobile reflow.",
      "url": "https://www.flipkart.com/account/login?ret=/",
      "conditions": [
        "mobile 360x800",
        "empty form submission",
        "keyboard focus probe"
      ],
      "result": "issues"
    },
    {
      "id": "cart",
      "description": "Empty-cart and recovery state in the shopping journey.",
      "url": "https://www.flipkart.com/viewcart?marketplace=FLIPKART",
      "conditions": [
        "mobile 360x800",
        "anonymous session"
      ],
      "result": "pass"
    },
    {
      "id": "error",
      "description": "Representative 404 response and recovery page, observed at /sitemap.xml.",
      "url": "https://www.flipkart.com/sitemap.xml",
      "conditions": [
        "HTTP 404",
        "no interaction"
      ],
      "result": "pass"
    }
  ],
  "findings": [
    {
      "id": "F01",
      "pathId": "home",
      "url": "https://www.flipkart.com/",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-color-scheme",
      "guidanceId": "dark-mode",
      "severity": "medium",
      "confidence": "high",
      "summary": "The interface remains light under a dark system preference.",
      "evidence": "The dark-scheme screenshot is visually the same light white/grey UI as the default, and the fetched 458 KB CSS contains no prefers-color-scheme rule.",
      "artifacts": [
        "evidence/home-dark.png"
      ],
      "suggestedFix": "Declare color-scheme and define preference-driven surface/text tokens, using light-dark() or a prefers-color-scheme query.",
      "effort": "medium"
    },
    {
      "id": "F02",
      "pathId": "home",
      "url": "https://www.flipkart.com/",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-reduced-motion",
      "guidanceId": "accessibility",
      "severity": "medium",
      "confidence": "high",
      "summary": "Animations continue when reduced motion is requested.",
      "evidence": "The reduced-motion probe found five running animations, including durations of 4.72 s and 5.33 s; CSS feature inspection found no prefers-reduced-motion rule.",
      "artifacts": [
        "evidence/home-reduced-motion.json"
      ],
      "suggestedFix": "Disable non-essential animation and auto-advance inside prefers-reduced-motion: reduce.",
      "effort": "medium"
    },
    {
      "id": "F03",
      "pathId": "home",
      "url": "https://www.flipkart.com/",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-contrast",
      "guidanceId": "adapt-scrollbar-to-contrast-preferences",
      "severity": "medium",
      "confidence": "high",
      "summary": "No authored high-contrast adaptation is present.",
      "evidence": "Fetched CSS contains no prefers-contrast or forced-colors rules; the increased-contrast capture does not establish a purpose-built high-contrast treatment.",
      "artifacts": [
        "evidence/home-contrast.png"
      ],
      "suggestedFix": "Add forced-colors and prefers-contrast adaptations for controls, focus indicators, and custom chrome.",
      "effort": "medium"
    },
    {
      "id": "F04",
      "pathId": "home",
      "url": "https://www.flipkart.com/",
      "principleId": "implement-natural-interactions",
      "principleCheckId": "view-transitions",
      "guidanceId": "same-document-transitions",
      "severity": "low",
      "confidence": "high",
      "summary": "Route and modal state changes do not use authored View Transitions.",
      "evidence": "CSS inspection across home, search, and product found zero view-transition declarations; the modal-cycle video shows an abrupt custom state swap.",
      "artifacts": [
        "evidence/login-modal-cycle.mp4"
      ],
      "suggestedFix": "Use same-document View Transitions for modal/state changes and cross-document transitions for compatible route changes, with reduced-motion handling.",
      "effort": "medium"
    },
    {
      "id": "F05",
      "pathId": "search",
      "url": "https://www.flipkart.com/search?q=mobile",
      "principleId": "provide-guided-navigation",
      "principleCheckId": "scroll-state-aware-chrome",
      "guidanceId": "scroll-progress-indicator",
      "severity": "low",
      "confidence": "high",
      "summary": "Long listing navigation does not provide scroll-state guidance.",
      "evidence": "The listing scroll video and CSS inspection show no progress indicator, shrinking header, scroll-state query, or equivalent positional feedback on a 10,183 px page.",
      "artifacts": [
        "evidence/search-scroll.mp4"
      ],
      "suggestedFix": "Add a lightweight scroll progress or state-aware sticky header using declarative scroll-state techniques.",
      "effort": "medium"
    },
    {
      "id": "F06",
      "pathId": "home",
      "url": "https://www.flipkart.com/",
      "principleId": "provide-guided-navigation",
      "principleCheckId": "anchored-positioning",
      "guidanceId": "position-aware-tooltips",
      "severity": "low",
      "confidence": "high",
      "summary": "Menus and the login overlay are manually positioned rather than anchored.",
      "evidence": "CSS inspection found zero anchor-name, position-anchor, or position-try declarations on the sampled templates.",
      "artifacts": [
        "evidence/home-css-features.json"
      ],
      "suggestedFix": "Use CSS anchor positioning with fallback positions for menus and transient UI near viewport edges.",
      "effort": "medium"
    },
    {
      "id": "F07",
      "pathId": "home",
      "url": "https://www.flipkart.com/",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "no-intrusive-interruptions",
      "guidanceId": "light-dismiss-a-dialog",
      "severity": "high",
      "confidence": "high",
      "summary": "A login interstitial obscures the homepage on load.",
      "evidence": "The desktop and mobile first-load screenshots show a dimmed page covered by a large login prompt before user intent; on mobile the overlay is clipped.",
      "artifacts": [
        "evidence/home-desktop.png"
      ],
      "suggestedFix": "Do not open authentication on load. Trigger it from an explicit user action and retain an obvious dismiss path.",
      "effort": "medium"
    },
    {
      "id": "F08",
      "pathId": "home",
      "url": "https://www.flipkart.com/",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "semantic-dismissible-primitives",
      "guidanceId": "declarative-dialog-popover-control",
      "severity": "high",
      "confidence": "high",
      "summary": "The login modal is an unlabelled custom div, not a semantic dialog.",
      "evidence": "DOM/probe evidence reports dialog=0, ariaModal=0 and a full-viewport custom DIV while the screenshot clearly shows modal behavior.",
      "artifacts": [
        "evidence/home-probe.json"
      ],
      "suggestedFix": "Implement the flow with <dialog>, accessible naming, focus trapping/restoration, Escape and platform dismissal.",
      "effort": "medium"
    },
    {
      "id": "F09",
      "pathId": "home",
      "url": "https://www.flipkart.com/",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "reduced-chrome",
      "guidanceId": "overflow-clipping-control",
      "severity": "medium",
      "confidence": "high",
      "summary": "Promotional chrome and the account prompt crowd out shopping content.",
      "evidence": "The first viewport is dominated by the account modal, header categories, and ad creative; core product content is mostly obscured.",
      "artifacts": [
        "evidence/home-desktop.png"
      ],
      "suggestedFix": "Remove the automatic modal and reduce competing first-viewport promotion so search and products remain primary.",
      "effort": "medium"
    },
    {
      "id": "F10",
      "pathId": "search",
      "url": "https://www.flipkart.com/search?q=mobile",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "responsive-no-horizontal-scroll",
      "guidanceId": "fluid-scaling",
      "severity": "critical",
      "confidence": "high",
      "summary": "Search and login templates ship a 980 px desktop viewport to 360 px devices.",
      "evidence": "At a requested 360x800 viewport, layout reports clientWidth=980, scale=0.367 and hasViewportMeta=false for search and login, making text and controls tiny; the homepage modal also scrolls to 370 px.",
      "artifacts": [
        "evidence/search-mobile.png"
      ],
      "suggestedFix": "Add a valid responsive viewport on every template and rebuild fixed desktop grids/forms with intrinsic fluid layouts. Do not disable zoom.",
      "effort": "large"
    },
    {
      "id": "F11",
      "pathId": "login",
      "url": "https://www.flipkart.com/account/login?ret=/",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "component-level-responsiveness",
      "guidanceId": "size-aware-styling",
      "severity": "high",
      "confidence": "high",
      "summary": "Shared search/auth components do not adapt consistently by container.",
      "evidence": "Search/login render as scaled desktop pages while product/cart use true 360 px layouts; all three CSS probes report zero @container/container-type usage.",
      "artifacts": [
        "evidence/login-mobile.png"
      ],
      "suggestedFix": "Make shared header, filters, cards, and auth panel container-responsive and test each template at narrow sizes.",
      "effort": "large"
    },
    {
      "id": "F12",
      "pathId": "home",
      "url": "https://www.flipkart.com/",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "input-modality-aware",
      "guidanceId": "accessibility",
      "severity": "high",
      "confidence": "high",
      "summary": "Many controls are undersized and several suppress focus indication.",
      "evidence": "The home probe found 42/96 visible interactive targets under 44 px; search found 50/88. Focused search inputs/buttons computed outline:none.",
      "artifacts": [
        "evidence/home-probe.json"
      ],
      "suggestedFix": "Meet touch target spacing/sizing and provide clear :focus-visible styles without removing the native outline unless replaced.",
      "effort": "medium"
    },
    {
      "id": "F13",
      "pathId": "home",
      "url": "https://www.flipkart.com/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "good-core-web-vitals",
      "guidanceId": "performance",
      "severity": "high",
      "confidence": "high",
      "summary": "Mobile lab loading misses the good LCP and responsiveness bar.",
      "evidence": "Lighthouse measured LCP 4.0 s, TBT 470 ms, Speed Index 7.7 s and interactive 18.1 s (performance 0.65).",
      "artifacts": [
        "evidence/lighthouse-home-summary.json"
      ],
      "suggestedFix": "Prioritise the LCP element, reduce startup JavaScript, and schedule non-critical work after interaction readiness.",
      "effort": "medium"
    },
    {
      "id": "F14",
      "pathId": "cart",
      "url": "https://www.flipkart.com/viewcart?marketplace=FLIPKART",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "visual-stability",
      "guidanceId": "visually-stable-font-fallbacks",
      "severity": "medium",
      "confidence": "high",
      "summary": "Product and cart views shift materially after load.",
      "evidence": "The layout observer measured CLS 0.083 on product and 0.106 on cart, with the cart shift concentrated in a 0.106 event.",
      "artifacts": [
        "evidence/cart-layout.json"
      ],
      "suggestedFix": "Reserve space for late content and stabilise image, offer, and empty-state dimensions before paint.",
      "effort": "medium"
    },
    {
      "id": "F15",
      "pathId": "home",
      "url": "https://www.flipkart.com/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "efficient-main-thread",
      "guidanceId": "break-up-long-tasks",
      "severity": "high",
      "confidence": "high",
      "summary": "Startup JavaScript blocks the main thread.",
      "evidence": "Lighthouse TBT was 470 ms; traces found 3 long tasks on both home and product, and the product trace recorded 120 ms TBT.",
      "artifacts": [
        "evidence/lighthouse-home-summary.json"
      ],
      "suggestedFix": "Break up long tasks, defer non-critical modules, and schedule analytics/background work at lower priority.",
      "effort": "medium"
    },
    {
      "id": "F16",
      "pathId": "home",
      "url": "https://www.flipkart.com/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "efficient-resource-delivery",
      "guidanceId": "optimize-script-priority",
      "severity": "high",
      "confidence": "high",
      "summary": "Critical delivery is script-heavy.",
      "evidence": "The home HAR records 123 requests and 3.44 MB transferred, including 2.81 MB of script; product transfers 3.31 MB with 2.86 MB script. Parser-initiated modules were confirmed deferred, leaving the stylesheet and sheer startup graph as the concern.",
      "artifacts": [
        "evidence/home-summary.json"
      ],
      "suggestedFix": "Reduce the critical dependency graph, preload only proven critical assets, and improve caching for stable bundles.",
      "effort": "medium"
    },
    {
      "id": "F17",
      "pathId": "home",
      "url": "https://www.flipkart.com/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "trim-unused-and-duplicate-code",
      "guidanceId": "identify-heavy-scripts",
      "severity": "medium",
      "confidence": "high",
      "summary": "Large legacy and instrumentation bundles dominate page weight.",
      "evidence": "Home loads 27 script requests/2.81 MB and search still loads polyfills plus analytics/tag-manager scripts; script is over 80% of transferred bytes.",
      "artifacts": [
        "evidence/home-summary.json"
      ],
      "suggestedFix": "Use coverage and bundle analysis to remove unused/duplicate code, conditionally load legacy support, and gate instrumentation.",
      "effort": "medium"
    },
    {
      "id": "F18",
      "pathId": "home",
      "url": "https://www.flipkart.com/",
      "principleId": "be-inclusive",
      "principleCheckId": "names-roles-labels",
      "guidanceId": "accessibility",
      "severity": "critical",
      "confidence": "high",
      "summary": "Core controls and images lack accessible names or labels.",
      "evidence": "axe found 14 missing image alternatives, critical unlabeled form elements, and three unnamed links on home; login has an unnamed button, unlabeled input, ten images without alt, and four unnamed links.",
      "artifacts": [
        "evidence/home-axe.json"
      ],
      "suggestedFix": "Add visible labels and programmatic names, meaningful alt text, and correct button/link semantics.",
      "effort": "medium"
    },
    {
      "id": "F19",
      "pathId": "login",
      "url": "https://www.flipkart.com/account/login?ret=/",
      "principleId": "be-inclusive",
      "principleCheckId": "sufficient-contrast",
      "guidanceId": "accessibility",
      "severity": "high",
      "confidence": "high",
      "summary": "Text and links fail WCAG contrast.",
      "evidence": "axe reported five contrast failures on home and twenty on login, including form/help text and policy links; Lighthouse also failed color-contrast.",
      "artifacts": [
        "evidence/login-axe.json"
      ],
      "suggestedFix": "Adjust color tokens to meet WCAG AA in default, hover, focus, disabled, and error states.",
      "effort": "medium"
    },
    {
      "id": "F20",
      "pathId": "product",
      "url": "https://www.flipkart.com/vivo-t5-lite-44w-5g-wave-blue-128-gb/p/itm5420c578ec2df?pid=MOBHNDTD5AWH5FJT",
      "principleId": "be-inclusive",
      "principleCheckId": "structure-and-focus",
      "guidanceId": "accessibility",
      "severity": "high",
      "confidence": "high",
      "summary": "Landmarks and visible focus are inconsistent.",
      "evidence": "The product has no main landmark and duplicate contentinfo landmarks; home has no main/nav landmarks. Focus probes show outline:none on search fields and many links across search/login.",
      "artifacts": [
        "evidence/product-axe.json"
      ],
      "suggestedFix": "Add a single main landmark, unique landmarks, logical headings, and strong :focus-visible treatment in DOM order.",
      "effort": "medium"
    },
    {
      "id": "F21",
      "pathId": "login",
      "url": "https://www.flipkart.com/account/login?ret=/",
      "principleId": "be-inclusive",
      "principleCheckId": "legible-text",
      "guidanceId": "improve-text-layout-and-legibility",
      "severity": "critical",
      "confidence": "high",
      "summary": "Desktop scaling makes mobile listing and login text illegible.",
      "evidence": "The 360 px search capture scales a 980 px, 10,183 px desktop page to 36.7%, and the login capture similarly miniaturises the whole form/footer.",
      "artifacts": [
        "evidence/login-mobile.png"
      ],
      "suggestedFix": "Use responsive typography and reflowed single-column layouts rather than viewport-scale shrinkage.",
      "effort": "medium"
    },
    {
      "id": "F22",
      "pathId": "home",
      "url": "https://www.flipkart.com/",
      "principleId": "be-inclusive",
      "principleCheckId": "zoom-reflow-targets-and-media",
      "guidanceId": "fluid-scaling",
      "severity": "critical",
      "confidence": "high",
      "summary": "Several templates prevent zoom or omit the responsive viewport.",
      "evidence": "Home/product declare user-scalable=no; search/login omit viewport meta and render at 980 px. axe flags the viewport setting as critical.",
      "artifacts": [
        "evidence/home-axe.json"
      ],
      "suggestedFix": "Remove user-scalable=no, add width=device-width, initial-scale=1 consistently, and verify 200% zoom/reflow.",
      "effort": "medium"
    },
    {
      "id": "F23",
      "pathId": "home",
      "url": "https://www.flipkart.com/",
      "principleId": "follow-best-practices",
      "principleCheckId": "no-console-errors",
      "guidanceId": "html",
      "severity": "medium",
      "confidence": "high",
      "summary": "The homepage emits failed network requests in the console.",
      "evidence": "Lighthouse recorded three console failures: one 401 unread-count request and two 406 analytics collector requests.",
      "artifacts": [
        "evidence/lighthouse-home.json"
      ],
      "suggestedFix": "Avoid unauthenticated requests that predictably fail and suppress/retry telemetry only when valid.",
      "effort": "medium"
    },
    {
      "id": "F24",
      "pathId": "home",
      "url": "https://www.flipkart.com/",
      "principleId": "follow-best-practices",
      "principleCheckId": "sound-document-and-assets",
      "guidanceId": "html",
      "severity": "medium",
      "confidence": "high",
      "summary": "Many images lack intrinsic dimensions and use legacy formats.",
      "evidence": "Image inspection found 45/97 homepage images and 18/64 product images without dimensions; 54 homepage images use legacy formats and six are oversized.",
      "artifacts": [
        "evidence/home-images.json"
      ],
      "suggestedFix": "Set width/height or aspect-ratio, preserve correct aspect ratios, and serve efficient modern formats at responsive sizes.",
      "effort": "medium"
    },
    {
      "id": "F25",
      "pathId": "product",
      "url": "https://www.flipkart.com/vivo-t5-lite-44w-5g-wave-blue-128-gb/p/itm5420c578ec2df?pid=MOBHNDTD5AWH5FJT",
      "principleId": "be-discoverable",
      "principleCheckId": "title-and-description",
      "guidanceId": "html",
      "severity": "medium",
      "confidence": "high",
      "summary": "Rendered representative pages do not expose meta descriptions consistently.",
      "evidence": "Direct DOM probes found meta[name=description] absent on home, search, product, login, and cart, although titles were descriptive; Lighthouse observed a homepage description in a separate run, indicating inconsistent output.",
      "artifacts": [
        "evidence/product-probe.json"
      ],
      "suggestedFix": "Emit stable, unique descriptions in server HTML for public templates and retain them after hydration.",
      "effort": "medium"
    },
    {
      "id": "F26",
      "pathId": "search",
      "url": "https://www.flipkart.com/search?q=mobile",
      "principleId": "be-discoverable",
      "principleCheckId": "crawlable-and-mobile-friendly",
      "guidanceId": "html",
      "severity": "high",
      "confidence": "high",
      "summary": "Public listing pages are not mobile-friendly and one anchor is not crawlable.",
      "evidence": "Search has no viewport meta and is scaled to 980 px; Lighthouse found one non-crawlable anchor and the live home probe found one anchor without href.",
      "artifacts": [
        "evidence/search-probe.json"
      ],
      "suggestedFix": "Provide real hrefs and a responsive viewport on every public template; keep descriptive link text.",
      "effort": "medium"
    },
    {
      "id": "F27",
      "pathId": "home",
      "url": "https://www.flipkart.com/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "secure-transport-and-headers",
      "guidanceId": "security",
      "severity": "high",
      "confidence": "high",
      "summary": "Transport policy and cookie flags are weaker than expected.",
      "evidence": "HTTPS and CSP are present, but HSTS and nosniff are missing; CSP permits unsafe-inline/unsafe-eval. Cookie audit reports 14 SameSite=None cookies and 8 without Secure.",
      "artifacts": [
        "evidence/headers.json"
      ],
      "suggestedFix": "Enable HSTS and nosniff, tighten CSP away from unsafe directives, and mark cookies Secure with the narrowest viable SameSite policy.",
      "effort": "medium"
    },
    {
      "id": "F28",
      "pathId": "home",
      "url": "https://www.flipkart.com/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "data-minimisation-and-third-parties",
      "guidanceId": "privacy",
      "severity": "medium",
      "confidence": "high",
      "summary": "Analytics and third-party activity are broad for an anonymous first load.",
      "evidence": "Tracker capture found eight cross-origin origins and active New Relic endpoints; the HAR attributes 121/123 requests and 3.27 MB to other origins (mostly Flipkart CDNs, plus monitoring).",
      "artifacts": [
        "evidence/trackers.json"
      ],
      "suggestedFix": "Classify corporate CDNs separately, then minimise monitoring/marketing collection, batch events, and load non-essential analytics after consent or need.",
      "effort": "medium"
    },
    {
      "id": "F29",
      "pathId": "login",
      "url": "https://www.flipkart.com/account/login?ret=/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "in-context-permissions-and-modern-auth",
      "guidanceId": "passkeys",
      "severity": "low",
      "confidence": "high",
      "summary": "Login offers OTP only, with no visible passkey route.",
      "evidence": "The sampled login page requests email/mobile and Request OTP; no password is collected, but no WebAuthn/passkey option or credential affordance appears. No permission prompt appeared on load.",
      "artifacts": [
        "evidence/login-empty-submit.png"
      ],
      "suggestedFix": "Offer passkeys as the preferred phishing-resistant sign-in path while retaining OTP recovery.",
      "effort": "medium"
    },
    {
      "id": "F30",
      "pathId": "home",
      "url": "https://www.flipkart.com/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "defensive-browser-policies",
      "guidanceId": "security",
      "severity": "high",
      "confidence": "high",
      "summary": "Defensive response policies are incomplete.",
      "evidence": "Headers inspection found no HSTS, frame-ancestors/X-Frame-Options, Referrer-Policy, Permissions-Policy, or nosniff, and CSP allows unsafe-inline/unsafe-eval.",
      "artifacts": [
        "evidence/headers.json"
      ],
      "suggestedFix": "Add frame-ancestors, Referrer-Policy, Permissions-Policy, HSTS and nosniff; adopt nonces/hashes and Trusted Types where feasible.",
      "effort": "medium"
    },
    {
      "id": "F31",
      "pathId": "home",
      "url": "https://www.flipkart.com/",
      "principleId": "be-resilient",
      "principleCheckId": "resilient-runtime-behaviour",
      "guidanceId": "resilient-context-menus-and-nested-dropdowns",
      "severity": "high",
      "confidence": "high",
      "summary": "The custom login overlay is clipped on narrow screens.",
      "evidence": "The 360 px homepage capture shows the modal extending beyond both sides, with its left content and create-account action cut off.",
      "artifacts": [
        "evidence/home-mobile.png"
      ],
      "suggestedFix": "Use a semantic responsive dialog constrained with logical insets/max-size and test focus/dismissal at viewport edges.",
      "effort": "medium"
    },
    {
      "id": "F32",
      "pathId": "home",
      "url": "https://www.flipkart.com/",
      "principleId": "be-resilient",
      "principleCheckId": "offline-and-installable",
      "guidanceId": "detect-initial-visibility-state",
      "severity": "medium",
      "confidence": "high",
      "summary": "The commerce experience is not installable from the sampled pages.",
      "evidence": "Home/product/search probes found no link rel=manifest; no install surface was present.",
      "artifacts": [
        "evidence/home-probe.json"
      ],
      "suggestedFix": "Provide a valid web app manifest and an intentional offline fallback for navigation and saved/cart state where business rules permit.",
      "effort": "medium"
    },
    {
      "id": "F33",
      "pathId": "home",
      "url": "https://www.flipkart.com/",
      "principleId": "be-internationalised",
      "principleCheckId": "lang-dir-and-logical-properties",
      "guidanceId": "translator",
      "severity": "medium",
      "confidence": "high",
      "summary": "International layout support is incomplete.",
      "evidence": "lang is present (en/en-IN), but fetched CSS across representative templates contains zero logical margin/padding/inset properties and no authored dir adaptation.",
      "artifacts": [
        "evidence/home-css-features.json"
      ],
      "suggestedFix": "Adopt logical properties and verify translated/RTL layouts; set dir explicitly when locale direction can vary.",
      "effort": "medium"
    },
    {
      "id": "F34",
      "pathId": "home",
      "url": "https://www.flipkart.com/",
      "principleId": "be-trustworthy",
      "principleCheckId": "no-dark-patterns",
      "guidanceId": "custom-button-actions",
      "severity": "high",
      "confidence": "high",
      "summary": "Authentication is nagged before the user asks for it.",
      "evidence": "The homepage opens the login prompt automatically over product content, while login is also available in the header; this creates an avoidable account-pressure interruption.",
      "artifacts": [
        "evidence/home-desktop.png"
      ],
      "suggestedFix": "Keep anonymous browsing unobstructed and ask for authentication only at an action that requires it.",
      "effort": "medium"
    },
    {
      "id": "F35",
      "pathId": "login",
      "url": "https://www.flipkart.com/account/login?ret=/",
      "principleId": "be-trustworthy",
      "principleCheckId": "humane-error-handling",
      "guidanceId": "accessible-error-announcement",
      "severity": "medium",
      "confidence": "high",
      "summary": "Login errors are visible but not exposed as invalid state.",
      "evidence": "After empty Request OTP, text says “Please enter valid Email ID/Mobile number”, but every sampled input still has aria-invalid=null, :user-invalid=false, and no native validationMessage.",
      "artifacts": [
        "evidence/login-validation.json"
      ],
      "suggestedFix": "Associate the message with the field, set aria-invalid after interaction, and announce the error through an appropriate live region.",
      "effort": "medium"
    },
    {
      "id": "F36",
      "pathId": "login",
      "url": "https://www.flipkart.com/account/login?ret=/",
      "principleId": "be-trustworthy",
      "principleCheckId": "trustworthy-input-assistance",
      "guidanceId": "autofill-sign-in-form",
      "severity": "high",
      "confidence": "high",
      "summary": "Sign-in and search inputs disable autocomplete and lack visible labels.",
      "evidence": "Login probe shows the identity field with autocomplete=off and no label/aria-label; search fields also use autocomplete=off.",
      "artifacts": [
        "evidence/login-probe.json"
      ],
      "suggestedFix": "Use a visible label and the correct username/email/tel and one-time-code autocomplete tokens; do not disable autofill.",
      "effort": "medium"
    },
    {
      "id": "F37",
      "pathId": "home",
      "url": "https://www.flipkart.com/",
      "principleId": "be-sustainable",
      "principleCheckId": "optimised-assets",
      "guidanceId": "optimize-image-priority",
      "severity": "medium",
      "confidence": "high",
      "summary": "Image delivery still wastes bytes and layout certainty.",
      "evidence": "Homepage image audit found 54 legacy-format images, six oversized images, and 45 without dimensions; product found 28 legacy and three oversized.",
      "artifacts": [
        "evidence/home-images.json"
      ],
      "suggestedFix": "Serve AVIF/WebP where appropriate, right-size responsive sources, and reserve dimensions.",
      "effort": "medium"
    },
    {
      "id": "F38",
      "pathId": "home",
      "url": "https://www.flipkart.com/",
      "principleId": "be-sustainable",
      "principleCheckId": "no-wasteful-work",
      "guidanceId": "efficient-background-processing",
      "severity": "medium",
      "confidence": "high",
      "summary": "Anonymous loads perform avoidable failing and analytics work.",
      "evidence": "The homepage makes 123 requests including 25 fetch/XHR; Lighthouse logs a predictable 401 and two 406 collector calls, while traces record repeated long tasks.",
      "artifacts": [
        "evidence/home-summary.json"
      ],
      "suggestedFix": "Remove predictable failing calls, batch telemetry, and deprioritise background collection until idle/consent.",
      "effort": "medium"
    },
    {
      "id": "F39",
      "pathId": "home",
      "url": "https://www.flipkart.com/",
      "principleId": "be-sustainable",
      "principleCheckId": "third-party-and-media-budget",
      "guidanceId": "deprioritize-background-fetches",
      "severity": "medium",
      "confidence": "high",
      "summary": "The startup budget is dominated by cross-origin scripts.",
      "evidence": "HAR reports 3.27 MB/3.44 MB and 121/123 homepage requests from origins other than www.flipkart.com; 2.81 MB is script and New Relic tracking is active. Most byte-heavy origins are Flipkart CDNs, but they still consume user resources.",
      "artifacts": [
        "evidence/home-summary.json"
      ],
      "suggestedFix": "Set an explicit script/third-party budget, defer monitoring, and cache/version CDN assets aggressively.",
      "effort": "medium"
    },
    {
      "id": "F40",
      "pathId": "product",
      "url": "https://www.flipkart.com/vivo-t5-lite-44w-5g-wave-blue-128-gb/p/itm5420c578ec2df?pid=MOBHNDTD5AWH5FJT",
      "principleId": "be-agent-ready",
      "principleCheckId": "structured-agent-capabilities",
      "guidanceId": "webmcp",
      "severity": "low",
      "confidence": "high",
      "summary": "High-value commerce actions are not exposed as structured agent tools.",
      "evidence": "The product is reasonably crawlable and has JSON-LD, but no WebMCP/agentic form registration was observed on search, product, login, or cart.",
      "artifacts": [
        "evidence/product-probe.json"
      ],
      "suggestedFix": "Treat this as an emerging opportunity: expose narrowly scoped, user-confirmed search/cart capabilities through WebMCP when support and risk controls are ready.",
      "effort": "large"
    }
  ],
  "taskList": [
    {
      "id": "T1",
      "title": "Repair mobile viewport, zoom, and true reflow across search/login/home dialog",
      "priority": 1,
      "findingIds": [
        "F10",
        "F11",
        "F21",
        "F22"
      ],
      "guidanceId": "fluid-scaling",
      "status": "open"
    },
    {
      "id": "T2",
      "title": "Remove the automatic login interruption and rebuild it as an accessible responsive dialog",
      "priority": 2,
      "findingIds": [
        "F07",
        "F08",
        "F31",
        "F34"
      ],
      "guidanceId": "declarative-dialog-popover-control",
      "status": "open"
    },
    {
      "id": "T3",
      "title": "Fix accessible names, labels, landmarks, focus, contrast, and touch targets",
      "priority": 3,
      "findingIds": [
        "F18",
        "F19",
        "F20",
        "F12"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T4",
      "title": "Cut startup JavaScript and main-thread work to meet LCP/TBT targets",
      "priority": 4,
      "findingIds": [
        "F13",
        "F15",
        "F16",
        "F17"
      ],
      "guidanceId": "break-up-long-tasks",
      "status": "open"
    },
    {
      "id": "T5",
      "title": "Harden response headers, CSP, and cookie attributes",
      "priority": 5,
      "findingIds": [
        "F27",
        "F30"
      ],
      "guidanceId": "security",
      "status": "open"
    },
    {
      "id": "T6",
      "title": "Add dark, reduced-motion, and high-contrast preference adaptations",
      "priority": 6,
      "findingIds": [
        "F01",
        "F02",
        "F03"
      ],
      "guidanceId": "dark-mode",
      "status": "open"
    },
    {
      "id": "T7",
      "title": "Stabilise image dimensions and modernise asset delivery",
      "priority": 7,
      "findingIds": [
        "F14",
        "F24",
        "F37"
      ],
      "guidanceId": "optimize-image-priority",
      "status": "open"
    },
    {
      "id": "T8",
      "title": "Make login validation and autofill assistive and announce errors",
      "priority": 8,
      "findingIds": [
        "F35",
        "F36"
      ],
      "guidanceId": "accessible-error-announcement",
      "status": "open"
    },
    {
      "id": "T9",
      "title": "Reduce anonymous telemetry, failing calls, and cross-origin script budget",
      "priority": 9,
      "findingIds": [
        "F28",
        "F38",
        "F39",
        "F23"
      ],
      "guidanceId": "efficient-background-processing",
      "status": "open"
    },
    {
      "id": "T10",
      "title": "Stabilise SEO descriptions, crawlable links, and mobile metadata",
      "priority": 10,
      "findingIds": [
        "F25",
        "F26"
      ],
      "guidanceId": "html",
      "status": "open"
    }
  ],
  "budget": {
    "pathCount": 6,
    "auditPasses": 1
  },
  "agent": "pi",
  "runId": "2026-07-21T14-26-30-176Z"
}
