{
  "findingId": "GW-HV-001",
  "title": "Unsupported input could produce an incomplete heading outline",
  "recordCreatedAt": "2026-10-19T18:55:09.943069+00:00",
  "recordType": "Retrospective completed maintenance finding with archived-source replay and current-source retest",
  "property": "https://whatisada.com/tools/heading-validator",
  "owner": "Grow Wild / What Is ADA",
  "classification": "Tool correctness and input coverage; not an adjudicated WCAG failure",
  "potentialImpact": "A reader could interpret an incomplete outline as a review of all supplied content; user impact was not measured with participants.",
  "originalSourceRevision": "e354f313994eb2ddd121368a2a4f162a174fca17",
  "originalParserFunctionSha256": "6c8374aac9273842993412ff3b65a7237c6cb941aec57a43a5b33152b03c7c74",
  "repairProductionRevision": "0ff411ae5f46f956b7ddebe7db6eed3c2348f532",
  "repairPublishedAt": "2026-10-19T16:34:41Z",
  "sourceRetestRevision": "40d36a857b8e8bc6c322c67cd74de4c7787bb508",
  "sourceRetestAt": "2026-10-19T18:55:09.943069+00:00",
  "sourceRetestEnvironment": {
    "node": "v24.11.1",
    "method": "Archived parser function compared byte-for-byte with repository source; replay output matched retained original results. Current pure parser executed with identical inputs; existing 11-test suite passed. No archived browser session or new assistive-technology session."
  },
  "sourceRetestFile": "lib/heading-review.ts",
  "currentParserSha256": "1f8a9f0e036fc963acbe4b68803674f8e57fab0a47c4550ccef502c781c55f92",
  "repair": "Require whole-line supported syntax and matching simple HTML heading tags; report unsupported nonempty line numbers. Keep nested/full HTML unsupported and document that limit.",
  "acceptance": "All three inputs return no recognized headings and unrecognized line 1; valid supported outlines remain covered by the existing regression suite.",
  "status": "Original repair verified in production; current source regression recheck passed. Later keyboard and NVDA journeys are separate evidence.",
  "cases": [
    {
      "case": 1,
      "input": "<h1>Store</h1><h2>Products</h2>",
      "beforeSourceOutput": [
        {
          "level": 1,
          "text": "Store"
        }
      ],
      "currentSourceOutput": {
        "headings": [],
        "unrecognized": [
          1
        ]
      },
      "expectedCurrentOutput": {
        "headings": [],
        "unrecognized": [
          1
        ]
      },
      "result": "Matched expected output in source replay"
    },
    {
      "case": 2,
      "input": "<h2>Products</h3>",
      "beforeSourceOutput": [
        {
          "level": 2,
          "text": "Products"
        }
      ],
      "currentSourceOutput": {
        "headings": [],
        "unrecognized": [
          1
        ]
      },
      "expectedCurrentOutput": {
        "headings": [],
        "unrecognized": [
          1
        ]
      },
      "result": "Matched expected output in source replay"
    },
    {
      "case": 3,
      "input": "<h2><span>Products</span></h2>",
      "beforeSourceOutput": [],
      "currentSourceOutput": {
        "headings": [],
        "unrecognized": [
          1
        ]
      },
      "expectedCurrentOutput": {
        "headings": [],
        "unrecognized": [
          1
        ]
      },
      "result": "Matched expected output in source replay"
    }
  ],
  "relatedRecords": [
    {
      "kind": "Original browser fixtures and tool explanation",
      "url": "https://whatisada.com/tools/heading-validator"
    },
    {
      "kind": "Nine regression inputs",
      "url": "https://whatisada.com/downloads/heading-validator-examples.json"
    },
    {
      "kind": "Later keyboard session; no screen reader",
      "url": "https://whatisada.com/downloads/keyboard-heading-test-record.json"
    },
    {
      "kind": "Later real-NVDA session; not a before/after AT comparison",
      "url": "https://whatisada.com/downloads/nvda-heading-test-record.json"
    }
  ],
  "limitations": [
    "Owned tool and synthetic inputs, not client delivery results.",
    "The before evidence is archived parser execution, not a before-state screen-reader recording.",
    "Current source replay does not itself establish browser behavior; separate dated browser evidence is linked.",
    "Nested HTML remains unsupported; no full HTML parser implemented.",
    "No criterion-wide or whole-site WCAG conformance verdict.",
    "VoiceOver/Safari speech, mobile assistive technology and disabled-participant usability remain unverified in these records."
  ]
}
