{
 "schema_version": "0.1",
 "site": "go.walsall.gov.uk",
 "scan_week": "2026-W45",
 "generated_at": "2026-11-04T16:43:55.145Z",
 "source_files": [
  "docs/reports/go.walsall.gov.uk/2026-W45/",
  "data/go.walsall.gov.uk/findings.json",
  "data/go.walsall.gov.uk/2026-W45/summary.json"
 ],
 "summary": {
  "pages_known": 2912,
  "pages_scanned_this_week": 994,
  "pages_with_known_issues": 2905,
  "findings": 31,
  "clusters": 23,
  "new_findings": 0,
  "persistent_findings": 30,
  "high_priority_findings": 24
 },
 "top_risks": [
  {
   "finding_id": "VS-9429bb8d",
   "rule_id": "aria-required-children",
   "rule_label": "Certain ARIA roles must contain particular children",
   "severity": "Critical",
   "priority": "p1",
   "trend": "persistent",
   "pages_affected": 968,
   "rationale": "Critical severity; affects 968 pages; persistent across weeks",
   "top_url": "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=localgov_directories_facets%3A31&f%5B2%5D=localgov_directories_facets%3A32&f%5B3%5D=localgov_directories_facets%3A38&f%5B4%5D=service_type%3A349"
  },
  {
   "finding_id": "VS-f6d344d5",
   "rule_id": "aria-required-parent",
   "rule_label": "Certain ARIA roles must be contained by particular parents",
   "severity": "Critical",
   "priority": "p1",
   "trend": "persistent",
   "pages_affected": 968,
   "rationale": "Critical severity; affects 968 pages; persistent across weeks",
   "top_url": "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=localgov_directories_facets%3A31&f%5B2%5D=localgov_directories_facets%3A32&f%5B3%5D=localgov_directories_facets%3A38&f%5B4%5D=service_type%3A349"
  },
  {
   "finding_id": "VS-a0bdbdf6",
   "rule_id": "list",
   "rule_label": "<ul> and <ol> must only directly contain <li>, <script> or <template> elements",
   "severity": "Critical",
   "priority": "p1",
   "trend": "persistent",
   "pages_affected": 968,
   "rationale": "Critical severity; affects 968 pages; persistent across weeks",
   "top_url": "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=localgov_directories_facets%3A31&f%5B2%5D=localgov_directories_facets%3A32&f%5B3%5D=localgov_directories_facets%3A38&f%5B4%5D=service_type%3A349"
  },
  {
   "finding_id": "VS-e7298c00",
   "rule_id": "button-name",
   "rule_label": "Buttons must have discernible text",
   "severity": "Critical",
   "priority": "p1",
   "trend": "persistent",
   "pages_affected": 968,
   "rationale": "Critical severity; affects 968 pages; persistent across weeks",
   "top_url": "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=localgov_directories_facets%3A31&f%5B2%5D=localgov_directories_facets%3A32&f%5B3%5D=localgov_directories_facets%3A38&f%5B4%5D=service_type%3A349"
  },
  {
   "finding_id": "VS-be8d563e",
   "rule_id": "color-contrast",
   "rule_label": "Elements must meet minimum color contrast ratio thresholds",
   "severity": "Critical",
   "priority": "p1",
   "trend": "persistent",
   "pages_affected": 968,
   "rationale": "Critical severity; affects 968 pages; persistent across weeks",
   "top_url": "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=localgov_directories_facets%3A31&f%5B2%5D=localgov_directories_facets%3A32&f%5B3%5D=localgov_directories_facets%3A38&f%5B4%5D=service_type%3A349"
  },
  {
   "finding_id": "VS-f18df681",
   "rule_id": "region",
   "rule_label": "All page content should be contained by landmarks",
   "severity": "Serious",
   "priority": "p1",
   "trend": "persistent",
   "pages_affected": 968,
   "rationale": "Serious severity; affects 968 pages; persistent across weeks",
   "top_url": "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=localgov_directories_facets%3A31&f%5B2%5D=localgov_directories_facets%3A32&f%5B3%5D=localgov_directories_facets%3A38&f%5B4%5D=service_type%3A349"
  },
  {
   "finding_id": "VS-ebb1c464",
   "rule_id": "aria-prohibited-attr",
   "rule_label": "Elements must only use permitted ARIA attributes",
   "severity": "Serious",
   "priority": "p1",
   "trend": "persistent",
   "pages_affected": 217,
   "rationale": "Serious severity; affects 217 pages; persistent across weeks",
   "top_url": "https://go.walsall.gov.uk/feedback?page=%2Fhousing%2Fsaving-energy%2Fwalsall-heca-report-fuel-poverty&rating=Good&title=Walsall+HECA+report+on+fuel+poverty"
  },
  {
   "finding_id": "VS-af36d20c",
   "rule_id": "aria-valid-attr-value",
   "rule_label": "ARIA attributes must conform to valid values",
   "severity": "Critical",
   "priority": "p1",
   "trend": "persistent",
   "pages_affected": 15,
   "rationale": "Critical severity; persistent across weeks",
   "top_url": "https://go.walsall.gov.uk/business/doing-business-with-the-council/supplying-council"
  },
  {
   "finding_id": "VS-4fac2f41",
   "rule_id": "aria-allowed-role",
   "rule_label": "ARIA role should be appropriate for the element",
   "severity": "Moderate",
   "priority": "p2",
   "trend": "persistent",
   "pages_affected": 968,
   "rationale": "affects 968 pages; persistent across weeks",
   "top_url": "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=localgov_directories_facets%3A31&f%5B2%5D=localgov_directories_facets%3A32&f%5B3%5D=localgov_directories_facets%3A38&f%5B4%5D=service_type%3A349"
  },
  {
   "finding_id": "VS-d6097011",
   "rule_id": "sia-r68",
   "rule_label": "Element has its required owned elements",
   "severity": "Moderate",
   "priority": "p2",
   "trend": "persistent",
   "pages_affected": 490,
   "rationale": "affects 490 pages; persistent across weeks",
   "top_url": "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=localgov_directories_facets%3A31&f%5B2%5D=localgov_directories_facets%3A32&f%5B3%5D=localgov_directories_facets%3A38&f%5B4%5D=service_type%3A349"
  }
 ],
 "findings": [
  {
   "finding_id": "VS-9429bb8d",
   "fingerprint": "d9ef25ac",
   "rule_id": "aria-required-children",
   "rule_label": "Certain ARIA roles must contain particular children",
   "engine": "axe-core",
   "tool": "axe-core",
   "wcag_sc": "1.3.1",
   "wcag_name": "Info and Relationships",
   "wcag_level": "A",
   "wcag_version": "2.0",
   "wcag_category": "WCAG 2.0 A",
   "rule_url": "https://dequeuniversity.com/rules/axe/4.14/aria-required-children?application=axeAPI",
   "severity": "Critical",
   "priority": "p1",
   "confidence": "high",
   "rationale": "Critical severity; affects 968 pages; persistent across weeks",
   "trend": {
    "status": "persistent",
    "first_observed": "2026-W44",
    "last_observed": "2026-W45",
    "weeks_observed": 2,
    "affected_pages_current": 968,
    "affected_pages_previous": 1940
   },
   "frequency": {
    "instances": 968,
    "pages_affected": 968,
    "total_pages_scanned": 994
   },
   "on_key_page": false,
   "summary": "Certain ARIA roles must contain particular children (WCAG 1.3.1)",
   "description": "Certain ARIA roles must contain particular children. Detected by axe-core rule aria-required-children on 968 of 994 scanned pages (968 instances).",
   "remediation_tip": "Add the child roles this container role requires (e.g. a list needs listitem children).",
   "suggested_fix": "See remediation guidance: https://dequeuniversity.com/rules/axe/4.14/aria-required-children?application=axeAPI",
   "expected_behavior": "Element passes axe-core rule aria-required-children (WCAG 1.3.1).",
   "actual_behavior": "Certain ARIA roles must contain particular children. Detected by axe-core rule aria-required-children on 968 of 994 scanned pages (968 instances).",
   "testing_environment": "Automated: axe-core, headless Chromium (Playwright). Manual AT verification: Not captured by automated scan — requires manual testing.",
   "representative_urls": [
    "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=localgov_directories_facets%3A31&f%5B2%5D=localgov_directories_facets%3A32&f%5B3%5D=localgov_directories_facets%3A38&f%5B4%5D=service_type%3A349",
    "https://go.walsall.gov.uk/feedback?page=%2Fhousing%2Fsaving-energy%2Fwalsall-heca-report-fuel-poverty&rating=Good&title=Walsall+HECA+report+on+fuel+poverty",
    "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=age_range%3A337&f%5B2%5D=age_range%3A416&f%5B3%5D=localgov_directories_facets%3A34&f%5B4%5D=service_type%3A353"
   ],
   "html_fragments": [
    {
     "fingerprint": "75362f4e",
     "html": "<li id=\"Google Basic Consents\" class=\"qc-cmp2-list-item qc-cmp2-expanded\" role=\"list\">",
     "selectors": [
      "#Google\\ Basic\\ Consents"
     ]
    }
   ],
   "url_patterns": [
    {
     "pattern": "/wellbeing-directory",
     "count": 10
    },
    {
     "pattern": "/feedback",
     "count": 5
    },
    {
     "pattern": "/events/adult-reading-group-20",
     "count": 1
    }
   ],
   "associated_technologies": [],
   "impact": {
    "groups": [
     {
      "code": "WV",
      "group": "Without vision",
      "prevalence": 0.01,
      "percent": "1.0%",
      "estimatedExcluded": null
     },
     {
      "code": "LV",
      "group": "Limited vision",
      "prevalence": 0.024,
      "percent": "2.4%",
      "estimatedExcluded": null
     },
     {
      "code": "LCLA",
      "group": "Limited cognitive, language, or learning ability",
      "prevalence": 0.11,
      "percent": "11.0%",
      "estimatedExcluded": null
     }
    ],
    "summary": "Affects Without vision (1.0%), Limited vision (2.4%), Limited cognitive, language, or learning ability (11.0%)."
   }
  },
  {
   "finding_id": "VS-f6d344d5",
   "fingerprint": "001df297",
   "rule_id": "aria-required-parent",
   "rule_label": "Certain ARIA roles must be contained by particular parents",
   "engine": "axe-core",
   "tool": "axe-core",
   "wcag_sc": "1.3.1",
   "wcag_name": "Info and Relationships",
   "wcag_level": "A",
   "wcag_version": "2.0",
   "wcag_category": "WCAG 2.0 A",
   "rule_url": "https://dequeuniversity.com/rules/axe/4.14/aria-required-parent?application=axeAPI",
   "severity": "Critical",
   "priority": "p1",
   "confidence": "high",
   "rationale": "Critical severity; affects 968 pages; persistent across weeks",
   "trend": {
    "status": "persistent",
    "first_observed": "2026-W44",
    "last_observed": "2026-W45",
    "weeks_observed": 2,
    "affected_pages_current": 968,
    "affected_pages_previous": 1940
   },
   "frequency": {
    "instances": 1936,
    "pages_affected": 968,
    "total_pages_scanned": 994
   },
   "on_key_page": false,
   "summary": "Certain ARIA roles must be contained by particular parents (WCAG 1.3.1)",
   "description": "Certain ARIA roles must be contained by particular parents. Detected by axe-core rule aria-required-parent on 968 of 994 scanned pages (1936 instances).",
   "remediation_tip": "Place this ARIA role inside its required parent role (e.g. an option must be inside a listbox).",
   "suggested_fix": "See remediation guidance: https://dequeuniversity.com/rules/axe/4.14/aria-required-parent?application=axeAPI",
   "expected_behavior": "Element passes axe-core rule aria-required-parent (WCAG 1.3.1).",
   "actual_behavior": "Certain ARIA roles must be contained by particular parents. Detected by axe-core rule aria-required-parent on 968 of 994 scanned pages (1936 instances).",
   "testing_environment": "Automated: axe-core, headless Chromium (Playwright). Manual AT verification: Not captured by automated scan — requires manual testing.",
   "representative_urls": [
    "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=localgov_directories_facets%3A31&f%5B2%5D=localgov_directories_facets%3A32&f%5B3%5D=localgov_directories_facets%3A38&f%5B4%5D=service_type%3A349",
    "https://go.walsall.gov.uk/feedback?page=%2Fhousing%2Fsaving-energy%2Fwalsall-heca-report-fuel-poverty&rating=Good&title=Walsall+HECA+report+on+fuel+poverty",
    "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=age_range%3A337&f%5B2%5D=age_range%3A416&f%5B3%5D=localgov_directories_facets%3A34&f%5B4%5D=service_type%3A353"
   ],
   "html_fragments": [
    {
     "fingerprint": "3beccfb9",
     "html": "<button role=\"listitem\" class=\"qc-cmp2-list-item-header\" aria-label=\"Opt-Outs\" aria-live=\"polite\">",
     "selectors": [
      "button[aria-label=\"Opt-Outs\"]"
     ]
    },
    {
     "fingerprint": "50873298",
     "html": "<p class=\"qc-cmp2-list-item-title\" role=\"listitem\"><p>Google consents</p></p>",
     "selectors": [
      ".qc-cmp2-list-item-title[role=\"listitem\"]"
     ]
    }
   ],
   "url_patterns": [
    {
     "pattern": "/wellbeing-directory",
     "count": 10
    },
    {
     "pattern": "/feedback",
     "count": 5
    },
    {
     "pattern": "/events/adult-reading-group-20",
     "count": 1
    }
   ],
   "associated_technologies": [],
   "impact": {
    "groups": [
     {
      "code": "WV",
      "group": "Without vision",
      "prevalence": 0.01,
      "percent": "1.0%",
      "estimatedExcluded": null
     },
     {
      "code": "LV",
      "group": "Limited vision",
      "prevalence": 0.024,
      "percent": "2.4%",
      "estimatedExcluded": null
     },
     {
      "code": "LCLA",
      "group": "Limited cognitive, language, or learning ability",
      "prevalence": 0.11,
      "percent": "11.0%",
      "estimatedExcluded": null
     }
    ],
    "summary": "Affects Without vision (1.0%), Limited vision (2.4%), Limited cognitive, language, or learning ability (11.0%)."
   }
  },
  {
   "finding_id": "VS-a0bdbdf6",
   "fingerprint": "ca0fa40f",
   "rule_id": "list",
   "rule_label": "<ul> and <ol> must only directly contain <li>, <script> or <template> elements",
   "engine": "axe-core",
   "tool": "axe-core",
   "wcag_sc": "1.3.1",
   "wcag_name": "Info and Relationships",
   "wcag_level": "A",
   "wcag_version": "2.0",
   "wcag_category": "WCAG 2.0 A",
   "rule_url": "https://dequeuniversity.com/rules/axe/4.14/list?application=axeAPI",
   "severity": "Critical",
   "priority": "p1",
   "confidence": "high",
   "rationale": "Critical severity; affects 968 pages; persistent across weeks",
   "trend": {
    "status": "persistent",
    "first_observed": "2026-W44",
    "last_observed": "2026-W45",
    "weeks_observed": 2,
    "affected_pages_current": 968,
    "affected_pages_previous": 1940
   },
   "frequency": {
    "instances": 1936,
    "pages_affected": 968,
    "total_pages_scanned": 994
   },
   "on_key_page": false,
   "summary": "<ul> and <ol> must only directly contain <li>, <script> or <template> elements (WCAG 1.3.1)",
   "description": "<ul> and <ol> must only directly contain <li>, <script> or <template> elements. Detected by axe-core rule list on 968 of 994 scanned pages (1936 instances).",
   "remediation_tip": "Use <ul>/<ol> with only <li> children for lists; don't fake lists with <div>s.",
   "suggested_fix": "See remediation guidance: https://dequeuniversity.com/rules/axe/4.14/list?application=axeAPI",
   "expected_behavior": "Element passes axe-core rule list (WCAG 1.3.1).",
   "actual_behavior": "<ul> and <ol> must only directly contain <li>, <script> or <template> elements. Detected by axe-core rule list on 968 of 994 scanned pages (1936 instances).",
   "testing_environment": "Automated: axe-core, headless Chromium (Playwright). Manual AT verification: Not captured by automated scan — requires manual testing.",
   "representative_urls": [
    "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=localgov_directories_facets%3A31&f%5B2%5D=localgov_directories_facets%3A32&f%5B3%5D=localgov_directories_facets%3A38&f%5B4%5D=service_type%3A349",
    "https://go.walsall.gov.uk/feedback?page=%2Fhousing%2Fsaving-energy%2Fwalsall-heca-report-fuel-poverty&rating=Good&title=Walsall+HECA+report+on+fuel+poverty",
    "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=age_range%3A337&f%5B2%5D=age_range%3A416&f%5B3%5D=localgov_directories_facets%3A34&f%5B4%5D=service_type%3A353"
   ],
   "html_fragments": [
    {
     "fingerprint": "e7e00322",
     "html": "<ul class=\"qc-cmp2-consent-list css-12exy1k\">",
     "selectors": [
      ".css-12exy1k"
     ]
    },
    {
     "fingerprint": "cf491b0c",
     "html": "<ul class=\"qc-cmp2-consent-list css-def7e2\">",
     "selectors": [
      ".css-def7e2"
     ]
    }
   ],
   "url_patterns": [
    {
     "pattern": "/wellbeing-directory",
     "count": 10
    },
    {
     "pattern": "/feedback",
     "count": 5
    },
    {
     "pattern": "/events/adult-reading-group-20",
     "count": 1
    }
   ],
   "associated_technologies": [],
   "impact": {
    "groups": [
     {
      "code": "WV",
      "group": "Without vision",
      "prevalence": 0.01,
      "percent": "1.0%",
      "estimatedExcluded": null
     },
     {
      "code": "LV",
      "group": "Limited vision",
      "prevalence": 0.024,
      "percent": "2.4%",
      "estimatedExcluded": null
     },
     {
      "code": "LCLA",
      "group": "Limited cognitive, language, or learning ability",
      "prevalence": 0.11,
      "percent": "11.0%",
      "estimatedExcluded": null
     }
    ],
    "summary": "Affects Without vision (1.0%), Limited vision (2.4%), Limited cognitive, language, or learning ability (11.0%)."
   }
  },
  {
   "finding_id": "VS-e7298c00",
   "fingerprint": "c378edba",
   "rule_id": "button-name",
   "rule_label": "Buttons must have discernible text",
   "engine": "axe-core",
   "tool": "axe-core",
   "wcag_sc": "4.1.2",
   "wcag_name": "Name, Role, Value",
   "wcag_level": "A",
   "wcag_version": "2.0",
   "wcag_category": "WCAG 2.0 A",
   "rule_url": "https://dequeuniversity.com/rules/axe/4.14/button-name?application=axeAPI",
   "severity": "Critical",
   "priority": "p1",
   "confidence": "high",
   "rationale": "Critical severity; affects 968 pages; persistent across weeks",
   "trend": {
    "status": "persistent",
    "first_observed": "2026-W44",
    "last_observed": "2026-W45",
    "weeks_observed": 2,
    "affected_pages_current": 968,
    "affected_pages_previous": 1940
   },
   "frequency": {
    "instances": 6776,
    "pages_affected": 968,
    "total_pages_scanned": 994
   },
   "on_key_page": false,
   "summary": "Buttons must have discernible text (WCAG 4.1.2)",
   "description": "Buttons must have discernible text. Detected by axe-core rule button-name on 968 of 994 scanned pages (6776 instances).",
   "remediation_tip": "Give the button an accessible name via its text content, aria-label, or aria-labelledby.",
   "suggested_fix": "See remediation guidance: https://dequeuniversity.com/rules/axe/4.14/button-name?application=axeAPI",
   "expected_behavior": "Element passes axe-core rule button-name (WCAG 4.1.2).",
   "actual_behavior": "Buttons must have discernible text. Detected by axe-core rule button-name on 968 of 994 scanned pages (6776 instances).",
   "testing_environment": "Automated: axe-core, headless Chromium (Playwright). Manual AT verification: Not captured by automated scan — requires manual testing.",
   "representative_urls": [
    "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=localgov_directories_facets%3A31&f%5B2%5D=localgov_directories_facets%3A32&f%5B3%5D=localgov_directories_facets%3A38&f%5B4%5D=service_type%3A349",
    "https://go.walsall.gov.uk/feedback?page=%2Fhousing%2Fsaving-energy%2Fwalsall-heca-report-fuel-poverty&rating=Good&title=Walsall+HECA+report+on+fuel+poverty",
    "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=age_range%3A337&f%5B2%5D=age_range%3A416&f%5B3%5D=localgov_directories_facets%3A34&f%5B4%5D=service_type%3A353"
   ],
   "html_fragments": [
    {
     "fingerprint": "bed9d471",
     "html": "<button tabindex=\"0\" role=\"switch\" aria-checked=\"false\" class=\"qc-cmp2-toggle css-w01txj\"><div class=\"toggle\"></div><p class=\"text off\" aria-label=\"Toggle off\">OFF</p><p class=\"text on\" aria-label=\"To",
     "selectors": [
      ".qc-cmp2-expandable-info:nth-child(1) > .qc-cmp2-toggle-switch > .css-w01txj.qc-cmp2-toggle[role=\"switch\"]",
      ".qc-cmp2-expandable-info:nth-child(2) > .qc-cmp2-toggle-switch > .css-w01txj.qc-cmp2-toggle[role=\"switch\"]",
      ".qc-cmp2-expandable-info:nth-child(3) > .qc-cmp2-toggle-switch > .css-w01txj.qc-cmp2-toggle[role=\"switch\"]"
     ]
    }
   ],
   "url_patterns": [
    {
     "pattern": "/wellbeing-directory",
     "count": 10
    },
    {
     "pattern": "/feedback",
     "count": 5
    },
    {
     "pattern": "/events/adult-reading-group-20",
     "count": 1
    }
   ],
   "associated_technologies": [],
   "impact": {
    "groups": [
     {
      "code": "WV",
      "group": "Without vision",
      "prevalence": 0.01,
      "percent": "1.0%",
      "estimatedExcluded": null
     },
     {
      "code": "LV",
      "group": "Limited vision",
      "prevalence": 0.024,
      "percent": "2.4%",
      "estimatedExcluded": null
     },
     {
      "code": "LM",
      "group": "Limited manipulation/strength",
      "prevalence": 0.13,
      "percent": "13.0%",
      "estimatedExcluded": null
     }
    ],
    "summary": "Affects Without vision (1.0%), Limited vision (2.4%), Limited manipulation/strength (13.0%)."
   }
  },
  {
   "finding_id": "VS-be8d563e",
   "fingerprint": "1820bc84",
   "rule_id": "color-contrast",
   "rule_label": "Elements must meet minimum color contrast ratio thresholds",
   "engine": "axe-core",
   "tool": "axe-core",
   "wcag_sc": "1.4.3",
   "wcag_name": "Contrast (Minimum)",
   "wcag_level": "AA",
   "wcag_version": "2.0",
   "wcag_category": "WCAG 2.0 AA",
   "rule_url": "https://dequeuniversity.com/rules/axe/4.14/color-contrast?application=axeAPI",
   "severity": "Critical",
   "priority": "p1",
   "confidence": "high",
   "rationale": "Critical severity; affects 968 pages; persistent across weeks",
   "trend": {
    "status": "persistent",
    "first_observed": "2026-W44",
    "last_observed": "2026-W45",
    "weeks_observed": 2,
    "affected_pages_current": 968,
    "affected_pages_previous": 1940
   },
   "frequency": {
    "instances": 2516,
    "pages_affected": 968,
    "total_pages_scanned": 994
   },
   "on_key_page": false,
   "summary": "Elements must meet minimum color contrast ratio thresholds (WCAG 1.4.3)",
   "description": "Elements must meet minimum color contrast ratio thresholds. Detected by axe-core rule color-contrast on 968 of 994 scanned pages (2516 instances).",
   "remediation_tip": "Increase the contrast between text and its background to at least 4.5:1 (3:1 for large text). Check both light and dark modes.",
   "suggested_fix": "See remediation guidance: https://dequeuniversity.com/rules/axe/4.14/color-contrast?application=axeAPI",
   "expected_behavior": "Element passes axe-core rule color-contrast (WCAG 1.4.3).",
   "actual_behavior": "Elements must meet minimum color contrast ratio thresholds. Detected by axe-core rule color-contrast on 968 of 994 scanned pages (2516 instances).",
   "testing_environment": "Automated: axe-core, headless Chromium (Playwright). Manual AT verification: Not captured by automated scan — requires manual testing.",
   "representative_urls": [
    "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=localgov_directories_facets%3A31&f%5B2%5D=localgov_directories_facets%3A32&f%5B3%5D=localgov_directories_facets%3A38&f%5B4%5D=service_type%3A349",
    "https://go.walsall.gov.uk/feedback?page=%2Fhousing%2Fsaving-energy%2Fwalsall-heca-report-fuel-poverty&rating=Good&title=Walsall+HECA+report+on+fuel+poverty",
    "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=age_range%3A337&f%5B2%5D=age_range%3A416&f%5B3%5D=localgov_directories_facets%3A34&f%5B4%5D=service_type%3A353"
   ],
   "html_fragments": [
    {
     "fingerprint": "11fc463a",
     "html": "<p class=\"css-jg567y\">Opted In</p>",
     "selectors": [
      "div:nth-child(2) > .css-cf00qb > .css-jg567y",
      "div:nth-child(3) > .css-cf00qb > .css-jg567y",
      "div:nth-child(4) > .css-cf00qb > .css-jg567y"
     ]
    }
   ],
   "url_patterns": [
    {
     "pattern": "/wellbeing-directory",
     "count": 10
    },
    {
     "pattern": "/feedback",
     "count": 5
    },
    {
     "pattern": "/events/adult-reading-group-20",
     "count": 1
    }
   ],
   "associated_technologies": [],
   "impact": {
    "groups": [
     {
      "code": "LV",
      "group": "Limited vision",
      "prevalence": 0.024,
      "percent": "2.4%",
      "estimatedExcluded": null
     },
     {
      "code": "WPC",
      "group": "Without color perception",
      "prevalence": 0.045,
      "percent": "4.5%",
      "estimatedExcluded": null
     }
    ],
    "summary": "Affects Limited vision (2.4%), Without color perception (4.5%)."
   }
  },
  {
   "finding_id": "VS-f18df681",
   "fingerprint": "09987718",
   "rule_id": "region",
   "rule_label": "All page content should be contained by landmarks",
   "engine": "axe-core",
   "tool": "axe-core",
   "wcag_sc": null,
   "wcag_name": null,
   "wcag_level": null,
   "wcag_version": null,
   "wcag_category": "Best Practice",
   "rule_url": "https://dequeuniversity.com/rules/axe/4.14/region?application=axeAPI",
   "severity": "Serious",
   "priority": "p1",
   "confidence": "high",
   "rationale": "Serious severity; affects 968 pages; persistent across weeks",
   "trend": {
    "status": "persistent",
    "first_observed": "2026-W44",
    "last_observed": "2026-W45",
    "weeks_observed": 2,
    "affected_pages_current": 968,
    "affected_pages_previous": 1940
   },
   "frequency": {
    "instances": 1717,
    "pages_affected": 968,
    "total_pages_scanned": 994
   },
   "on_key_page": false,
   "summary": "All page content should be contained by landmarks (best practice, not a WCAG requirement)",
   "description": "All page content should be contained by landmarks. Detected by axe-core rule region on 968 of 994 scanned pages (1717 instances).",
   "remediation_tip": "Wrap all page content in landmarks (header, nav, main, footer) so users can navigate by region.",
   "suggested_fix": "See remediation guidance: https://dequeuniversity.com/rules/axe/4.14/region?application=axeAPI",
   "expected_behavior": "Element passes axe-core rule region.",
   "actual_behavior": "All page content should be contained by landmarks. Detected by axe-core rule region on 968 of 994 scanned pages (1717 instances).",
   "testing_environment": "Automated: axe-core, headless Chromium (Playwright). Manual AT verification: Not captured by automated scan — requires manual testing.",
   "representative_urls": [
    "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=localgov_directories_facets%3A31&f%5B2%5D=localgov_directories_facets%3A32&f%5B3%5D=localgov_directories_facets%3A38&f%5B4%5D=service_type%3A349",
    "https://go.walsall.gov.uk/feedback?page=%2Fhousing%2Fsaving-energy%2Fwalsall-heca-report-fuel-poverty&rating=Good&title=Walsall+HECA+report+on+fuel+poverty",
    "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=age_range%3A337&f%5B2%5D=age_range%3A416&f%5B3%5D=localgov_directories_facets%3A34&f%5B4%5D=service_type%3A353"
   ],
   "html_fragments": [
    {
     "fingerprint": "94ec10c6",
     "html": "<a href=\"#main-content\" class=\"visually-hidden focusable skip-link\">\n      Skip to main content\n    </a>",
     "selectors": [
      ".focusable"
     ]
    },
    {
     "fingerprint": "5f34b987",
     "html": "<div class=\"container phase-banner-container my-3\">",
     "selectors": [
      ".phase-banner-container"
     ]
    },
    {
     "fingerprint": "381c7a1e",
     "html": "<div class=\"wc-hero--neutral no-bg mb-4\">",
     "selectors": [
      ".wc-hero--neutral"
     ]
    }
   ],
   "url_patterns": [
    {
     "pattern": "/wellbeing-directory",
     "count": 10
    },
    {
     "pattern": "/feedback",
     "count": 5
    },
    {
     "pattern": "/events/adult-reading-group-20",
     "count": 1
    }
   ],
   "associated_technologies": [],
   "impact": {
    "groups": [],
    "summary": "Not captured by automated scan — requires manual testing."
   }
  },
  {
   "finding_id": "VS-ebb1c464",
   "fingerprint": "62f3ac21",
   "rule_id": "aria-prohibited-attr",
   "rule_label": "Elements must only use permitted ARIA attributes",
   "engine": "axe-core",
   "tool": "axe-core",
   "wcag_sc": "4.1.2",
   "wcag_name": "Name, Role, Value",
   "wcag_level": "A",
   "wcag_version": "2.0",
   "wcag_category": "WCAG 2.0 A",
   "rule_url": "https://dequeuniversity.com/rules/axe/4.14/aria-prohibited-attr?application=axeAPI",
   "severity": "Serious",
   "priority": "p1",
   "confidence": "high",
   "rationale": "Serious severity; affects 217 pages; persistent across weeks",
   "trend": {
    "status": "persistent",
    "first_observed": "2026-W44",
    "last_observed": "2026-W45",
    "weeks_observed": 2,
    "affected_pages_current": 217,
    "affected_pages_previous": 419
   },
   "frequency": {
    "instances": 217,
    "pages_affected": 217,
    "total_pages_scanned": 994
   },
   "on_key_page": false,
   "summary": "Elements must only use permitted ARIA attributes (WCAG 4.1.2)",
   "description": "Elements must only use permitted ARIA attributes. Detected by axe-core rule aria-prohibited-attr on 217 of 994 scanned pages (217 instances).",
   "remediation_tip": null,
   "suggested_fix": "See remediation guidance: https://dequeuniversity.com/rules/axe/4.14/aria-prohibited-attr?application=axeAPI",
   "expected_behavior": "Element passes axe-core rule aria-prohibited-attr (WCAG 4.1.2).",
   "actual_behavior": "Elements must only use permitted ARIA attributes. Detected by axe-core rule aria-prohibited-attr on 217 of 994 scanned pages (217 instances).",
   "testing_environment": "Automated: axe-core, headless Chromium (Playwright). Manual AT verification: Not captured by automated scan — requires manual testing.",
   "representative_urls": [
    "https://go.walsall.gov.uk/feedback?page=%2Fhousing%2Fsaving-energy%2Fwalsall-heca-report-fuel-poverty&rating=Good&title=Walsall+HECA+report+on+fuel+poverty",
    "https://go.walsall.gov.uk/feedback?page=%2Fwalsall-libraries%2Flichfield-street-hub%2Fwalsall-archives-services%2Fresearch-resources%2Fdelves-churches&rating=Poor&title=Delves+churches",
    "https://go.walsall.gov.uk/feedback?page=%2Fnewsroom%2Fillicit-tobacco-worth-almost-ps400k-found-largest-seizure-date&rating=Good&title=Illicit+tobacco+worth+almost+%C2%A3400k+found+in+largest+seizure+to+date"
   ],
   "html_fragments": [
    {
     "fingerprint": "5a0dc8b1",
     "html": "<div aria-labelledby=\"edit-url-label\" class=\"js-form-item form-item js-form-type-textfield form-item-url js-form-item-url mb-4\">",
     "selectors": [
      ".js-form-type-textfield"
     ]
    }
   ],
   "url_patterns": [
    {
     "pattern": "/feedback",
     "count": 25
    }
   ],
   "associated_technologies": [],
   "impact": {
    "groups": [
     {
      "code": "WV",
      "group": "Without vision",
      "prevalence": 0.01,
      "percent": "1.0%",
      "estimatedExcluded": null
     },
     {
      "code": "LV",
      "group": "Limited vision",
      "prevalence": 0.024,
      "percent": "2.4%",
      "estimatedExcluded": null
     },
     {
      "code": "LM",
      "group": "Limited manipulation/strength",
      "prevalence": 0.13,
      "percent": "13.0%",
      "estimatedExcluded": null
     }
    ],
    "summary": "Affects Without vision (1.0%), Limited vision (2.4%), Limited manipulation/strength (13.0%)."
   }
  },
  {
   "finding_id": "VS-af36d20c",
   "fingerprint": "bec2e1c1",
   "rule_id": "aria-valid-attr-value",
   "rule_label": "ARIA attributes must conform to valid values",
   "engine": "axe-core",
   "tool": "axe-core",
   "wcag_sc": "4.1.2",
   "wcag_name": "Name, Role, Value",
   "wcag_level": "A",
   "wcag_version": "2.0",
   "wcag_category": "WCAG 2.0 A",
   "rule_url": "https://dequeuniversity.com/rules/axe/4.14/aria-valid-attr-value?application=axeAPI",
   "severity": "Critical",
   "priority": "p1",
   "confidence": "high",
   "rationale": "Critical severity; persistent across weeks",
   "trend": {
    "status": "persistent",
    "first_observed": "2026-W44",
    "last_observed": "2026-W45",
    "weeks_observed": 2,
    "affected_pages_current": 15,
    "affected_pages_previous": 46
   },
   "frequency": {
    "instances": 15,
    "pages_affected": 15,
    "total_pages_scanned": 994
   },
   "on_key_page": false,
   "summary": "ARIA attributes must conform to valid values (WCAG 4.1.2)",
   "description": "ARIA attributes must conform to valid values. Detected by axe-core rule aria-valid-attr-value on 15 of 994 scanned pages (15 instances).",
   "remediation_tip": "Fix the ARIA attribute value — it must reference a real id or use an allowed value.",
   "suggested_fix": "See remediation guidance: https://dequeuniversity.com/rules/axe/4.14/aria-valid-attr-value?application=axeAPI",
   "expected_behavior": "Element passes axe-core rule aria-valid-attr-value (WCAG 4.1.2).",
   "actual_behavior": "ARIA attributes must conform to valid values. Detected by axe-core rule aria-valid-attr-value on 15 of 994 scanned pages (15 instances).",
   "testing_environment": "Automated: axe-core, headless Chromium (Playwright). Manual AT verification: Not captured by automated scan — requires manual testing.",
   "representative_urls": [
    "https://go.walsall.gov.uk/business/doing-business-with-the-council/supplying-council",
    "https://go.walsall.gov.uk/planning-and-building-control/building-control",
    "https://go.walsall.gov.uk/business/trading-standards"
   ],
   "html_fragments": [
    {
     "fingerprint": "076e4045",
     "html": "<a id=\"contactus\" class=\"--\" tabindex=\"-1\" aria-hidden=\"1\">\n\n\n      \n  </a>",
     "selectors": [
      "#contactus"
     ]
    }
   ],
   "url_patterns": [
    {
     "pattern": "/business/doing-business-with-the-council/supplying-council",
     "count": 1
    },
    {
     "pattern": "/planning-and-building-control/building-control",
     "count": 1
    },
    {
     "pattern": "/business/trading-standards",
     "count": 1
    }
   ],
   "associated_technologies": [],
   "impact": {
    "groups": [
     {
      "code": "WV",
      "group": "Without vision",
      "prevalence": 0.01,
      "percent": "1.0%",
      "estimatedExcluded": null
     },
     {
      "code": "LV",
      "group": "Limited vision",
      "prevalence": 0.024,
      "percent": "2.4%",
      "estimatedExcluded": null
     },
     {
      "code": "LM",
      "group": "Limited manipulation/strength",
      "prevalence": 0.13,
      "percent": "13.0%",
      "estimatedExcluded": null
     }
    ],
    "summary": "Affects Without vision (1.0%), Limited vision (2.4%), Limited manipulation/strength (13.0%)."
   }
  },
  {
   "finding_id": "VS-4fac2f41",
   "fingerprint": "550210da",
   "rule_id": "aria-allowed-role",
   "rule_label": "ARIA role should be appropriate for the element",
   "engine": "axe-core",
   "tool": "axe-core",
   "wcag_sc": null,
   "wcag_name": null,
   "wcag_level": null,
   "wcag_version": null,
   "wcag_category": "Best Practice",
   "rule_url": "https://dequeuniversity.com/rules/axe/4.14/aria-allowed-role?application=axeAPI",
   "severity": "Moderate",
   "priority": "p2",
   "confidence": "high",
   "rationale": "affects 968 pages; persistent across weeks",
   "trend": {
    "status": "persistent",
    "first_observed": "2026-W44",
    "last_observed": "2026-W45",
    "weeks_observed": 2,
    "affected_pages_current": 968,
    "affected_pages_previous": 1940
   },
   "frequency": {
    "instances": 2904,
    "pages_affected": 968,
    "total_pages_scanned": 994
   },
   "on_key_page": false,
   "summary": "ARIA role should be appropriate for the element (best practice, not a WCAG requirement)",
   "description": "ARIA role should be appropriate for the element. Detected by axe-core rule aria-allowed-role on 968 of 994 scanned pages (2904 instances).",
   "remediation_tip": "Remove or change the ARIA role — it isn't allowed on this element type.",
   "suggested_fix": "See remediation guidance: https://dequeuniversity.com/rules/axe/4.14/aria-allowed-role?application=axeAPI",
   "expected_behavior": "Element passes axe-core rule aria-allowed-role.",
   "actual_behavior": "ARIA role should be appropriate for the element. Detected by axe-core rule aria-allowed-role on 968 of 994 scanned pages (2904 instances).",
   "testing_environment": "Automated: axe-core, headless Chromium (Playwright). Manual AT verification: Not captured by automated scan — requires manual testing.",
   "representative_urls": [
    "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=localgov_directories_facets%3A31&f%5B2%5D=localgov_directories_facets%3A32&f%5B3%5D=localgov_directories_facets%3A38&f%5B4%5D=service_type%3A349",
    "https://go.walsall.gov.uk/feedback?page=%2Fhousing%2Fsaving-energy%2Fwalsall-heca-report-fuel-poverty&rating=Good&title=Walsall+HECA+report+on+fuel+poverty",
    "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=age_range%3A337&f%5B2%5D=age_range%3A416&f%5B3%5D=localgov_directories_facets%3A34&f%5B4%5D=service_type%3A353"
   ],
   "html_fragments": [
    {
     "fingerprint": "3beccfb9",
     "html": "<button role=\"listitem\" class=\"qc-cmp2-list-item-header\" aria-label=\"Opt-Outs\" aria-live=\"polite\">",
     "selectors": [
      "button[aria-label=\"Opt-Outs\"]"
     ]
    },
    {
     "fingerprint": "75362f4e",
     "html": "<li id=\"Google Basic Consents\" class=\"qc-cmp2-list-item qc-cmp2-expanded\" role=\"list\">",
     "selectors": [
      "#Google\\ Basic\\ Consents"
     ]
    },
    {
     "fingerprint": "14ff8c9f",
     "html": "<button class=\"qc-cmp2-list-item-header\" role=\"listitem\" aria-label=\"Google consents\" aria-live=\"polite\">",
     "selectors": [
      "button[aria-label=\"Google consents\"]"
     ]
    }
   ],
   "url_patterns": [
    {
     "pattern": "/wellbeing-directory",
     "count": 10
    },
    {
     "pattern": "/feedback",
     "count": 5
    },
    {
     "pattern": "/events/adult-reading-group-20",
     "count": 1
    }
   ],
   "associated_technologies": [],
   "impact": {
    "groups": [],
    "summary": "Not captured by automated scan — requires manual testing."
   }
  },
  {
   "finding_id": "VS-d6097011",
   "fingerprint": "b46c5395",
   "rule_id": "sia-r68",
   "rule_label": "Element has its required owned elements",
   "engine": "alfa",
   "tool": "Siteimprove Alfa",
   "wcag_sc": "1.3.1",
   "wcag_name": "Info and Relationships",
   "wcag_level": "A",
   "wcag_version": "2.0",
   "wcag_category": "WCAG 2.0 A",
   "rule_url": "https://alfa.siteimprove.com/rules/sia-r68",
   "severity": "Moderate",
   "priority": "p2",
   "confidence": "high",
   "rationale": "affects 490 pages; persistent across weeks",
   "trend": {
    "status": "persistent",
    "first_observed": "2026-W44",
    "last_observed": "2026-W45",
    "weeks_observed": 2,
    "affected_pages_current": 490,
    "affected_pages_previous": 999
   },
   "frequency": {
    "instances": 984,
    "pages_affected": 490,
    "total_pages_scanned": 994
   },
   "on_key_page": false,
   "summary": "Element has its required owned elements (WCAG 1.3.1)",
   "description": "Element has its required owned elements. Detected by Siteimprove Alfa rule sia-r68 on 490 of 994 scanned pages (984 instances).",
   "remediation_tip": null,
   "suggested_fix": "See remediation guidance: https://alfa.siteimprove.com/rules/sia-r68",
   "expected_behavior": "Element passes Siteimprove Alfa rule sia-r68 (WCAG 1.3.1).",
   "actual_behavior": "Element has its required owned elements. Detected by Siteimprove Alfa rule sia-r68 on 490 of 994 scanned pages (984 instances).",
   "testing_environment": "Automated: Siteimprove Alfa, headless Chromium (Playwright). Manual AT verification: Not captured by automated scan — requires manual testing.",
   "representative_urls": [
    "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=localgov_directories_facets%3A31&f%5B2%5D=localgov_directories_facets%3A32&f%5B3%5D=localgov_directories_facets%3A38&f%5B4%5D=service_type%3A349",
    "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=age_range%3A337&f%5B2%5D=age_range%3A416&f%5B3%5D=localgov_directories_facets%3A34&f%5B4%5D=service_type%3A353",
    "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=age_range%3A336&f%5B2%5D=age_range%3A337&f%5B3%5D=localgov_directories_facets%3A34&f%5B4%5D=service_type%3A352"
   ],
   "html_fragments": [],
   "url_patterns": [
    {
     "pattern": "/wellbeing-directory",
     "count": 8
    },
    {
     "pattern": "/feedback",
     "count": 4
    },
    {
     "pattern": "/newsroom/walsall-council-receive-ps558010-through-public-sector-decarbonisation-scheme",
     "count": 1
    }
   ],
   "associated_technologies": [],
   "impact": {
    "groups": [
     {
      "code": "WV",
      "group": "Without vision",
      "prevalence": 0.01,
      "percent": "1.0%",
      "estimatedExcluded": null
     },
     {
      "code": "LV",
      "group": "Limited vision",
      "prevalence": 0.024,
      "percent": "2.4%",
      "estimatedExcluded": null
     },
     {
      "code": "LCLA",
      "group": "Limited cognitive, language, or learning ability",
      "prevalence": 0.11,
      "percent": "11.0%",
      "estimatedExcluded": null
     }
    ],
    "summary": "Affects Without vision (1.0%), Limited vision (2.4%), Limited cognitive, language, or learning ability (11.0%)."
   }
  },
  {
   "finding_id": "VS-0ddc2ac6",
   "fingerprint": "04fff361",
   "rule_id": "sia-r42",
   "rule_label": "Element in required WAI-ARIA context role",
   "engine": "alfa",
   "tool": "Siteimprove Alfa",
   "wcag_sc": "1.3.1",
   "wcag_name": "Info and Relationships",
   "wcag_level": "A",
   "wcag_version": "2.0",
   "wcag_category": "WCAG 2.0 A",
   "rule_url": "https://alfa.siteimprove.com/rules/sia-r42",
   "severity": "Moderate",
   "priority": "p2",
   "confidence": "high",
   "rationale": "affects 490 pages; persistent across weeks",
   "trend": {
    "status": "persistent",
    "first_observed": "2026-W44",
    "last_observed": "2026-W45",
    "weeks_observed": 2,
    "affected_pages_current": 490,
    "affected_pages_previous": 999
   },
   "frequency": {
    "instances": 980,
    "pages_affected": 490,
    "total_pages_scanned": 994
   },
   "on_key_page": false,
   "summary": "Element in required WAI-ARIA context role (WCAG 1.3.1)",
   "description": "Element in required WAI-ARIA context role. Detected by Siteimprove Alfa rule sia-r42 on 490 of 994 scanned pages (980 instances).",
   "remediation_tip": null,
   "suggested_fix": "See remediation guidance: https://alfa.siteimprove.com/rules/sia-r42",
   "expected_behavior": "Element passes Siteimprove Alfa rule sia-r42 (WCAG 1.3.1).",
   "actual_behavior": "Element in required WAI-ARIA context role. Detected by Siteimprove Alfa rule sia-r42 on 490 of 994 scanned pages (980 instances).",
   "testing_environment": "Automated: Siteimprove Alfa, headless Chromium (Playwright). Manual AT verification: Not captured by automated scan — requires manual testing.",
   "representative_urls": [
    "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=localgov_directories_facets%3A31&f%5B2%5D=localgov_directories_facets%3A32&f%5B3%5D=localgov_directories_facets%3A38&f%5B4%5D=service_type%3A349",
    "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=age_range%3A337&f%5B2%5D=age_range%3A416&f%5B3%5D=localgov_directories_facets%3A34&f%5B4%5D=service_type%3A353",
    "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=age_range%3A336&f%5B2%5D=age_range%3A337&f%5B3%5D=localgov_directories_facets%3A34&f%5B4%5D=service_type%3A352"
   ],
   "html_fragments": [],
   "url_patterns": [
    {
     "pattern": "/wellbeing-directory",
     "count": 8
    },
    {
     "pattern": "/feedback",
     "count": 4
    },
    {
     "pattern": "/newsroom/walsall-council-receive-ps558010-through-public-sector-decarbonisation-scheme",
     "count": 1
    }
   ],
   "associated_technologies": [],
   "impact": {
    "groups": [
     {
      "code": "WV",
      "group": "Without vision",
      "prevalence": 0.01,
      "percent": "1.0%",
      "estimatedExcluded": null
     },
     {
      "code": "LV",
      "group": "Limited vision",
      "prevalence": 0.024,
      "percent": "2.4%",
      "estimatedExcluded": null
     },
     {
      "code": "LCLA",
      "group": "Limited cognitive, language, or learning ability",
      "prevalence": 0.11,
      "percent": "11.0%",
      "estimatedExcluded": null
     }
    ],
    "summary": "Affects Without vision (1.0%), Limited vision (2.4%), Limited cognitive, language, or learning ability (11.0%)."
   }
  },
  {
   "finding_id": "VS-a48e6078",
   "fingerprint": "2ccef0fa",
   "rule_id": "sia-r8",
   "rule_label": "Form field has accessible name",
   "engine": "alfa",
   "tool": "Siteimprove Alfa",
   "wcag_sc": "4.1.2",
   "wcag_name": "Name, Role, Value",
   "wcag_level": "A",
   "wcag_version": "2.0",
   "wcag_category": "WCAG 2.0 A",
   "rule_url": "https://alfa.siteimprove.com/rules/sia-r8",
   "severity": "Moderate",
   "priority": "p2",
   "confidence": "high",
   "rationale": "affects 490 pages; persistent across weeks",
   "trend": {
    "status": "persistent",
    "first_observed": "2026-W44",
    "last_observed": "2026-W45",
    "weeks_observed": 2,
    "affected_pages_current": 490,
    "affected_pages_previous": 999
   },
   "frequency": {
    "instances": 3430,
    "pages_affected": 490,
    "total_pages_scanned": 994
   },
   "on_key_page": false,
   "summary": "Form field has accessible name (WCAG 4.1.2)",
   "description": "Form field has accessible name. Detected by Siteimprove Alfa rule sia-r8 on 490 of 994 scanned pages (3430 instances).",
   "remediation_tip": "Associate the form field with a label.",
   "suggested_fix": "See remediation guidance: https://alfa.siteimprove.com/rules/sia-r8",
   "expected_behavior": "Element passes Siteimprove Alfa rule sia-r8 (WCAG 4.1.2).",
   "actual_behavior": "Form field has accessible name. Detected by Siteimprove Alfa rule sia-r8 on 490 of 994 scanned pages (3430 instances).",
   "testing_environment": "Automated: Siteimprove Alfa, headless Chromium (Playwright). Manual AT verification: Not captured by automated scan — requires manual testing.",
   "representative_urls": [
    "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=localgov_directories_facets%3A31&f%5B2%5D=localgov_directories_facets%3A32&f%5B3%5D=localgov_directories_facets%3A38&f%5B4%5D=service_type%3A349",
    "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=age_range%3A337&f%5B2%5D=age_range%3A416&f%5B3%5D=localgov_directories_facets%3A34&f%5B4%5D=service_type%3A353",
    "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=age_range%3A336&f%5B2%5D=age_range%3A337&f%5B3%5D=localgov_directories_facets%3A34&f%5B4%5D=service_type%3A352"
   ],
   "html_fragments": [],
   "url_patterns": [
    {
     "pattern": "/wellbeing-directory",
     "count": 8
    },
    {
     "pattern": "/feedback",
     "count": 4
    },
    {
     "pattern": "/newsroom/walsall-council-receive-ps558010-through-public-sector-decarbonisation-scheme",
     "count": 1
    }
   ],
   "associated_technologies": [],
   "impact": {
    "groups": [
     {
      "code": "WV",
      "group": "Without vision",
      "prevalence": 0.01,
      "percent": "1.0%",
      "estimatedExcluded": null
     },
     {
      "code": "LV",
      "group": "Limited vision",
      "prevalence": 0.024,
      "percent": "2.4%",
      "estimatedExcluded": null
     },
     {
      "code": "LM",
      "group": "Limited manipulation/strength",
      "prevalence": 0.13,
      "percent": "13.0%",
      "estimatedExcluded": null
     }
    ],
    "summary": "Affects Without vision (1.0%), Limited vision (2.4%), Limited manipulation/strength (13.0%)."
   }
  },
  {
   "finding_id": "VS-f7e99f4b",
   "fingerprint": "863d1000",
   "rule_id": "sia-r69",
   "rule_label": "Text has minimum contrast",
   "engine": "alfa",
   "tool": "Siteimprove Alfa",
   "wcag_sc": "1.4.3",
   "wcag_name": "Contrast (Minimum)",
   "wcag_level": "AA",
   "wcag_version": "2.0",
   "wcag_category": "WCAG 2.0 AA",
   "rule_url": "https://alfa.siteimprove.com/rules/sia-r69",
   "severity": "Moderate",
   "priority": "p2",
   "confidence": "high",
   "rationale": "affects 490 pages; persistent across weeks",
   "trend": {
    "status": "persistent",
    "first_observed": "2026-W44",
    "last_observed": "2026-W45",
    "weeks_observed": 2,
    "affected_pages_current": 490,
    "affected_pages_previous": 999
   },
   "frequency": {
    "instances": 1277,
    "pages_affected": 490,
    "total_pages_scanned": 994
   },
   "on_key_page": false,
   "summary": "Text has minimum contrast (WCAG 1.4.3)",
   "description": "Text has minimum contrast. Detected by Siteimprove Alfa rule sia-r69 on 490 of 994 scanned pages (1277 instances).",
   "remediation_tip": "Increase text contrast to meet WCAG AA (4.5:1, or 3:1 for large text).",
   "suggested_fix": "See remediation guidance: https://alfa.siteimprove.com/rules/sia-r69",
   "expected_behavior": "Element passes Siteimprove Alfa rule sia-r69 (WCAG 1.4.3).",
   "actual_behavior": "Text has minimum contrast. Detected by Siteimprove Alfa rule sia-r69 on 490 of 994 scanned pages (1277 instances).",
   "testing_environment": "Automated: Siteimprove Alfa, headless Chromium (Playwright). Manual AT verification: Not captured by automated scan — requires manual testing.",
   "representative_urls": [
    "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=localgov_directories_facets%3A31&f%5B2%5D=localgov_directories_facets%3A32&f%5B3%5D=localgov_directories_facets%3A38&f%5B4%5D=service_type%3A349",
    "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=age_range%3A337&f%5B2%5D=age_range%3A416&f%5B3%5D=localgov_directories_facets%3A34&f%5B4%5D=service_type%3A353",
    "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=age_range%3A336&f%5B2%5D=age_range%3A337&f%5B3%5D=localgov_directories_facets%3A34&f%5B4%5D=service_type%3A352"
   ],
   "html_fragments": [],
   "url_patterns": [
    {
     "pattern": "/wellbeing-directory",
     "count": 8
    },
    {
     "pattern": "/feedback",
     "count": 4
    },
    {
     "pattern": "/newsroom/walsall-council-receive-ps558010-through-public-sector-decarbonisation-scheme",
     "count": 1
    }
   ],
   "associated_technologies": [],
   "impact": {
    "groups": [
     {
      "code": "LV",
      "group": "Limited vision",
      "prevalence": 0.024,
      "percent": "2.4%",
      "estimatedExcluded": null
     },
     {
      "code": "WPC",
      "group": "Without color perception",
      "prevalence": 0.045,
      "percent": "4.5%",
      "estimatedExcluded": null
     }
    ],
    "summary": "Affects Limited vision (2.4%), Without color perception (4.5%)."
   }
  },
  {
   "finding_id": "VS-646b1e0b",
   "fingerprint": "afad441e",
   "rule_id": "sia-r66",
   "rule_label": "Text has enhanced contrast",
   "engine": "alfa",
   "tool": "Siteimprove Alfa",
   "wcag_sc": "1.4.6",
   "wcag_name": "Contrast (Enhanced)",
   "wcag_level": "AAA",
   "wcag_version": "2.0",
   "wcag_category": "WCAG 2.x AAA",
   "rule_url": "https://alfa.siteimprove.com/rules/sia-r66",
   "severity": "Moderate",
   "priority": "p2",
   "confidence": "high",
   "rationale": "affects 490 pages; persistent across weeks",
   "trend": {
    "status": "persistent",
    "first_observed": "2026-W44",
    "last_observed": "2026-W45",
    "weeks_observed": 2,
    "affected_pages_current": 490,
    "affected_pages_previous": 999
   },
   "frequency": {
    "instances": 10433,
    "pages_affected": 490,
    "total_pages_scanned": 994
   },
   "on_key_page": false,
   "summary": "Text has enhanced contrast (WCAG 1.4.6)",
   "description": "Text has enhanced contrast. Detected by Siteimprove Alfa rule sia-r66 on 490 of 994 scanned pages (10433 instances).",
   "remediation_tip": "Increase text contrast to meet WCAG AAA (7:1).",
   "suggested_fix": "See remediation guidance: https://alfa.siteimprove.com/rules/sia-r66",
   "expected_behavior": "Element passes Siteimprove Alfa rule sia-r66 (WCAG 1.4.6).",
   "actual_behavior": "Text has enhanced contrast. Detected by Siteimprove Alfa rule sia-r66 on 490 of 994 scanned pages (10433 instances).",
   "testing_environment": "Automated: Siteimprove Alfa, headless Chromium (Playwright). Manual AT verification: Not captured by automated scan — requires manual testing.",
   "representative_urls": [
    "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=localgov_directories_facets%3A31&f%5B2%5D=localgov_directories_facets%3A32&f%5B3%5D=localgov_directories_facets%3A38&f%5B4%5D=service_type%3A349",
    "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=age_range%3A337&f%5B2%5D=age_range%3A416&f%5B3%5D=localgov_directories_facets%3A34&f%5B4%5D=service_type%3A353",
    "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=age_range%3A336&f%5B2%5D=age_range%3A337&f%5B3%5D=localgov_directories_facets%3A34&f%5B4%5D=service_type%3A352"
   ],
   "html_fragments": [],
   "url_patterns": [
    {
     "pattern": "/wellbeing-directory",
     "count": 8
    },
    {
     "pattern": "/feedback",
     "count": 4
    },
    {
     "pattern": "/newsroom/walsall-council-receive-ps558010-through-public-sector-decarbonisation-scheme",
     "count": 1
    }
   ],
   "associated_technologies": [],
   "impact": {
    "groups": [],
    "summary": "Not captured by automated scan — requires manual testing."
   }
  },
  {
   "finding_id": "VS-fbf54eba",
   "fingerprint": "773d6316",
   "rule_id": "sia-r74",
   "rule_label": "Paragraph font size uses a relative unit",
   "engine": "alfa",
   "tool": "Siteimprove Alfa",
   "wcag_sc": "1.4.8",
   "wcag_name": "Visual Presentation",
   "wcag_level": "AAA",
   "wcag_version": "2.0",
   "wcag_category": "WCAG 2.x AAA",
   "rule_url": "https://alfa.siteimprove.com/rules/sia-r74",
   "severity": "Moderate",
   "priority": "p2",
   "confidence": "high",
   "rationale": "affects 490 pages; persistent across weeks",
   "trend": {
    "status": "persistent",
    "first_observed": "2026-W44",
    "last_observed": "2026-W45",
    "weeks_observed": 2,
    "affected_pages_current": 490,
    "affected_pages_previous": 999
   },
   "frequency": {
    "instances": 5583,
    "pages_affected": 490,
    "total_pages_scanned": 994
   },
   "on_key_page": false,
   "summary": "Paragraph font size uses a relative unit (WCAG 1.4.8)",
   "description": "Paragraph font size uses a relative unit. Detected by Siteimprove Alfa rule sia-r74 on 490 of 994 scanned pages (5583 instances).",
   "remediation_tip": null,
   "suggested_fix": "See remediation guidance: https://alfa.siteimprove.com/rules/sia-r74",
   "expected_behavior": "Element passes Siteimprove Alfa rule sia-r74 (WCAG 1.4.8).",
   "actual_behavior": "Paragraph font size uses a relative unit. Detected by Siteimprove Alfa rule sia-r74 on 490 of 994 scanned pages (5583 instances).",
   "testing_environment": "Automated: Siteimprove Alfa, headless Chromium (Playwright). Manual AT verification: Not captured by automated scan — requires manual testing.",
   "representative_urls": [
    "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=localgov_directories_facets%3A31&f%5B2%5D=localgov_directories_facets%3A32&f%5B3%5D=localgov_directories_facets%3A38&f%5B4%5D=service_type%3A349",
    "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=age_range%3A337&f%5B2%5D=age_range%3A416&f%5B3%5D=localgov_directories_facets%3A34&f%5B4%5D=service_type%3A353",
    "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=age_range%3A336&f%5B2%5D=age_range%3A337&f%5B3%5D=localgov_directories_facets%3A34&f%5B4%5D=service_type%3A352"
   ],
   "html_fragments": [],
   "url_patterns": [
    {
     "pattern": "/wellbeing-directory",
     "count": 8
    },
    {
     "pattern": "/feedback",
     "count": 4
    },
    {
     "pattern": "/newsroom/walsall-council-receive-ps558010-through-public-sector-decarbonisation-scheme",
     "count": 1
    }
   ],
   "associated_technologies": [],
   "impact": {
    "groups": [],
    "summary": "Not captured by automated scan — requires manual testing."
   }
  },
  {
   "finding_id": "VS-2208081b",
   "fingerprint": "40bbca09",
   "rule_id": "sia-r73",
   "rule_label": "Paragraph line height is at least 1.5",
   "engine": "alfa",
   "tool": "Siteimprove Alfa",
   "wcag_sc": "1.4.8",
   "wcag_name": "Visual Presentation",
   "wcag_level": "AAA",
   "wcag_version": "2.0",
   "wcag_category": "WCAG 2.x AAA",
   "rule_url": "https://alfa.siteimprove.com/rules/sia-r73",
   "severity": "Moderate",
   "priority": "p2",
   "confidence": "high",
   "rationale": "affects 490 pages; persistent across weeks",
   "trend": {
    "status": "persistent",
    "first_observed": "2026-W44",
    "last_observed": "2026-W45",
    "weeks_observed": 2,
    "affected_pages_current": 490,
    "affected_pages_previous": 999
   },
   "frequency": {
    "instances": 3747,
    "pages_affected": 490,
    "total_pages_scanned": 994
   },
   "on_key_page": false,
   "summary": "Paragraph line height is at least 1.5 (WCAG 1.4.8)",
   "description": "Paragraph line height is at least 1.5. Detected by Siteimprove Alfa rule sia-r73 on 490 of 994 scanned pages (3747 instances).",
   "remediation_tip": null,
   "suggested_fix": "See remediation guidance: https://alfa.siteimprove.com/rules/sia-r73",
   "expected_behavior": "Element passes Siteimprove Alfa rule sia-r73 (WCAG 1.4.8).",
   "actual_behavior": "Paragraph line height is at least 1.5. Detected by Siteimprove Alfa rule sia-r73 on 490 of 994 scanned pages (3747 instances).",
   "testing_environment": "Automated: Siteimprove Alfa, headless Chromium (Playwright). Manual AT verification: Not captured by automated scan — requires manual testing.",
   "representative_urls": [
    "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=localgov_directories_facets%3A31&f%5B2%5D=localgov_directories_facets%3A32&f%5B3%5D=localgov_directories_facets%3A38&f%5B4%5D=service_type%3A349",
    "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=age_range%3A337&f%5B2%5D=age_range%3A416&f%5B3%5D=localgov_directories_facets%3A34&f%5B4%5D=service_type%3A353",
    "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=age_range%3A336&f%5B2%5D=age_range%3A337&f%5B3%5D=localgov_directories_facets%3A34&f%5B4%5D=service_type%3A352"
   ],
   "html_fragments": [],
   "url_patterns": [
    {
     "pattern": "/wellbeing-directory",
     "count": 8
    },
    {
     "pattern": "/feedback",
     "count": 4
    },
    {
     "pattern": "/newsroom/walsall-council-receive-ps558010-through-public-sector-decarbonisation-scheme",
     "count": 1
    }
   ],
   "associated_technologies": [],
   "impact": {
    "groups": [],
    "summary": "Not captured by automated scan — requires manual testing."
   }
  },
  {
   "finding_id": "VS-cb53cc4d",
   "fingerprint": "1738fa81",
   "rule_id": "sia-r111",
   "rule_label": "Target size is at least 44×44 CSS pixels (Enhanced)",
   "engine": "alfa",
   "tool": "Siteimprove Alfa",
   "wcag_sc": "2.5.5",
   "wcag_name": "Target Size (Enhanced)",
   "wcag_level": "AAA",
   "wcag_version": "2.1",
   "wcag_category": "WCAG 2.x AAA",
   "rule_url": "https://alfa.siteimprove.com/rules/sia-r111",
   "severity": "Moderate",
   "priority": "p2",
   "confidence": "high",
   "rationale": "affects 490 pages; persistent across weeks",
   "trend": {
    "status": "persistent",
    "first_observed": "2026-W44",
    "last_observed": "2026-W45",
    "weeks_observed": 2,
    "affected_pages_current": 490,
    "affected_pages_previous": 999
   },
   "frequency": {
    "instances": 11694,
    "pages_affected": 490,
    "total_pages_scanned": 994
   },
   "on_key_page": false,
   "summary": "Target size is at least 44×44 CSS pixels (Enhanced) (WCAG 2.5.5)",
   "description": "Target size is at least 44×44 CSS pixels (Enhanced). Detected by Siteimprove Alfa rule sia-r111 on 490 of 994 scanned pages (11694 instances).",
   "remediation_tip": null,
   "suggested_fix": "See remediation guidance: https://alfa.siteimprove.com/rules/sia-r111",
   "expected_behavior": "Element passes Siteimprove Alfa rule sia-r111 (WCAG 2.5.5).",
   "actual_behavior": "Target size is at least 44×44 CSS pixels (Enhanced). Detected by Siteimprove Alfa rule sia-r111 on 490 of 994 scanned pages (11694 instances).",
   "testing_environment": "Automated: Siteimprove Alfa, headless Chromium (Playwright). Manual AT verification: Not captured by automated scan — requires manual testing.",
   "representative_urls": [
    "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=localgov_directories_facets%3A31&f%5B2%5D=localgov_directories_facets%3A32&f%5B3%5D=localgov_directories_facets%3A38&f%5B4%5D=service_type%3A349",
    "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=age_range%3A337&f%5B2%5D=age_range%3A416&f%5B3%5D=localgov_directories_facets%3A34&f%5B4%5D=service_type%3A353",
    "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=age_range%3A336&f%5B2%5D=age_range%3A337&f%5B3%5D=localgov_directories_facets%3A34&f%5B4%5D=service_type%3A352"
   ],
   "html_fragments": [],
   "url_patterns": [
    {
     "pattern": "/wellbeing-directory",
     "count": 8
    },
    {
     "pattern": "/feedback",
     "count": 4
    },
    {
     "pattern": "/newsroom/walsall-council-receive-ps558010-through-public-sector-decarbonisation-scheme",
     "count": 1
    }
   ],
   "associated_technologies": [],
   "impact": {
    "groups": [],
    "summary": "Not captured by automated scan — requires manual testing."
   }
  },
  {
   "finding_id": "VS-e5ec42f0",
   "fingerprint": "5e16fc6a",
   "rule_id": "sia-r72",
   "rule_label": "Paragraph text is not all uppercase",
   "engine": "alfa",
   "tool": "Siteimprove Alfa",
   "wcag_sc": null,
   "wcag_name": null,
   "wcag_level": null,
   "wcag_version": null,
   "wcag_category": "Best Practice",
   "rule_url": "https://alfa.siteimprove.com/rules/sia-r72",
   "severity": "Moderate",
   "priority": "p2",
   "confidence": "high",
   "rationale": "affects 490 pages; persistent across weeks",
   "trend": {
    "status": "persistent",
    "first_observed": "2026-W44",
    "last_observed": "2026-W45",
    "weeks_observed": 2,
    "affected_pages_current": 490,
    "affected_pages_previous": 999
   },
   "frequency": {
    "instances": 490,
    "pages_affected": 490,
    "total_pages_scanned": 994
   },
   "on_key_page": false,
   "summary": "Paragraph text is not all uppercase (best practice, not a WCAG requirement)",
   "description": "Paragraph text is not all uppercase. Detected by Siteimprove Alfa rule sia-r72 on 490 of 994 scanned pages (490 instances).",
   "remediation_tip": null,
   "suggested_fix": "See remediation guidance: https://alfa.siteimprove.com/rules/sia-r72",
   "expected_behavior": "Element passes Siteimprove Alfa rule sia-r72.",
   "actual_behavior": "Paragraph text is not all uppercase. Detected by Siteimprove Alfa rule sia-r72 on 490 of 994 scanned pages (490 instances).",
   "testing_environment": "Automated: Siteimprove Alfa, headless Chromium (Playwright). Manual AT verification: Not captured by automated scan — requires manual testing.",
   "representative_urls": [
    "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=localgov_directories_facets%3A31&f%5B2%5D=localgov_directories_facets%3A32&f%5B3%5D=localgov_directories_facets%3A38&f%5B4%5D=service_type%3A349",
    "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=age_range%3A337&f%5B2%5D=age_range%3A416&f%5B3%5D=localgov_directories_facets%3A34&f%5B4%5D=service_type%3A353",
    "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=age_range%3A336&f%5B2%5D=age_range%3A337&f%5B3%5D=localgov_directories_facets%3A34&f%5B4%5D=service_type%3A352"
   ],
   "html_fragments": [],
   "url_patterns": [
    {
     "pattern": "/wellbeing-directory",
     "count": 8
    },
    {
     "pattern": "/feedback",
     "count": 4
    },
    {
     "pattern": "/newsroom/walsall-council-receive-ps558010-through-public-sector-decarbonisation-scheme",
     "count": 1
    }
   ],
   "associated_technologies": [],
   "impact": {
    "groups": [],
    "summary": "Not captured by automated scan — requires manual testing."
   }
  },
  {
   "finding_id": "VS-c18be945",
   "fingerprint": "8634e2fd",
   "rule_id": "sia-r57",
   "rule_label": "Text is included in a landmark",
   "engine": "alfa",
   "tool": "Siteimprove Alfa",
   "wcag_sc": null,
   "wcag_name": null,
   "wcag_level": null,
   "wcag_version": null,
   "wcag_category": "Best Practice",
   "rule_url": "https://alfa.siteimprove.com/rules/sia-r57",
   "severity": "Moderate",
   "priority": "p2",
   "confidence": "high",
   "rationale": "affects 490 pages; persistent across weeks",
   "trend": {
    "status": "persistent",
    "first_observed": "2026-W44",
    "last_observed": "2026-W45",
    "weeks_observed": 2,
    "affected_pages_current": 490,
    "affected_pages_previous": 999
   },
   "frequency": {
    "instances": 1683,
    "pages_affected": 490,
    "total_pages_scanned": 994
   },
   "on_key_page": false,
   "summary": "Text is included in a landmark (best practice, not a WCAG requirement)",
   "description": "Text is included in a landmark. Detected by Siteimprove Alfa rule sia-r57 on 490 of 994 scanned pages (1683 instances).",
   "remediation_tip": null,
   "suggested_fix": "See remediation guidance: https://alfa.siteimprove.com/rules/sia-r57",
   "expected_behavior": "Element passes Siteimprove Alfa rule sia-r57.",
   "actual_behavior": "Text is included in a landmark. Detected by Siteimprove Alfa rule sia-r57 on 490 of 994 scanned pages (1683 instances).",
   "testing_environment": "Automated: Siteimprove Alfa, headless Chromium (Playwright). Manual AT verification: Not captured by automated scan — requires manual testing.",
   "representative_urls": [
    "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=localgov_directories_facets%3A31&f%5B2%5D=localgov_directories_facets%3A32&f%5B3%5D=localgov_directories_facets%3A38&f%5B4%5D=service_type%3A349",
    "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=age_range%3A337&f%5B2%5D=age_range%3A416&f%5B3%5D=localgov_directories_facets%3A34&f%5B4%5D=service_type%3A353",
    "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=age_range%3A336&f%5B2%5D=age_range%3A337&f%5B3%5D=localgov_directories_facets%3A34&f%5B4%5D=service_type%3A352"
   ],
   "html_fragments": [],
   "url_patterns": [
    {
     "pattern": "/wellbeing-directory",
     "count": 8
    },
    {
     "pattern": "/feedback",
     "count": 4
    },
    {
     "pattern": "/newsroom/walsall-council-receive-ps558010-through-public-sector-decarbonisation-scheme",
     "count": 1
    }
   ],
   "associated_technologies": [],
   "impact": {
    "groups": [],
    "summary": "Not captured by automated scan — requires manual testing."
   }
  },
  {
   "finding_id": "VS-aa242c2d",
   "fingerprint": "9bf7674d",
   "rule_id": "sia-r87",
   "rule_label": "First focusable element is link to main content",
   "engine": "alfa",
   "tool": "Siteimprove Alfa",
   "wcag_sc": null,
   "wcag_name": null,
   "wcag_level": null,
   "wcag_version": null,
   "wcag_category": "Best Practice",
   "rule_url": "https://alfa.siteimprove.com/rules/sia-r87",
   "severity": "Moderate",
   "priority": "p2",
   "confidence": "high",
   "rationale": "affects 490 pages; persistent across weeks",
   "trend": {
    "status": "persistent",
    "first_observed": "2026-W44",
    "last_observed": "2026-W45",
    "weeks_observed": 2,
    "affected_pages_current": 490,
    "affected_pages_previous": 999
   },
   "frequency": {
    "instances": 490,
    "pages_affected": 490,
    "total_pages_scanned": 994
   },
   "on_key_page": false,
   "summary": "First focusable element is link to main content (best practice, not a WCAG requirement)",
   "description": "First focusable element is link to main content. Detected by Siteimprove Alfa rule sia-r87 on 490 of 994 scanned pages (490 instances).",
   "remediation_tip": null,
   "suggested_fix": "See remediation guidance: https://alfa.siteimprove.com/rules/sia-r87",
   "expected_behavior": "Element passes Siteimprove Alfa rule sia-r87.",
   "actual_behavior": "First focusable element is link to main content. Detected by Siteimprove Alfa rule sia-r87 on 490 of 994 scanned pages (490 instances).",
   "testing_environment": "Automated: Siteimprove Alfa, headless Chromium (Playwright). Manual AT verification: Not captured by automated scan — requires manual testing.",
   "representative_urls": [
    "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=localgov_directories_facets%3A31&f%5B2%5D=localgov_directories_facets%3A32&f%5B3%5D=localgov_directories_facets%3A38&f%5B4%5D=service_type%3A349",
    "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=age_range%3A337&f%5B2%5D=age_range%3A416&f%5B3%5D=localgov_directories_facets%3A34&f%5B4%5D=service_type%3A353",
    "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=age_range%3A336&f%5B2%5D=age_range%3A337&f%5B3%5D=localgov_directories_facets%3A34&f%5B4%5D=service_type%3A352"
   ],
   "html_fragments": [],
   "url_patterns": [
    {
     "pattern": "/wellbeing-directory",
     "count": 8
    },
    {
     "pattern": "/feedback",
     "count": 4
    },
    {
     "pattern": "/newsroom/walsall-council-receive-ps558010-through-public-sector-decarbonisation-scheme",
     "count": 1
    }
   ],
   "associated_technologies": [],
   "impact": {
    "groups": [],
    "summary": "Not captured by automated scan — requires manual testing."
   }
  },
  {
   "finding_id": "VS-d25f622d",
   "fingerprint": "98ff321a",
   "rule_id": "heading-order",
   "rule_label": "Heading levels should only increase by one",
   "engine": "axe-core",
   "tool": "axe-core",
   "wcag_sc": null,
   "wcag_name": null,
   "wcag_level": null,
   "wcag_version": null,
   "wcag_category": "Best Practice",
   "rule_url": "https://dequeuniversity.com/rules/axe/4.14/heading-order?application=axeAPI",
   "severity": "Moderate",
   "priority": "p2",
   "confidence": "high",
   "rationale": "affects 363 pages; worsening trend",
   "trend": {
    "status": "worsening",
    "first_observed": "2026-W44",
    "last_observed": "2026-W45",
    "weeks_observed": 2,
    "affected_pages_current": 363,
    "affected_pages_previous": 274
   },
   "frequency": {
    "instances": 365,
    "pages_affected": 363,
    "total_pages_scanned": 994
   },
   "on_key_page": false,
   "summary": "Heading levels should only increase by one (best practice, not a WCAG requirement)",
   "description": "Heading levels should only increase by one. Detected by axe-core rule heading-order on 363 of 994 scanned pages (365 instances).",
   "remediation_tip": "Use heading levels in order (h1 → h2 → h3) without skipping; structure, not size.",
   "suggested_fix": "See remediation guidance: https://dequeuniversity.com/rules/axe/4.14/heading-order?application=axeAPI",
   "expected_behavior": "Element passes axe-core rule heading-order.",
   "actual_behavior": "Heading levels should only increase by one. Detected by axe-core rule heading-order on 363 of 994 scanned pages (365 instances).",
   "testing_environment": "Automated: axe-core, headless Chromium (Playwright). Manual AT verification: Not captured by automated scan — requires manual testing.",
   "representative_urls": [
    "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=localgov_directories_facets%3A31&f%5B2%5D=localgov_directories_facets%3A32&f%5B3%5D=localgov_directories_facets%3A38&f%5B4%5D=service_type%3A349",
    "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=age_range%3A337&f%5B2%5D=age_range%3A416&f%5B3%5D=localgov_directories_facets%3A34&f%5B4%5D=service_type%3A353",
    "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=age_range%3A336&f%5B2%5D=age_range%3A337&f%5B3%5D=localgov_directories_facets%3A34&f%5B4%5D=service_type%3A352"
   ],
   "html_fragments": [
    {
     "fingerprint": "70d87045",
     "html": "<h4 class=\"facet-group__title\">Service type</h4>",
     "selectors": [
      "#block-localgov-walsall-servicetype--2 > .facets-widget--dropdown.facets-widget.border-bottom > h4"
     ]
    },
    {
     "fingerprint": "def542a1",
     "html": "<h4 class=\"facet-group__title\">\n        <a class=\"accordion-button text-decoration-none border-bottom text-dark fw-bold collapsed py-3\" data-bs-toggle=\"collapse\" href=\"#collapse_age_range\">\n          ",
     "selectors": [
      "#block-localgov-walsall-agerange--2 > .facets-widget--checkbox.accordion.facets-widget > h4"
     ]
    }
   ],
   "url_patterns": [
    {
     "pattern": "/wellbeing-directory",
     "count": 24
    },
    {
     "pattern": "/bins/check-your-bin-collection-dates",
     "count": 1
    }
   ],
   "associated_technologies": [],
   "impact": {
    "groups": [],
    "summary": "Not captured by automated scan — requires manual testing."
   }
  },
  {
   "finding_id": "VS-7118fead",
   "fingerprint": "0d932ac9",
   "rule_id": "sia-r61",
   "rule_label": "Page starts with a level 1 heading",
   "engine": "alfa",
   "tool": "Siteimprove Alfa",
   "wcag_sc": null,
   "wcag_name": null,
   "wcag_level": null,
   "wcag_version": null,
   "wcag_category": "Best Practice",
   "rule_url": "https://alfa.siteimprove.com/rules/sia-r61",
   "severity": "Moderate",
   "priority": "p2",
   "confidence": "high",
   "rationale": "affects 208 pages; worsening trend",
   "trend": {
    "status": "worsening",
    "first_observed": "2026-W44",
    "last_observed": "2026-W45",
    "weeks_observed": 2,
    "affected_pages_current": 208,
    "affected_pages_previous": 165
   },
   "frequency": {
    "instances": 208,
    "pages_affected": 208,
    "total_pages_scanned": 994
   },
   "on_key_page": false,
   "summary": "Page starts with a level 1 heading (best practice, not a WCAG requirement)",
   "description": "Page starts with a level 1 heading. Detected by Siteimprove Alfa rule sia-r61 on 208 of 994 scanned pages (208 instances).",
   "remediation_tip": null,
   "suggested_fix": "See remediation guidance: https://alfa.siteimprove.com/rules/sia-r61",
   "expected_behavior": "Element passes Siteimprove Alfa rule sia-r61.",
   "actual_behavior": "Page starts with a level 1 heading. Detected by Siteimprove Alfa rule sia-r61 on 208 of 994 scanned pages (208 instances).",
   "testing_environment": "Automated: Siteimprove Alfa, headless Chromium (Playwright). Manual AT verification: Not captured by automated scan — requires manual testing.",
   "representative_urls": [
    "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=localgov_directories_facets%3A31&f%5B2%5D=localgov_directories_facets%3A32&f%5B3%5D=localgov_directories_facets%3A38&f%5B4%5D=service_type%3A349",
    "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=age_range%3A337&f%5B2%5D=age_range%3A416&f%5B3%5D=localgov_directories_facets%3A34&f%5B4%5D=service_type%3A353",
    "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=age_range%3A336&f%5B2%5D=age_range%3A337&f%5B3%5D=localgov_directories_facets%3A34&f%5B4%5D=service_type%3A352"
   ],
   "html_fragments": [],
   "url_patterns": [
    {
     "pattern": "/wellbeing-directory",
     "count": 18
    },
    {
     "pattern": "/wellbeing-directory/learn-and-thrive-learning-life",
     "count": 1
    },
    {
     "pattern": "/wellbeing-directory/walsall-victim-support-victim-support",
     "count": 1
    }
   ],
   "associated_technologies": [],
   "impact": {
    "groups": [],
    "summary": "Not captured by automated scan — requires manual testing."
   }
  },
  {
   "finding_id": "VS-f054f4a4",
   "fingerprint": "5fa3b5a6",
   "rule_id": "sia-r53",
   "rule_label": "Headings are structured hierarchically",
   "engine": "alfa",
   "tool": "Siteimprove Alfa",
   "wcag_sc": null,
   "wcag_name": null,
   "wcag_level": null,
   "wcag_version": null,
   "wcag_category": "Best Practice",
   "rule_url": "https://alfa.siteimprove.com/rules/sia-r53",
   "severity": "Moderate",
   "priority": "p2",
   "confidence": "high",
   "rationale": "affects 184 pages; worsening trend",
   "trend": {
    "status": "worsening",
    "first_observed": "2026-W44",
    "last_observed": "2026-W45",
    "weeks_observed": 2,
    "affected_pages_current": 184,
    "affected_pages_previous": 137
   },
   "frequency": {
    "instances": 185,
    "pages_affected": 184,
    "total_pages_scanned": 994
   },
   "on_key_page": false,
   "summary": "Headings are structured hierarchically (best practice, not a WCAG requirement)",
   "description": "Headings are structured hierarchically. Detected by Siteimprove Alfa rule sia-r53 on 184 of 994 scanned pages (185 instances).",
   "remediation_tip": "Use headings in a logical, non-skipping order.",
   "suggested_fix": "See remediation guidance: https://alfa.siteimprove.com/rules/sia-r53",
   "expected_behavior": "Element passes Siteimprove Alfa rule sia-r53.",
   "actual_behavior": "Headings are structured hierarchically. Detected by Siteimprove Alfa rule sia-r53 on 184 of 994 scanned pages (185 instances).",
   "testing_environment": "Automated: Siteimprove Alfa, headless Chromium (Playwright). Manual AT verification: Not captured by automated scan — requires manual testing.",
   "representative_urls": [
    "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=localgov_directories_facets%3A31&f%5B2%5D=localgov_directories_facets%3A32&f%5B3%5D=localgov_directories_facets%3A38&f%5B4%5D=service_type%3A349",
    "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=age_range%3A337&f%5B2%5D=age_range%3A416&f%5B3%5D=localgov_directories_facets%3A34&f%5B4%5D=service_type%3A353",
    "https://go.walsall.gov.uk/wellbeing-directory?f%5B0%5D=age_range%3A335&f%5B1%5D=age_range%3A336&f%5B2%5D=age_range%3A337&f%5B3%5D=localgov_directories_facets%3A34&f%5B4%5D=service_type%3A352"
   ],
   "html_fragments": [],
   "url_patterns": [
    {
     "pattern": "/wellbeing-directory",
     "count": 24
    },
    {
     "pattern": "/bins/check-your-bin-collection-dates",
     "count": 1
    }
   ],
   "associated_technologies": [],
   "impact": {
    "groups": [],
    "summary": "Not captured by automated scan — requires manual testing."
   }
  },
  {
   "finding_id": "VS-e05344b9",
   "fingerprint": "9d7a222a",
   "rule_id": "sia-r18",
   "rule_label": "aria attribute is permitted for element role",
   "engine": "alfa",
   "tool": "Siteimprove Alfa",
   "wcag_sc": null,
   "wcag_name": null,
   "wcag_level": null,
   "wcag_version": null,
   "wcag_category": "Best Practice",
   "rule_url": "https://alfa.siteimprove.com/rules/sia-r18",
   "severity": "Moderate",
   "priority": "p2",
   "confidence": "high",
   "rationale": "affects 124 pages",
   "trend": {
    "status": "improving",
    "first_observed": "2026-W44",
    "last_observed": "2026-W45",
    "weeks_observed": 2,
    "affected_pages_current": 124,
    "affected_pages_previous": 284
   },
   "frequency": {
    "instances": 797,
    "pages_affected": 124,
    "total_pages_scanned": 994
   },
   "on_key_page": false,
   "summary": "aria attribute is permitted for element role (best practice, not a WCAG requirement)",
   "description": "aria attribute is permitted for element role. Detected by Siteimprove Alfa rule sia-r18 on 124 of 994 scanned pages (797 instances).",
   "remediation_tip": "Only use ARIA states/properties that are allowed on this element/role.",
   "suggested_fix": "See remediation guidance: https://alfa.siteimprove.com/rules/sia-r18",
   "expected_behavior": "Element passes Siteimprove Alfa rule sia-r18.",
   "actual_behavior": "aria attribute is permitted for element role. Detected by Siteimprove Alfa rule sia-r18 on 124 of 994 scanned pages (797 instances).",
   "testing_environment": "Automated: Siteimprove Alfa, headless Chromium (Playwright). Manual AT verification: Not captured by automated scan — requires manual testing.",
   "representative_urls": [
    "https://go.walsall.gov.uk/feedback?page=%2Fwalsall-libraries%2Flichfield-street-hub%2Fwalsall-archives-services%2Fresearch-resources%2Fdelves-churches&rating=Poor&title=Delves+churches",
    "https://go.walsall.gov.uk/feedback?page=%2Fnewsroom%2Fwalsall-families-encouraged-check-mmr-vaccinations-half-term&rating=Poor&title=Walsall+families+encouraged+to+check+MMR+vaccinations+this+half+term",
    "https://go.walsall.gov.uk/events?venue=414"
   ],
   "html_fragments": [],
   "url_patterns": [
    {
     "pattern": "/feedback",
     "count": 20
    },
    {
     "pattern": "/events",
     "count": 4
    },
    {
     "pattern": "/newsroom/canal-makeover-set-encourage-more-people-walk-and-cycle-around-walsall-borough",
     "count": 1
    }
   ],
   "associated_technologies": [],
   "impact": {
    "groups": [],
    "summary": "Not captured by automated scan — requires manual testing."
   }
  },
  {
   "finding_id": "VS-c4264d17",
   "fingerprint": "1d9e0455",
   "rule_id": "sia-r19",
   "rule_label": "aria attribute has valid value",
   "engine": "alfa",
   "tool": "Siteimprove Alfa",
   "wcag_sc": null,
   "wcag_name": null,
   "wcag_level": null,
   "wcag_version": null,
   "wcag_category": "Best Practice",
   "rule_url": "https://alfa.siteimprove.com/rules/sia-r19",
   "severity": "Moderate",
   "priority": "p3",
   "confidence": "medium",
   "rationale": "persistent across weeks",
   "trend": {
    "status": "persistent",
    "first_observed": "2026-W44",
    "last_observed": "2026-W45",
    "weeks_observed": 2,
    "affected_pages_current": 7,
    "affected_pages_previous": 22
   },
   "frequency": {
    "instances": 7,
    "pages_affected": 7,
    "total_pages_scanned": 994
   },
   "on_key_page": false,
   "summary": "aria attribute has valid value (best practice, not a WCAG requirement)",
   "description": "aria attribute has valid value. Detected by Siteimprove Alfa rule sia-r19 on 7 of 994 scanned pages (7 instances).",
   "remediation_tip": null,
   "suggested_fix": "See remediation guidance: https://alfa.siteimprove.com/rules/sia-r19",
   "expected_behavior": "Element passes Siteimprove Alfa rule sia-r19.",
   "actual_behavior": "aria attribute has valid value. Detected by Siteimprove Alfa rule sia-r19 on 7 of 994 scanned pages (7 instances).",
   "testing_environment": "Automated: Siteimprove Alfa, headless Chromium (Playwright). Manual AT verification: Not captured by automated scan — requires manual testing.",
   "representative_urls": [
    "https://go.walsall.gov.uk/business/doing-business-with-the-council/supplying-council",
    "https://go.walsall.gov.uk/planning-and-building-control/building-control",
    "https://go.walsall.gov.uk/node/1077/practitioner-resources/practitioner-support-directory"
   ],
   "html_fragments": [],
   "url_patterns": [
    {
     "pattern": "/business/doing-business-with-the-council/supplying-council",
     "count": 1
    },
    {
     "pattern": "/planning-and-building-control/building-control",
     "count": 1
    },
    {
     "pattern": "/node/{id}/practitioner-resources/practitioner-support-directory",
     "count": 1
    }
   ],
   "associated_technologies": [],
   "impact": {
    "groups": [],
    "summary": "Not captured by automated scan — requires manual testing."
   }
  },
  {
   "finding_id": "VS-4c341c77",
   "fingerprint": "aada626a",
   "rule_id": "sia-r85",
   "rule_label": "Paragraph text is not all italic",
   "engine": "alfa",
   "tool": "Siteimprove Alfa",
   "wcag_sc": null,
   "wcag_name": null,
   "wcag_level": null,
   "wcag_version": null,
   "wcag_category": "Best Practice",
   "rule_url": "https://alfa.siteimprove.com/rules/sia-r85",
   "severity": "Moderate",
   "priority": "p3",
   "confidence": "medium",
   "rationale": "persistent across weeks",
   "trend": {
    "status": "persistent",
    "first_observed": "2026-W44",
    "last_observed": "2026-W45",
    "weeks_observed": 2,
    "affected_pages_current": 4,
    "affected_pages_previous": 18
   },
   "frequency": {
    "instances": 4,
    "pages_affected": 4,
    "total_pages_scanned": 994
   },
   "on_key_page": false,
   "summary": "Paragraph text is not all italic (best practice, not a WCAG requirement)",
   "description": "Paragraph text is not all italic. Detected by Siteimprove Alfa rule sia-r85 on 4 of 994 scanned pages (4 instances).",
   "remediation_tip": null,
   "suggested_fix": "See remediation guidance: https://alfa.siteimprove.com/rules/sia-r85",
   "expected_behavior": "Element passes Siteimprove Alfa rule sia-r85.",
   "actual_behavior": "Paragraph text is not all italic. Detected by Siteimprove Alfa rule sia-r85 on 4 of 994 scanned pages (4 instances).",
   "testing_environment": "Automated: Siteimprove Alfa, headless Chromium (Playwright). Manual AT verification: Not captured by automated scan — requires manual testing.",
   "representative_urls": [
    "https://go.walsall.gov.uk/newsroom/canal-makeover-set-encourage-more-people-walk-and-cycle-around-walsall-borough",
    "https://go.walsall.gov.uk/newsroom/over-50000-flock-inaugural-walsall-makerfest-celebrating-local-creativity",
    "https://go.walsall.gov.uk/newsroom/canal-towpaths-across-walsall-borough-see-huge-improvement"
   ],
   "html_fragments": [],
   "url_patterns": [
    {
     "pattern": "/newsroom/canal-makeover-set-encourage-more-people-walk-and-cycle-around-walsall-borough",
     "count": 1
    },
    {
     "pattern": "/newsroom/over-50000-flock-inaugural-walsall-makerfest-celebrating-local-creativity",
     "count": 1
    },
    {
     "pattern": "/newsroom/canal-towpaths-across-walsall-borough-see-huge-improvement",
     "count": 1
    }
   ],
   "associated_technologies": [],
   "impact": {
    "groups": [],
    "summary": "Not captured by automated scan — requires manual testing."
   }
  },
  {
   "finding_id": "VS-2cd767ca",
   "fingerprint": "3123e4f3",
   "rule_id": "sia-r78",
   "rule_label": "There is content between headings",
   "engine": "alfa",
   "tool": "Siteimprove Alfa",
   "wcag_sc": null,
   "wcag_name": null,
   "wcag_level": null,
   "wcag_version": null,
   "wcag_category": "Best Practice",
   "rule_url": "https://alfa.siteimprove.com/rules/sia-r78",
   "severity": "Moderate",
   "priority": "p3",
   "confidence": "low",
   "rationale": "persistent across weeks",
   "trend": {
    "status": "persistent",
    "first_observed": "2026-W44",
    "last_observed": "2026-W45",
    "weeks_observed": 2,
    "affected_pages_current": 2,
    "affected_pages_previous": 5
   },
   "frequency": {
    "instances": 4,
    "pages_affected": 2,
    "total_pages_scanned": 994
   },
   "on_key_page": false,
   "summary": "There is content between headings (best practice, not a WCAG requirement)",
   "description": "There is content between headings. Detected by Siteimprove Alfa rule sia-r78 on 2 of 994 scanned pages (4 instances).",
   "remediation_tip": null,
   "suggested_fix": "See remediation guidance: https://alfa.siteimprove.com/rules/sia-r78",
   "expected_behavior": "Element passes Siteimprove Alfa rule sia-r78.",
   "actual_behavior": "There is content between headings. Detected by Siteimprove Alfa rule sia-r78 on 2 of 994 scanned pages (4 instances).",
   "testing_environment": "Automated: Siteimprove Alfa, headless Chromium (Playwright). Manual AT verification: Not captured by automated scan — requires manual testing.",
   "representative_urls": [
    "https://go.walsall.gov.uk/planning-and-building-control/planning-policy/current-planning-policy/walsall-town-centre-area",
    "https://go.walsall.gov.uk/roads-parking-and-travel/public-rights-of-way-prow/prow-and-highway-orders"
   ],
   "html_fragments": [],
   "url_patterns": [
    {
     "pattern": "/planning-and-building-control/planning-policy/current-planning-policy/walsall-town-centre-area",
     "count": 1
    },
    {
     "pattern": "/roads-parking-and-travel/public-rights-of-way-prow/prow-and-highway-orders",
     "count": 1
    }
   ],
   "associated_technologies": [],
   "impact": {
    "groups": [],
    "summary": "Not captured by automated scan — requires manual testing."
   }
  },
  {
   "finding_id": "VS-424cced9",
   "fingerprint": "921ab302",
   "rule_id": "landmark-contentinfo-is-top-level",
   "rule_label": "Contentinfo landmark should not be contained in another landmark",
   "engine": "axe-core",
   "tool": "axe-core",
   "wcag_sc": null,
   "wcag_name": null,
   "wcag_level": null,
   "wcag_version": null,
   "wcag_category": "Best Practice",
   "rule_url": "https://dequeuniversity.com/rules/axe/4.14/landmark-contentinfo-is-top-level?application=axeAPI",
   "severity": "Moderate",
   "priority": "p3",
   "confidence": "low",
   "rationale": "persistent across weeks",
   "trend": {
    "status": "persistent",
    "first_observed": "2026-W44",
    "last_observed": "2026-W45",
    "weeks_observed": 2,
    "affected_pages_current": 1,
    "affected_pages_previous": 2
   },
   "frequency": {
    "instances": 1,
    "pages_affected": 1,
    "total_pages_scanned": 994
   },
   "on_key_page": false,
   "summary": "Contentinfo landmark should not be contained in another landmark (best practice, not a WCAG requirement)",
   "description": "Contentinfo landmark should not be contained in another landmark. Detected by axe-core rule landmark-contentinfo-is-top-level on 1 of 994 scanned pages (1 instances).",
   "remediation_tip": null,
   "suggested_fix": "See remediation guidance: https://dequeuniversity.com/rules/axe/4.14/landmark-contentinfo-is-top-level?application=axeAPI",
   "expected_behavior": "Element passes axe-core rule landmark-contentinfo-is-top-level.",
   "actual_behavior": "Contentinfo landmark should not be contained in another landmark. Detected by axe-core rule landmark-contentinfo-is-top-level on 1 of 994 scanned pages (1 instances).",
   "testing_environment": "Automated: axe-core, headless Chromium (Playwright). Manual AT verification: Not captured by automated scan — requires manual testing.",
   "representative_urls": [
    "https://go.walsall.gov.uk/feedback?page=%2Fyour-council%2Fdecision-making-in-walsall-borough%2Fbcta%2Ferdf-2014-2020&rating=Good&title=ERDF+2014-2020"
   ],
   "html_fragments": [
    {
     "fingerprint": "765943c4",
     "html": "<div role=\"contentinfo\" aria-label=\"Error message\" class=\"alert alert-danger\">\n          <div role=\"alert\">\n              <h2 class=\"visually-hidden\">Error message</h2>\n              One or dates refe",
     "selectors": [
      ".alert-danger"
     ]
    }
   ],
   "url_patterns": [
    {
     "pattern": "/feedback",
     "count": 1
    }
   ],
   "associated_technologies": [],
   "impact": {
    "groups": [],
    "summary": "Not captured by automated scan — requires manual testing."
   }
  },
  {
   "finding_id": "VS-b465dfd7",
   "fingerprint": "67dd732b",
   "rule_id": "landmark-no-duplicate-contentinfo",
   "rule_label": "Document should not have more than one contentinfo landmark",
   "engine": "axe-core",
   "tool": "axe-core",
   "wcag_sc": null,
   "wcag_name": null,
   "wcag_level": null,
   "wcag_version": null,
   "wcag_category": "Best Practice",
   "rule_url": "https://dequeuniversity.com/rules/axe/4.14/landmark-no-duplicate-contentinfo?application=axeAPI",
   "severity": "Moderate",
   "priority": "p3",
   "confidence": "low",
   "rationale": "persistent across weeks",
   "trend": {
    "status": "persistent",
    "first_observed": "2026-W44",
    "last_observed": "2026-W45",
    "weeks_observed": 2,
    "affected_pages_current": 1,
    "affected_pages_previous": 2
   },
   "frequency": {
    "instances": 1,
    "pages_affected": 1,
    "total_pages_scanned": 994
   },
   "on_key_page": false,
   "summary": "Document should not have more than one contentinfo landmark (best practice, not a WCAG requirement)",
   "description": "Document should not have more than one contentinfo landmark. Detected by axe-core rule landmark-no-duplicate-contentinfo on 1 of 994 scanned pages (1 instances).",
   "remediation_tip": "Use only one contentinfo landmark (<footer> at the top level) per page.",
   "suggested_fix": "See remediation guidance: https://dequeuniversity.com/rules/axe/4.14/landmark-no-duplicate-contentinfo?application=axeAPI",
   "expected_behavior": "Element passes axe-core rule landmark-no-duplicate-contentinfo.",
   "actual_behavior": "Document should not have more than one contentinfo landmark. Detected by axe-core rule landmark-no-duplicate-contentinfo on 1 of 994 scanned pages (1 instances).",
   "testing_environment": "Automated: axe-core, headless Chromium (Playwright). Manual AT verification: Not captured by automated scan — requires manual testing.",
   "representative_urls": [
    "https://go.walsall.gov.uk/feedback?page=%2Fyour-council%2Fdecision-making-in-walsall-borough%2Fbcta%2Ferdf-2014-2020&rating=Good&title=ERDF+2014-2020"
   ],
   "html_fragments": [
    {
     "fingerprint": "765943c4",
     "html": "<div role=\"contentinfo\" aria-label=\"Error message\" class=\"alert alert-danger\">\n          <div role=\"alert\">\n              <h2 class=\"visually-hidden\">Error message</h2>\n              One or dates refe",
     "selectors": [
      ".alert-danger"
     ]
    }
   ],
   "url_patterns": [
    {
     "pattern": "/feedback",
     "count": 1
    }
   ],
   "associated_technologies": [],
   "impact": {
    "groups": [],
    "summary": "Not captured by automated scan — requires manual testing."
   }
  },
  {
   "finding_id": "VS-d69fc059",
   "fingerprint": "c827d812",
   "rule_id": "empty-table-header",
   "rule_label": "Table header text should not be empty",
   "engine": "axe-core",
   "tool": "axe-core",
   "wcag_sc": null,
   "wcag_name": null,
   "wcag_level": null,
   "wcag_version": null,
   "wcag_category": "Best Practice",
   "rule_url": "https://dequeuniversity.com/rules/axe/4.14/empty-table-header?application=axeAPI",
   "severity": "Minor",
   "priority": "p4",
   "confidence": "medium",
   "rationale": "persistent across weeks",
   "trend": {
    "status": "persistent",
    "first_observed": "2026-W44",
    "last_observed": "2026-W45",
    "weeks_observed": 2,
    "affected_pages_current": 3,
    "affected_pages_previous": 7
   },
   "frequency": {
    "instances": 6,
    "pages_affected": 3,
    "total_pages_scanned": 994
   },
   "on_key_page": false,
   "summary": "Table header text should not be empty (best practice, not a WCAG requirement)",
   "description": "Table header text should not be empty. Detected by axe-core rule empty-table-header on 3 of 994 scanned pages (6 instances).",
   "remediation_tip": null,
   "suggested_fix": "See remediation guidance: https://dequeuniversity.com/rules/axe/4.14/empty-table-header?application=axeAPI",
   "expected_behavior": "Element passes axe-core rule empty-table-header.",
   "actual_behavior": "Table header text should not be empty. Detected by axe-core rule empty-table-header on 3 of 994 scanned pages (6 instances).",
   "testing_environment": "Automated: axe-core, headless Chromium (Playwright). Manual AT verification: Not captured by automated scan — requires manual testing.",
   "representative_urls": [
    "https://go.walsall.gov.uk/walsall-libraries/lichfield-street-hub/walsall-archives-services/research-resources/wednesbury",
    "https://go.walsall.gov.uk/walsall-libraries/lichfield-street-hub/walsall-archives-services/research-resources/delves-churches",
    "https://go.walsall.gov.uk/walsall-libraries/lichfield-street-hub/walsall-archives-services/research-resources/walsall-wood"
   ],
   "html_fragments": [
    {
     "fingerprint": "7f55748c",
     "html": "<th>\n\t\t\t<p>&nbsp;</p>\n\t\t\t</th>",
     "selectors": [
      "th:nth-child(1)",
      "th:nth-child(2)",
      "table:nth-child(5) > thead > tr > th:nth-child(1)"
     ]
    }
   ],
   "url_patterns": [
    {
     "pattern": "/walsall-libraries/lichfield-street-hub/walsall-archives-services/research-resources/wednesbury",
     "count": 1
    },
    {
     "pattern": "/walsall-libraries/lichfield-street-hub/walsall-archives-services/research-resources/delves-churches",
     "count": 1
    },
    {
     "pattern": "/walsall-libraries/lichfield-street-hub/walsall-archives-services/research-resources/walsall-wood",
     "count": 1
    }
   ],
   "associated_technologies": [],
   "impact": {
    "groups": [],
    "summary": "Not captured by automated scan — requires manual testing."
   }
  },
  {
   "finding_id": "VS-0066c67d",
   "fingerprint": "67db3700",
   "rule_id": "empty-heading",
   "rule_label": "Headings should not be empty",
   "engine": "axe-core",
   "tool": "axe-core",
   "wcag_sc": null,
   "wcag_name": null,
   "wcag_level": null,
   "wcag_version": null,
   "wcag_category": "Best Practice",
   "rule_url": "https://dequeuniversity.com/rules/axe/4.14/empty-heading?application=axeAPI",
   "severity": "Minor",
   "priority": "p4",
   "confidence": "low",
   "rationale": "persistent across weeks",
   "trend": {
    "status": "persistent",
    "first_observed": "2026-W44",
    "last_observed": "2026-W45",
    "weeks_observed": 2,
    "affected_pages_current": 1,
    "affected_pages_previous": 2
   },
   "frequency": {
    "instances": 1,
    "pages_affected": 1,
    "total_pages_scanned": 994
   },
   "on_key_page": false,
   "summary": "Headings should not be empty (best practice, not a WCAG requirement)",
   "description": "Headings should not be empty. Detected by axe-core rule empty-heading on 1 of 994 scanned pages (1 instances).",
   "remediation_tip": "Remove empty headings or give them text. Don't use heading tags for spacing.",
   "suggested_fix": "See remediation guidance: https://dequeuniversity.com/rules/axe/4.14/empty-heading?application=axeAPI",
   "expected_behavior": "Element passes axe-core rule empty-heading.",
   "actual_behavior": "Headings should not be empty. Detected by axe-core rule empty-heading on 1 of 994 scanned pages (1 instances).",
   "testing_environment": "Automated: axe-core, headless Chromium (Playwright). Manual AT verification: Not captured by automated scan — requires manual testing.",
   "representative_urls": [
    "https://go.walsall.gov.uk/newsroom/litter-pickers-remove-more-1800-bags-rubbish-just-one-month"
   ],
   "html_fragments": [
    {
     "fingerprint": "120e25ba",
     "html": "<h3>&nbsp;</h3>",
     "selectors": [
      "h3:nth-child(2)"
     ]
    }
   ],
   "url_patterns": [
    {
     "pattern": "/newsroom/litter-pickers-remove-more-1800-bags-rubbish-just-one-month",
     "count": 1
    }
   ],
   "associated_technologies": [],
   "impact": {
    "groups": [],
    "summary": "Not captured by automated scan — requires manual testing."
   }
  }
 ],
 "clusters": {
  "by_wcag_criterion": [
   {
    "cluster_id": "423bd52e",
    "type": "wcag_criterion",
    "wcag_sc": "1.3.1",
    "wcag_name": "Info and Relationships",
    "wcag_level": "A",
    "findings": [
     "VS-9429bb8d",
     "VS-f6d344d5",
     "VS-a0bdbdf6",
     "VS-d6097011",
     "VS-0ddc2ac6"
    ],
    "total_pages_affected": 3884,
    "max_severity": "Critical"
   },
   {
    "cluster_id": "a849192e",
    "type": "wcag_criterion",
    "wcag_sc": "4.1.2",
    "wcag_name": "Name, Role, Value",
    "wcag_level": "A",
    "findings": [
     "VS-e7298c00",
     "VS-ebb1c464",
     "VS-af36d20c",
     "VS-a48e6078"
    ],
    "total_pages_affected": 1690,
    "max_severity": "Critical"
   },
   {
    "cluster_id": "d68f5631",
    "type": "wcag_criterion",
    "wcag_sc": "1.4.3",
    "wcag_name": "Contrast (Minimum)",
    "wcag_level": "AA",
    "findings": [
     "VS-be8d563e",
     "VS-f7e99f4b"
    ],
    "total_pages_affected": 1458,
    "max_severity": "Critical"
   },
   {
    "cluster_id": "140fec0b",
    "type": "wcag_criterion",
    "wcag_sc": "1.4.8",
    "wcag_name": "Visual Presentation",
    "wcag_level": "AAA",
    "findings": [
     "VS-fbf54eba",
     "VS-2208081b"
    ],
    "total_pages_affected": 980,
    "max_severity": "Moderate"
   },
   {
    "cluster_id": "0649d9b9",
    "type": "wcag_criterion",
    "wcag_sc": null,
    "wcag_name": null,
    "wcag_level": null,
    "findings": [
     "VS-f18df681"
    ],
    "total_pages_affected": 968,
    "max_severity": "Serious"
   },
   {
    "cluster_id": "97a17643",
    "type": "wcag_criterion",
    "wcag_sc": null,
    "wcag_name": null,
    "wcag_level": null,
    "findings": [
     "VS-4fac2f41"
    ],
    "total_pages_affected": 968,
    "max_severity": "Moderate"
   },
   {
    "cluster_id": "71f257a8",
    "type": "wcag_criterion",
    "wcag_sc": "1.4.6",
    "wcag_name": "Contrast (Enhanced)",
    "wcag_level": "AAA",
    "findings": [
     "VS-646b1e0b"
    ],
    "total_pages_affected": 490,
    "max_severity": "Moderate"
   },
   {
    "cluster_id": "b393058c",
    "type": "wcag_criterion",
    "wcag_sc": "2.5.5",
    "wcag_name": "Target Size (Enhanced)",
    "wcag_level": "AAA",
    "findings": [
     "VS-cb53cc4d"
    ],
    "total_pages_affected": 490,
    "max_severity": "Moderate"
   },
   {
    "cluster_id": "5747ef47",
    "type": "wcag_criterion",
    "wcag_sc": null,
    "wcag_name": null,
    "wcag_level": null,
    "findings": [
     "VS-e5ec42f0"
    ],
    "total_pages_affected": 490,
    "max_severity": "Moderate"
   },
   {
    "cluster_id": "36ac08de",
    "type": "wcag_criterion",
    "wcag_sc": null,
    "wcag_name": null,
    "wcag_level": null,
    "findings": [
     "VS-c18be945"
    ],
    "total_pages_affected": 490,
    "max_severity": "Moderate"
   },
   {
    "cluster_id": "0ba1e7fd",
    "type": "wcag_criterion",
    "wcag_sc": null,
    "wcag_name": null,
    "wcag_level": null,
    "findings": [
     "VS-aa242c2d"
    ],
    "total_pages_affected": 490,
    "max_severity": "Moderate"
   },
   {
    "cluster_id": "e08c8d69",
    "type": "wcag_criterion",
    "wcag_sc": null,
    "wcag_name": null,
    "wcag_level": null,
    "findings": [
     "VS-d25f622d"
    ],
    "total_pages_affected": 363,
    "max_severity": "Moderate"
   },
   {
    "cluster_id": "75cf28e4",
    "type": "wcag_criterion",
    "wcag_sc": null,
    "wcag_name": null,
    "wcag_level": null,
    "findings": [
     "VS-7118fead"
    ],
    "total_pages_affected": 208,
    "max_severity": "Moderate"
   },
   {
    "cluster_id": "b05da4e9",
    "type": "wcag_criterion",
    "wcag_sc": null,
    "wcag_name": null,
    "wcag_level": null,
    "findings": [
     "VS-f054f4a4"
    ],
    "total_pages_affected": 184,
    "max_severity": "Moderate"
   },
   {
    "cluster_id": "0c75ddb8",
    "type": "wcag_criterion",
    "wcag_sc": null,
    "wcag_name": null,
    "wcag_level": null,
    "findings": [
     "VS-e05344b9"
    ],
    "total_pages_affected": 124,
    "max_severity": "Moderate"
   },
   {
    "cluster_id": "ae3731b5",
    "type": "wcag_criterion",
    "wcag_sc": null,
    "wcag_name": null,
    "wcag_level": null,
    "findings": [
     "VS-c4264d17"
    ],
    "total_pages_affected": 7,
    "max_severity": "Moderate"
   },
   {
    "cluster_id": "ae948132",
    "type": "wcag_criterion",
    "wcag_sc": null,
    "wcag_name": null,
    "wcag_level": null,
    "findings": [
     "VS-4c341c77"
    ],
    "total_pages_affected": 4,
    "max_severity": "Moderate"
   },
   {
    "cluster_id": "c594cdc0",
    "type": "wcag_criterion",
    "wcag_sc": null,
    "wcag_name": null,
    "wcag_level": null,
    "findings": [
     "VS-d69fc059"
    ],
    "total_pages_affected": 3,
    "max_severity": "Minor"
   },
   {
    "cluster_id": "4b43ba23",
    "type": "wcag_criterion",
    "wcag_sc": null,
    "wcag_name": null,
    "wcag_level": null,
    "findings": [
     "VS-2cd767ca"
    ],
    "total_pages_affected": 2,
    "max_severity": "Moderate"
   },
   {
    "cluster_id": "7fde4943",
    "type": "wcag_criterion",
    "wcag_sc": null,
    "wcag_name": null,
    "wcag_level": null,
    "findings": [
     "VS-424cced9"
    ],
    "total_pages_affected": 1,
    "max_severity": "Moderate"
   }
  ],
  "by_url_pattern": [
   {
    "cluster_id": "b6bf807c",
    "type": "url_pattern",
    "pattern": "/feedback",
    "findings": [
     "VS-424cced9",
     "VS-b465dfd7"
    ],
    "total_pages": 2
   }
  ]
 },
 "technology_findings": [],
 "third_party_findings": [
  {
   "origin": "pure.cloud",
   "pages_served": 252,
   "pages_with_findings": 252,
   "finding_co_occurrence_rate": 1,
   "median_bytes": 4827491,
   "example_pages": [
    "https://go.walsall.gov.uk/events/knit-and-natter-69",
    "https://go.walsall.gov.uk/newsroom/walsall-council-receive-ps558010-through-public-sector-decarbonisation-scheme",
    "https://go.walsall.gov.uk/business/doing-business-with-the-council"
   ]
  },
  {
   "origin": "inmobi.com",
   "pages_served": 252,
   "pages_with_findings": 252,
   "finding_co_occurrence_rate": 1,
   "median_bytes": 1950550,
   "example_pages": [
    "https://go.walsall.gov.uk/events/knit-and-natter-69",
    "https://go.walsall.gov.uk/newsroom/walsall-council-receive-ps558010-through-public-sector-decarbonisation-scheme",
    "https://go.walsall.gov.uk/business/doing-business-with-the-council"
   ]
  },
  {
   "origin": "googletagmanager.com",
   "pages_served": 252,
   "pages_with_findings": 252,
   "finding_co_occurrence_rate": 1,
   "median_bytes": 529776,
   "example_pages": [
    "https://go.walsall.gov.uk/events/knit-and-natter-69",
    "https://go.walsall.gov.uk/newsroom/walsall-council-receive-ps558010-through-public-sector-decarbonisation-scheme",
    "https://go.walsall.gov.uk/business/doing-business-with-the-council"
   ]
  },
  {
   "origin": "googlesyndication.com",
   "pages_served": 252,
   "pages_with_findings": 252,
   "finding_co_occurrence_rate": 1,
   "median_bytes": 112928,
   "example_pages": [
    "https://go.walsall.gov.uk/events/knit-and-natter-69",
    "https://go.walsall.gov.uk/newsroom/walsall-council-receive-ps558010-through-public-sector-decarbonisation-scheme",
    "https://go.walsall.gov.uk/business/doing-business-with-the-council"
   ]
  },
  {
   "origin": "counciladvertising.net",
   "pages_served": 252,
   "pages_with_findings": 252,
   "finding_co_occurrence_rate": 1,
   "median_bytes": 103663,
   "example_pages": [
    "https://go.walsall.gov.uk/events/knit-and-natter-69",
    "https://go.walsall.gov.uk/newsroom/walsall-council-receive-ps558010-through-public-sector-decarbonisation-scheme",
    "https://go.walsall.gov.uk/business/doing-business-with-the-council"
   ]
  }
 ],
 "metadata": {
  "generator": "vital-core",
  "schema_version": "0.1",
  "total_pages_scanned": 994,
  "notes": [
   "Healthy pages (no known issues) are intentionally excluded.",
   "Representative examples are used instead of complete occurrence lists.",
   "Fingerprints are stable hashes for tracking recurring patterns over time.",
   "Fragment fingerprints normalize volatile attributes (id, style, data-*) before hashing.",
   "Technology lift values indicate association, not causation.",
   "Confidence reflects sample size: high=10+ affected pages, medium=3-9, low=1-2."
  ]
 }
}