{
  "schemaVersion": 1,
  "scannerVersion": "1.0.0",
  "project": "wayfinder-workspace",
  "name": "Wayfinder / team workspace",
  "sourceHashes": {
    "index.html": "4c311ce9106eed6b2a9a4703cd8ab6c7663435b8ca6624472d3585f7c680e4a4",
    "booking.html": "262b27c4ee607526c02e62353584dd6463ce33c0784673bdfdeeff03d10e298d"
  },
  "findings": [
    {
      "id": "2b334453525f9205cb29",
      "page": "booking.html",
      "rule": "iframe-title",
      "severity": "serious",
      "location": "html[1]/body[1]/main[1]/iframe[1]",
      "identity": "iframe[1]",
      "line": 3,
      "sourceHash": "262b27c4ee607526c02e62353584dd6463ce33c0784673bdfdeeff03d10e298d",
      "snippet": "<iframe src=\"about:blank\"></iframe><table><tr><td>Room</td><td>Capacity</td></tr><tr><td>North</td><td>4</td></tr></table>",
      "detail": "Embedded frame has no descriptive title.",
      "fix": "Name the embedded content with a meaningful title.",
      "basis": "static-source"
    },
    {
      "id": "b4f562021d91dc6338e5",
      "page": "booking.html",
      "rule": "table-headers",
      "severity": "moderate",
      "location": "html[1]/body[1]/main[1]/table[1]",
      "identity": "table[1]",
      "line": 3,
      "sourceHash": "262b27c4ee607526c02e62353584dd6463ce33c0784673bdfdeeff03d10e298d",
      "snippet": "<iframe src=\"about:blank\"></iframe><table><tr><td>Room</td><td>Capacity</td></tr><tr><td>North</td><td>4</td></tr></table>",
      "detail": "Data-like table has no th cells in the source.",
      "fix": "Review whether this is data or layout; use scoped headers for a data table.",
      "basis": "static-source"
    }
  ],
  "manualChecks": [
    {
      "id": "keyboard",
      "title": "Keyboard navigation and operation",
      "status": "not-run",
      "note": ""
    },
    {
      "id": "focus",
      "title": "Visible focus and useful focus order",
      "status": "not-run",
      "note": ""
    },
    {
      "id": "contrast",
      "title": "Rendered text and control contrast",
      "status": "not-run",
      "note": ""
    },
    {
      "id": "zoom",
      "title": "200% text zoom and narrow reflow",
      "status": "not-run",
      "note": ""
    },
    {
      "id": "reader",
      "title": "Screen-reader names, roles and announcements",
      "status": "not-run",
      "note": ""
    },
    {
      "id": "errors",
      "title": "Actual form errors and recovery",
      "status": "not-run",
      "note": ""
    },
    {
      "id": "motion",
      "title": "Reduced motion and animation controls",
      "status": "not-run",
      "note": ""
    },
    {
      "id": "dynamic",
      "title": "Dialogs, async updates and status messages",
      "status": "not-run",
      "note": ""
    }
  ],
  "summary": {
    "pages": 2,
    "findings": 2,
    "manualNotRun": 8
  },
  "comparison": {
    "before": 20,
    "after": 2,
    "resolved": [
      {
        "id": "3d89fdcd082073cdf5ef",
        "page": "index.html",
        "rule": "document-language",
        "severity": "serious",
        "location": "html[1]",
        "identity": "html[1]",
        "line": 1,
        "sourceHash": "04e8f604348e226166419df0dbabf366805d55e885672411af8104e647435ba7",
        "snippet": "<!doctype html><html><head><title></title></head><body>",
        "detail": "Document has no bounded language tag.",
        "fix": "Set html lang to the actual content language; separately inspect language changes.",
        "basis": "static-source"
      },
      {
        "id": "062b8859735d68542bfd",
        "page": "index.html",
        "rule": "document-title",
        "severity": "serious",
        "location": "html[1]/head[1]/title[1]",
        "identity": "title[1]",
        "line": 1,
        "sourceHash": "04e8f604348e226166419df0dbabf366805d55e885672411af8104e647435ba7",
        "snippet": "<!doctype html><html><head><title></title></head><body>",
        "detail": "Document title is missing or empty.",
        "fix": "Supply a concise page-specific title.",
        "basis": "static-source"
      },
      {
        "id": "355e82deab4567ee2e60",
        "page": "index.html",
        "rule": "main-landmark",
        "severity": "moderate",
        "location": "html[1]",
        "identity": "html[1]",
        "line": 1,
        "sourceHash": "04e8f604348e226166419df0dbabf366805d55e885672411af8104e647435ba7",
        "snippet": "<!doctype html><html><head><title></title></head><body>",
        "detail": "No main landmark is present in the static source.",
        "fix": "Identify one primary main region; verify the live landmark structure.",
        "basis": "static-source"
      },
      {
        "id": "1d89c0fa0f333a2eb215",
        "page": "index.html",
        "rule": "viewport",
        "severity": "review",
        "location": "html[1]",
        "identity": "html[1]",
        "line": 1,
        "sourceHash": "04e8f604348e226166419df0dbabf366805d55e885672411af8104e647435ba7",
        "snippet": "<!doctype html><html><head><title></title></head><body>",
        "detail": "No viewport metadata found.",
        "fix": "Review responsive viewport configuration and actual narrow reflow.",
        "basis": "static-source"
      },
      {
        "id": "a75dd465241224b838e3",
        "page": "index.html",
        "rule": "link-name",
        "severity": "serious",
        "location": "html[1]/body[1]/nav[1]/a[1]",
        "identity": "a[1]",
        "line": 2,
        "sourceHash": "04e8f604348e226166419df0dbabf366805d55e885672411af8104e647435ba7",
        "snippet": "<nav><a href=\"/account\"></a></nav>",
        "detail": "Link has no static accessible name.",
        "fix": "Give the destination a useful name, including icon-only links.",
        "basis": "static-source"
      },
      {
        "id": "44c3dc75ee2cde782144",
        "page": "index.html",
        "rule": "heading-order",
        "severity": "moderate",
        "location": "html[1]/body[1]/div[1]/h3[1]",
        "identity": "h3[1]",
        "line": 3,
        "sourceHash": "04e8f604348e226166419df0dbabf366805d55e885672411af8104e647435ba7",
        "snippet": "<div><h1>Your next project starts here.</h1><h3>Explore your workspace</h3>",
        "detail": "Heading level skips from 1 to 3.",
        "fix": "Review content hierarchy; a skip is a structural review finding, not a standalone conformance verdict.",
        "basis": "static-source"
      },
      {
        "id": "6ab2b5290711290a8175",
        "page": "index.html",
        "rule": "image-name",
        "severity": "serious",
        "location": "html[1]/body[1]/div[1]/img[1]",
        "identity": "img[1]",
        "line": 4,
        "sourceHash": "04e8f604348e226166419df0dbabf366805d55e885672411af8104e647435ba7",
        "snippet": "<img src=\"team.svg\"><label for=\"unknown\">Workspace</label>",
        "detail": "Image has no alternative-name mechanism.",
        "fix": "Provide meaningful alt text, or alt=\"\" when genuinely decorative.",
        "basis": "static-source"
      },
      {
        "id": "1b028146e744f6ed916f",
        "page": "index.html",
        "rule": "label-reference",
        "severity": "serious",
        "location": "html[1]/body[1]/div[1]/label[1]",
        "identity": "label[1]",
        "line": 4,
        "sourceHash": "04e8f604348e226166419df0dbabf366805d55e885672411af8104e647435ba7",
        "snippet": "<img src=\"team.svg\"><label for=\"unknown\">Workspace</label>",
        "detail": "Label points to an ID absent from static source.",
        "fix": "Correct the for/ID association and verify the rendered control name.",
        "basis": "static-source"
      },
      {
        "id": "0ef30a85e895234399ff",
        "page": "index.html",
        "rule": "control-name",
        "severity": "serious",
        "location": "html[1]/body[1]/div[1]/input[1]",
        "identity": "input[1]",
        "line": 5,
        "sourceHash": "04e8f604348e226166419df0dbabf366805d55e885672411af8104e647435ba7",
        "snippet": "<input id=\"team\" placeholder=\"Team name\"><input id=\"team\" placeholder=\"Email\">",
        "detail": "Form control has no static accessible-name mechanism.",
        "fix": "Associate a visible label with a unique control ID and verify its computed name.",
        "basis": "static-source"
      },
      {
        "id": "63b49e7d7352310978e7",
        "page": "index.html",
        "rule": "control-name",
        "severity": "serious",
        "location": "html[1]/body[1]/div[1]/input[2]",
        "identity": "input[2]",
        "line": 5,
        "sourceHash": "04e8f604348e226166419df0dbabf366805d55e885672411af8104e647435ba7",
        "snippet": "<input id=\"team\" placeholder=\"Team name\"><input id=\"team\" placeholder=\"Email\">",
        "detail": "Form control has no static accessible-name mechanism.",
        "fix": "Associate a visible label with a unique control ID and verify its computed name.",
        "basis": "static-source"
      },
      {
        "id": "97dd9d6a7c3646b53eb8",
        "page": "index.html",
        "rule": "button-name",
        "severity": "serious",
        "location": "html[1]/body[1]/div[1]/button[1]",
        "identity": "button[1]",
        "line": 6,
        "sourceHash": "04e8f604348e226166419df0dbabf366805d55e885672411af8104e647435ba7",
        "snippet": "<button></button></div></body></html>",
        "detail": "Button name is empty in static source.",
        "fix": "Give the action a visible or programmatic accessible name.",
        "basis": "static-source"
      },
      {
        "id": "5dd9732015ef625893f3",
        "page": "index.html",
        "rule": "duplicate-id",
        "severity": "serious",
        "location": "html[1]/body[1]/div[1]/input[2]",
        "identity": "input[2]",
        "line": 5,
        "sourceHash": "04e8f604348e226166419df0dbabf366805d55e885672411af8104e647435ba7",
        "snippet": "<input id=\"team\" placeholder=\"Team name\"><input id=\"team\" placeholder=\"Email\">",
        "detail": "ID is repeated in static source.",
        "fix": "Assign unique IDs and update every relevant reference.",
        "basis": "static-source"
      },
      {
        "id": "20404c0513ec8aa95ee7",
        "page": "booking.html",
        "rule": "document-language",
        "severity": "serious",
        "location": "html[1]",
        "identity": "html[1]",
        "line": 1,
        "sourceHash": "c457d5a6e9c94ad330223f4cbf849bf35d48c940626db55c2f722a600180affa",
        "snippet": "<!doctype html><html><head><title>Book a studio</title></head><body>",
        "detail": "Document has no bounded language tag.",
        "fix": "Set html lang to the actual content language; separately inspect language changes.",
        "basis": "static-source"
      },
      {
        "id": "63c596a5d296b9527a40",
        "page": "booking.html",
        "rule": "main-landmark",
        "severity": "moderate",
        "location": "html[1]",
        "identity": "html[1]",
        "line": 1,
        "sourceHash": "c457d5a6e9c94ad330223f4cbf849bf35d48c940626db55c2f722a600180affa",
        "snippet": "<!doctype html><html><head><title>Book a studio</title></head><body>",
        "detail": "No main landmark is present in the static source.",
        "fix": "Identify one primary main region; verify the live landmark structure.",
        "basis": "static-source"
      },
      {
        "id": "d9ba922bbd252423fe40",
        "page": "booking.html",
        "rule": "viewport",
        "severity": "review",
        "location": "html[1]",
        "identity": "html[1]",
        "line": 1,
        "sourceHash": "c457d5a6e9c94ad330223f4cbf849bf35d48c940626db55c2f722a600180affa",
        "snippet": "<!doctype html><html><head><title>Book a studio</title></head><body>",
        "detail": "No viewport metadata found.",
        "fix": "Review responsive viewport configuration and actual narrow reflow.",
        "basis": "static-source"
      },
      {
        "id": "fca84c9c1427ccd360dc",
        "page": "booking.html",
        "rule": "control-name",
        "severity": "serious",
        "location": "html[1]/body[1]/select[1]",
        "identity": "select[1]",
        "line": 2,
        "sourceHash": "c457d5a6e9c94ad330223f4cbf849bf35d48c940626db55c2f722a600180affa",
        "snippet": "<h1>Book a workspace</h1><select><option>North room</option></select>",
        "detail": "Form control has no static accessible-name mechanism.",
        "fix": "Associate a visible label with a unique control ID and verify its computed name.",
        "basis": "static-source"
      },
      {
        "id": "d414315e033bd023f040",
        "page": "booking.html",
        "rule": "link-name",
        "severity": "serious",
        "location": "html[1]/body[1]/a[1]",
        "identity": "a[1]",
        "line": 4,
        "sourceHash": "c457d5a6e9c94ad330223f4cbf849bf35d48c940626db55c2f722a600180affa",
        "snippet": "<a href=\"/help\"><img src=\"help.svg\"></a></body></html>",
        "detail": "Link has no static accessible name.",
        "fix": "Give the destination a useful name, including icon-only links.",
        "basis": "static-source"
      },
      {
        "id": "42228bf5d2c2aa1545d9",
        "page": "booking.html",
        "rule": "image-name",
        "severity": "serious",
        "location": "html[1]/body[1]/a[1]/img[1]",
        "identity": "img[1]",
        "line": 4,
        "sourceHash": "c457d5a6e9c94ad330223f4cbf849bf35d48c940626db55c2f722a600180affa",
        "snippet": "<a href=\"/help\"><img src=\"help.svg\"></a></body></html>",
        "detail": "Image has no alternative-name mechanism.",
        "fix": "Provide meaningful alt text, or alt=\"\" when genuinely decorative.",
        "basis": "static-source"
      }
    ],
    "new": [],
    "persisting": [
      {
        "id": "2b334453525f9205cb29",
        "page": "booking.html",
        "rule": "iframe-title",
        "severity": "serious",
        "location": "html[1]/body[1]/main[1]/iframe[1]",
        "identity": "iframe[1]",
        "line": 3,
        "sourceHash": "262b27c4ee607526c02e62353584dd6463ce33c0784673bdfdeeff03d10e298d",
        "snippet": "<iframe src=\"about:blank\"></iframe><table><tr><td>Room</td><td>Capacity</td></tr><tr><td>North</td><td>4</td></tr></table>",
        "detail": "Embedded frame has no descriptive title.",
        "fix": "Name the embedded content with a meaningful title.",
        "basis": "static-source"
      },
      {
        "id": "b4f562021d91dc6338e5",
        "page": "booking.html",
        "rule": "table-headers",
        "severity": "moderate",
        "location": "html[1]/body[1]/main[1]/table[1]",
        "identity": "table[1]",
        "line": 3,
        "sourceHash": "262b27c4ee607526c02e62353584dd6463ce33c0784673bdfdeeff03d10e298d",
        "snippet": "<iframe src=\"about:blank\"></iframe><table><tr><td>Room</td><td>Capacity</td></tr><tr><td>North</td><td>4</td></tr></table>",
        "detail": "Data-like table has no th cells in the source.",
        "fix": "Review whether this is data or layout; use scoped headers for a data table.",
        "basis": "static-source"
      }
    ],
    "outOfScope": []
  },
  "boundary": "Static-source review only. Not a live DOM scan, WCAG certification or assistive-technology user study.",
  "inputHash": "c24e21182295237ba0e348112b1c1b672f8d92cda23f41352dd1534b2058f20b",
  "baselineHash": "af3632773206159ce2830972d1420fdefe142571070aec1949544131e35cd6ff"
}
