{
  "issueNumber": 68,
  "issueUrl": "https://github.com/mgifford/open-scans/issues/68",
  "issueTitle": "WEEKLY: London",
  "scanTitle": "London",
  "submittedBy": "mgifford",
  "engines": [
    "axe",
    "qualweb"
  ],
  "scannedAt": "2026-05-09T01:30:54.430Z",
  "totalElapsedMs": 1301088,
  "totalSubmitted": 100,
  "acceptedCount": 100,
  "scannedCount": 100,
  "skippedDueToTimeout": 0,
  "skippedDueToErrAborted": 0,
  "rejectedCount": 0,
  "rejected": [],
  "alfaTotals": {
    "passed": 0,
    "failed": 0,
    "cantTell": 0,
    "inapplicable": 0
  },
  "axeTotals": {
    "passed": 78684,
    "failed": 175,
    "cantTell": 266,
    "inapplicable": 6376
  },
  "equalAccessTotals": {
    "passed": 0,
    "failed": 0,
    "uniqueFailed": 0,
    "duplicates": 0,
    "cantTell": 0,
    "inapplicable": 0
  },
  "accesslintTotals": {
    "passed": 0,
    "failed": 0,
    "uniqueFailed": 0,
    "duplicates": 0,
    "cantTell": 0,
    "inapplicable": 0
  },
  "qualwebTotals": {
    "passed": 50568,
    "failed": 419,
    "cantTell": 8652,
    "inapplicable": 390
  },
  "duplicateFindingTotals": 155,
  "darkModeUrlCount": 26,
  "reducedMotionUrlCount": 70,
  "highContrastUrlCount": 1,
  "forcedColorsUrlCount": 2,
  "reducedTransparencyUrlCount": 0,
  "results": [
    {
      "submittedUrl": "https://london.gov.uk/",
      "finalUrl": "https://www.london.gov.uk/",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Home page - London City Hall",
      "elapsedMs": 19923,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 1492,
          "failed": 2,
          "cantTell": 5,
          "inapplicable": 34
        },
        "failedRules": [
          "heading-order",
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-toggle-field-name",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "autocomplete-valid",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "frame-tested",
          "frame-title",
          "frame-title-unique",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "input-button-name",
          "label",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-in-text-block",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "presentation-role-conflict",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "heading-order",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/heading-order?application=playwright",
            "impact": "moderate",
            "wcagSc": [],
            "xpath": "h4",
            "html": "<h4 class=\"md:u-w-1/2 xl:u-text-3xl xxl:u-text-4xl h4\">\n                    Get WhatsApp updates about London.\n            </h4>",
            "message": "Heading levels should only increase by one",
            "fixSummary": "Fix any of the following:\n  Heading order invalid",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "a2ec876e44f1",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-61c4188c"
          },
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "16aa65584af9",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 1533,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 776,
          "failed": 4,
          "cantTell": 154,
          "inapplicable": 3
        },
        "failedRules": [
          "QW-ACT-R12",
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R16",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R24",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R48",
          "QW-ACT-R5",
          "QW-ACT-R63",
          "QW-ACT-R64",
          "QW-ACT-R65",
          "QW-ACT-R70",
          "QW-ACT-R73",
          "QW-ACT-R75",
          "QW-ACT-R76"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R12",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/c487ae/",
            "description": "The test target doesn't have an accessible name, or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name, or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "76f91e3f4a9a",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-67cdbced"
          },
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "ecbe29769268",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "16344616bbe7",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "c952f6c30ea9",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 937,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 4,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/find-us-facebook",
      "finalUrl": "https://www.facebook.com/OldOakParkRoyal/",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=\"utf-8\"",
      "pageTitle": "Old Oak and Park Royal Development Corporation | London",
      "elapsedMs": 19105,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 736,
          "failed": 6,
          "cantTell": 94,
          "inapplicable": 104
        },
        "failedRules": [
          "aria-dialog-name",
          "color-contrast",
          "meta-viewport-large"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-command-name",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "color-contrast",
          "document-title",
          "form-field-multiple-labels",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-one-main",
          "landmark-unique",
          "link-name",
          "meta-viewport",
          "nested-interactive",
          "page-has-heading-one",
          "presentation-role-conflict",
          "region",
          "scrollable-region-focusable",
          "tabindex"
        ],
        "failures": [
          {
            "rule": "aria-dialog-name",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/aria-dialog-name?application=playwright",
            "impact": "serious",
            "wcagSc": [],
            "xpath": ".x1afcbsf",
            "html": "<div aria-modal=\"true\" role=\"dialog\" class=\"x1n2onr6 x1ja2u2z x1afcbsf x78zum5 xdt5ytf x1a2a7pz x6ikm8r x10wlt62 x71s49j x1jx94hy xw5cjc7 x1dmpuos x1vsv7so xau1kf4 x104qc98 x15o3w11 xogydr4 x1vmz7ll x1yyrj1m x193iq5w\">",
            "message": "ARIA dialog and alertdialog nodes should have an accessible name",
            "fixSummary": "Fix any of the following:\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "9b64f11a9951",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-1949a940"
          },
          {
            "rule": "color-contrast",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/color-contrast?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2aa",
              "wcag143"
            ],
            "xpath": ".xp48ta0 > .x14ayic.xwyz465.x1e0frkt > .xsqbvy7.xb9jzoj[role=\"none\"] > .x1lkfr7t.x1lbecb7.xtk6v10 > .xlyipyv.xuxw1ft.x6ikm8r",
            "html": "<span class=\"x1lliihq x6ikm8r x10wlt62 x1n2onr6 xlyipyv xuxw1ft\">Create new account</span>",
            "message": "Elements must meet minimum color contrast ratio thresholds",
            "fixSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.27 (foreground color: #ffffff, background color: #31a24c, font size: 12.8pt (17px), font weight: normal). Expected contrast ratio of 4.5:1",
            "relatedPaths": [
              ".xp48ta0"
            ],
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "09f2fe5a76c0",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-c59ab4e0"
          },
          {
            "rule": "meta-viewport-large",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-viewport-large?application=playwright",
            "impact": "minor",
            "wcagSc": [],
            "xpath": "meta[name=\"viewport\"]",
            "html": "<meta name=\"viewport\" content=\"width=device-width,initial-scale=1,maximum-scale=2,shrink-to-fit=no\">",
            "message": "Users should be able to zoom and scale the text up to 500%",
            "fixSummary": "Fix any of the following:\n  <meta> tag limits zooming on mobile devices",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "8d09da2f85a5",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-7cb9f1f1"
          },
          {
            "rule": "aria-dialog-name",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/aria-dialog-name?application=playwright",
            "impact": "serious",
            "wcagSc": [],
            "xpath": ".x1afcbsf",
            "html": "<div aria-modal=\"true\" role=\"dialog\" class=\"x1n2onr6 x1ja2u2z x1afcbsf x78zum5 xdt5ytf x1a2a7pz x6ikm8r x10wlt62 x71s49j x1jx94hy xw5cjc7 x1dmpuos x1vsv7so xau1kf4 x104qc98 x15o3w11 xogydr4 x1vmz7ll x1yyrj1m x193iq5w\">",
            "message": "ARIA dialog and alertdialog nodes should have an accessible name",
            "fixSummary": "Fix any of the following:\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "dark",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "4b6466832651",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-e2a64680"
          },
          {
            "rule": "color-contrast",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/color-contrast?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2aa",
              "wcag143"
            ],
            "xpath": ".xp48ta0 > .x14ayic.xwyz465.x1e0frkt > .xsqbvy7.xb9jzoj[role=\"none\"] > .x1lkfr7t.x1lbecb7.xtk6v10 > .xlyipyv.xuxw1ft.x6ikm8r",
            "html": "<span class=\"x1lliihq x6ikm8r x10wlt62 x1n2onr6 xlyipyv xuxw1ft\">Create new account</span>",
            "message": "Elements must meet minimum color contrast ratio thresholds",
            "fixSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.27 (foreground color: #ffffff, background color: #31a24c, font size: 12.8pt (17px), font weight: normal). Expected contrast ratio of 4.5:1",
            "relatedPaths": [
              ".xp48ta0"
            ],
            "colorScheme": "dark",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "ec58c59c6323",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-6370df86"
          },
          {
            "rule": "meta-viewport-large",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-viewport-large?application=playwright",
            "impact": "minor",
            "wcagSc": [],
            "xpath": "meta[name=\"viewport\"]",
            "html": "<meta name=\"viewport\" content=\"width=device-width,initial-scale=1,maximum-scale=2,shrink-to-fit=no\">",
            "message": "Users should be able to zoom and scale the text up to 500%",
            "fixSummary": "Fix any of the following:\n  <meta> tag limits zooming on mobile devices",
            "relatedPaths": null,
            "colorScheme": "dark",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "dfadc9fc1543",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-bd768ce4"
          }
        ],
        "outcomeCount": 940,
        "darkModeScanned": true,
        "mediaQuerySupport": {
          "darkMode": true,
          "reducedMotion": true,
          "highContrast": true,
          "forcedColors": true,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 6
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 258,
          "failed": 18,
          "cantTell": 51,
          "inapplicable": 6
        },
        "failedRules": [
          "QW-ACT-R13",
          "QW-ACT-R37",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R14",
          "QW-ACT-R16",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R37",
          "QW-ACT-R43",
          "QW-ACT-R48",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R68",
          "QW-ACT-R76"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R13",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/6cfa84/",
            "description": "The test target has focusable children.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target has focusable children.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "7c9eba730cb1",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-c6ea3e7e"
          },
          {
            "rule": "QW-ACT-R37",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/afw4f7/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "4ace40bd91bc",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-cbe353ce"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "f8ba74cc39fa",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          }
        ],
        "outcomeCount": 333,
        "duplicateFailedCount": 15,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 15
    },
    {
      "submittedUrl": "https://london.gov.uk/find-advice-and-support",
      "finalUrl": "https://www.london.gov.uk/programmes-strategies/communities-and-social-justice/european-londoners-hub/advice-and-support-services",
      "redirected": true,
      "statusCode": 403,
      "ok": false,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Just a moment...",
      "elapsedMs": 22865,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 116,
          "failed": 2,
          "cantTell": 0,
          "inapplicable": 128
        },
        "failedRules": [
          "meta-refresh"
        ],
        "passedRules": [
          "aria-allowed-role",
          "aria-deprecated-role",
          "aria-hidden-body",
          "aria-required-attr",
          "aria-roles",
          "avoid-inline-spacing",
          "bypass",
          "color-contrast",
          "document-title",
          "empty-heading",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-name",
          "meta-viewport",
          "meta-viewport-large",
          "page-has-heading-one",
          "region"
        ],
        "failures": [
          {
            "rule": "meta-refresh",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-refresh?application=playwright",
            "impact": "critical",
            "wcagSc": [
              "wcag2a",
              "wcag221"
            ],
            "xpath": "meta[http-equiv=\"refresh\"]",
            "html": "<meta http-equiv=\"refresh\" content=\"360\">",
            "message": "Delayed refresh under 20 hours must not be used",
            "fixSummary": "Fix any of the following:\n  <meta> tag forces timed refresh of page (less than 20 hours)",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "06c739613915",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-6b8a67f2"
          },
          {
            "rule": "meta-refresh",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-refresh?application=playwright",
            "impact": "critical",
            "wcagSc": [
              "wcag2a",
              "wcag221"
            ],
            "xpath": "meta[http-equiv=\"refresh\"]",
            "html": "<meta http-equiv=\"refresh\" content=\"360\">",
            "message": "Delayed refresh under 20 hours must not be used",
            "fixSummary": "Fix any of the following:\n  <meta> tag forces timed refresh of page (less than 20 hours)",
            "relatedPaths": null,
            "colorScheme": "dark",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "44186fb51952",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-990698bd"
          }
        ],
        "outcomeCount": 246,
        "darkModeScanned": true,
        "mediaQuerySupport": {
          "darkMode": true,
          "reducedMotion": false,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 32,
          "failed": 2,
          "cantTell": 2,
          "inapplicable": 1
        },
        "failedRules": [
          "QW-ACT-R4",
          "QW-ACT-R71"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R12",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R28",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R63",
          "QW-ACT-R64",
          "QW-ACT-R73",
          "QW-ACT-R74",
          "QW-ACT-R75",
          "QW-ACT-R76"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R4",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/bc659a/",
            "description": "The test target refreshes after 360 seconds.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target refreshes after 360 seconds.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "f6ce5919a63b",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-898c827a"
          },
          {
            "rule": "QW-ACT-R71",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/bisz58/",
            "description": "The test target refreshes after 360 seconds.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target refreshes after 360 seconds.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "99ae758a93fd",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-d8565eb3"
          }
        ],
        "outcomeCount": 37,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/warmer-homes-faqs/i-received-support-under-first-phase-warmer-homes-can-i-re-apply-phase-warmer-homes",
      "finalUrl": "https://www.london.gov.uk/warmer-homes-faqs/i-received-support-under-first-phase-warmer-homes-can-i-re-apply-phase-warmer-homes",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "I received support under the first phase of Warmer Homes. Can I re-apply for this phase of Warmer Homes? | London City Hall",
      "elapsedMs": 12682,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 1376,
          "failed": 3,
          "cantTell": 1,
          "inapplicable": 42
        },
        "failedRules": [
          "heading-order",
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-in-text-block",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "heading-order",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/heading-order?application=playwright",
            "impact": "moderate",
            "wcagSc": [],
            "xpath": ".u-space-y-4 > h3",
            "html": "<h3 class=\"h3\">\n                    Related questions\n            </h3>",
            "message": "Heading levels should only increase by one",
            "fixSummary": "Fix any of the following:\n  Heading order invalid",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "ddf6bd4c6864",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-266efff9"
          },
          {
            "rule": "heading-order",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/heading-order?application=playwright",
            "impact": "moderate",
            "wcagSc": [],
            "xpath": ".u-mb-10:nth-child(1) > .u-bg-off-white.u-p-6.sm\\:u-px-12 > h5",
            "html": "<h5 class=\"h5\">\n                    Eligibility\n            </h5>",
            "message": "Heading levels should only increase by one",
            "fixSummary": "Fix any of the following:\n  Heading order invalid",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "1a138c983029",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-64194828"
          },
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "775a6f87c8ba",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 1422,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 857,
          "failed": 4,
          "cantTell": 183,
          "inapplicable": 3
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "4ceace9fa6a1",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "a34ae881e3a5",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "94bc41de3983",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          }
        ],
        "outcomeCount": 1047,
        "duplicateFailedCount": 1,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 1
    },
    {
      "submittedUrl": "https://london.gov.uk/programmes-strategies/accessibility",
      "finalUrl": "https://london.gov.uk/programmes-strategies/accessibility",
      "redirected": false,
      "statusCode": 403,
      "ok": false,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Just a moment...",
      "elapsedMs": 17997,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 116,
          "failed": 2,
          "cantTell": 0,
          "inapplicable": 128
        },
        "failedRules": [
          "meta-refresh"
        ],
        "passedRules": [
          "aria-allowed-role",
          "aria-deprecated-role",
          "aria-hidden-body",
          "aria-required-attr",
          "aria-roles",
          "avoid-inline-spacing",
          "bypass",
          "color-contrast",
          "document-title",
          "empty-heading",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-name",
          "meta-viewport",
          "meta-viewport-large",
          "page-has-heading-one",
          "region"
        ],
        "failures": [
          {
            "rule": "meta-refresh",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-refresh?application=playwright",
            "impact": "critical",
            "wcagSc": [
              "wcag2a",
              "wcag221"
            ],
            "xpath": "meta[http-equiv=\"refresh\"]",
            "html": "<meta http-equiv=\"refresh\" content=\"360\">",
            "message": "Delayed refresh under 20 hours must not be used",
            "fixSummary": "Fix any of the following:\n  <meta> tag forces timed refresh of page (less than 20 hours)",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "4aff83ed4490",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-6b8a67f2"
          },
          {
            "rule": "meta-refresh",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-refresh?application=playwright",
            "impact": "critical",
            "wcagSc": [
              "wcag2a",
              "wcag221"
            ],
            "xpath": "meta[http-equiv=\"refresh\"]",
            "html": "<meta http-equiv=\"refresh\" content=\"360\">",
            "message": "Delayed refresh under 20 hours must not be used",
            "fixSummary": "Fix any of the following:\n  <meta> tag forces timed refresh of page (less than 20 hours)",
            "relatedPaths": null,
            "colorScheme": "dark",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "fdc53c202ae8",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-990698bd"
          }
        ],
        "outcomeCount": 246,
        "darkModeScanned": true,
        "mediaQuerySupport": {
          "darkMode": true,
          "reducedMotion": false,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 32,
          "failed": 2,
          "cantTell": 2,
          "inapplicable": 1
        },
        "failedRules": [
          "QW-ACT-R4",
          "QW-ACT-R71"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R12",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R28",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R63",
          "QW-ACT-R64",
          "QW-ACT-R73",
          "QW-ACT-R74",
          "QW-ACT-R75",
          "QW-ACT-R76"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R4",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/bc659a/",
            "description": "The test target refreshes after 360 seconds.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target refreshes after 360 seconds.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "5fca22d6768a",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-898c827a"
          },
          {
            "rule": "QW-ACT-R71",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/bisz58/",
            "description": "The test target refreshes after 360 seconds.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target refreshes after 360 seconds.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "9ff74ce4a7e9",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-d8565eb3"
          }
        ],
        "outcomeCount": 37,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/programmes-strategies/accessibility-statement-talk-london",
      "finalUrl": "https://london.gov.uk/programmes-strategies/accessibility-statement-talk-london",
      "redirected": false,
      "statusCode": 403,
      "ok": false,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Just a moment...",
      "elapsedMs": 18143,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 116,
          "failed": 2,
          "cantTell": 0,
          "inapplicable": 128
        },
        "failedRules": [
          "meta-refresh"
        ],
        "passedRules": [
          "aria-allowed-role",
          "aria-deprecated-role",
          "aria-hidden-body",
          "aria-required-attr",
          "aria-roles",
          "avoid-inline-spacing",
          "bypass",
          "color-contrast",
          "document-title",
          "empty-heading",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-name",
          "meta-viewport",
          "meta-viewport-large",
          "page-has-heading-one",
          "region"
        ],
        "failures": [
          {
            "rule": "meta-refresh",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-refresh?application=playwright",
            "impact": "critical",
            "wcagSc": [
              "wcag2a",
              "wcag221"
            ],
            "xpath": "meta[http-equiv=\"refresh\"]",
            "html": "<meta http-equiv=\"refresh\" content=\"360\">",
            "message": "Delayed refresh under 20 hours must not be used",
            "fixSummary": "Fix any of the following:\n  <meta> tag forces timed refresh of page (less than 20 hours)",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "b92eadbf111b",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-6b8a67f2"
          },
          {
            "rule": "meta-refresh",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-refresh?application=playwright",
            "impact": "critical",
            "wcagSc": [
              "wcag2a",
              "wcag221"
            ],
            "xpath": "meta[http-equiv=\"refresh\"]",
            "html": "<meta http-equiv=\"refresh\" content=\"360\">",
            "message": "Delayed refresh under 20 hours must not be used",
            "fixSummary": "Fix any of the following:\n  <meta> tag forces timed refresh of page (less than 20 hours)",
            "relatedPaths": null,
            "colorScheme": "dark",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "7229c37a6b20",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-990698bd"
          }
        ],
        "outcomeCount": 246,
        "darkModeScanned": true,
        "mediaQuerySupport": {
          "darkMode": true,
          "reducedMotion": false,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 32,
          "failed": 2,
          "cantTell": 2,
          "inapplicable": 1
        },
        "failedRules": [
          "QW-ACT-R4",
          "QW-ACT-R71"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R12",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R28",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R63",
          "QW-ACT-R64",
          "QW-ACT-R73",
          "QW-ACT-R74",
          "QW-ACT-R75",
          "QW-ACT-R76"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R4",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/bc659a/",
            "description": "The test target refreshes after 360 seconds.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target refreshes after 360 seconds.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "0e35670005b6",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-898c827a"
          },
          {
            "rule": "QW-ACT-R71",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/bisz58/",
            "description": "The test target refreshes after 360 seconds.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target refreshes after 360 seconds.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "3a3b734b49f9",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-d8565eb3"
          }
        ],
        "outcomeCount": 37,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/programmes-strategies/arts-and-culture/space-culture/help-resources-and-guidance/finding-building-or-land",
      "finalUrl": "https://london.gov.uk/programmes-strategies/arts-and-culture/space-culture/help-resources-and-guidance/finding-building-or-land",
      "redirected": false,
      "statusCode": 403,
      "ok": false,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Just a moment...",
      "elapsedMs": 17847,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 116,
          "failed": 2,
          "cantTell": 0,
          "inapplicable": 128
        },
        "failedRules": [
          "meta-refresh"
        ],
        "passedRules": [
          "aria-allowed-role",
          "aria-deprecated-role",
          "aria-hidden-body",
          "aria-required-attr",
          "aria-roles",
          "avoid-inline-spacing",
          "bypass",
          "color-contrast",
          "document-title",
          "empty-heading",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-name",
          "meta-viewport",
          "meta-viewport-large",
          "page-has-heading-one",
          "region"
        ],
        "failures": [
          {
            "rule": "meta-refresh",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-refresh?application=playwright",
            "impact": "critical",
            "wcagSc": [
              "wcag2a",
              "wcag221"
            ],
            "xpath": "meta[http-equiv=\"refresh\"]",
            "html": "<meta http-equiv=\"refresh\" content=\"360\">",
            "message": "Delayed refresh under 20 hours must not be used",
            "fixSummary": "Fix any of the following:\n  <meta> tag forces timed refresh of page (less than 20 hours)",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "2ecc9905d339",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-6b8a67f2"
          },
          {
            "rule": "meta-refresh",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-refresh?application=playwright",
            "impact": "critical",
            "wcagSc": [
              "wcag2a",
              "wcag221"
            ],
            "xpath": "meta[http-equiv=\"refresh\"]",
            "html": "<meta http-equiv=\"refresh\" content=\"360\">",
            "message": "Delayed refresh under 20 hours must not be used",
            "fixSummary": "Fix any of the following:\n  <meta> tag forces timed refresh of page (less than 20 hours)",
            "relatedPaths": null,
            "colorScheme": "dark",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "6aaa109d5996",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-990698bd"
          }
        ],
        "outcomeCount": 246,
        "darkModeScanned": true,
        "mediaQuerySupport": {
          "darkMode": true,
          "reducedMotion": false,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 32,
          "failed": 2,
          "cantTell": 2,
          "inapplicable": 1
        },
        "failedRules": [
          "QW-ACT-R4",
          "QW-ACT-R71"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R12",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R28",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R63",
          "QW-ACT-R64",
          "QW-ACT-R73",
          "QW-ACT-R74",
          "QW-ACT-R75",
          "QW-ACT-R76"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R4",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/bc659a/",
            "description": "The test target refreshes after 360 seconds.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target refreshes after 360 seconds.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "e604e43c58c4",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-898c827a"
          },
          {
            "rule": "QW-ACT-R71",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/bisz58/",
            "description": "The test target refreshes after 360 seconds.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target refreshes after 360 seconds.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "be52362a0b33",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-d8565eb3"
          }
        ],
        "outcomeCount": 37,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/find-affordable-home",
      "finalUrl": "https://homes.london.gov.uk/",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Home - Homes for Londoners",
      "elapsedMs": 14365,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 1350,
          "failed": 5,
          "cantTell": 21,
          "inapplicable": 41
        },
        "failedRules": [
          "color-contrast",
          "region"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "autocomplete-valid",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "presentation-role-conflict",
          "region",
          "skip-link",
          "svg-img-alt",
          "tabindex"
        ],
        "failures": [
          {
            "rule": "color-contrast",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/color-contrast?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2aa",
              "wcag143"
            ],
            "xpath": "p:nth-child(1)",
            "html": "<p>We use some essential cookies to make this website work.</p>",
            "message": "Elements must meet minimum color contrast ratio thresholds",
            "fixSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.01 (foreground color: #787878, background color: #f4f4f4, font size: 9.7pt (12.96px), font weight: normal). Expected contrast ratio of 4.5:1",
            "relatedPaths": [
              "#ccc-notify"
            ],
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "8219dcf3d7af",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-f5719942"
          },
          {
            "rule": "color-contrast",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/color-contrast?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2aa",
              "wcag143"
            ],
            "xpath": "p:nth-child(3)",
            "html": "<p>We also use cookies set by other sites to help us deliver content from their services.</p>",
            "message": "Elements must meet minimum color contrast ratio thresholds",
            "fixSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.01 (foreground color: #787878, background color: #f4f4f4, font size: 9.7pt (12.96px), font weight: normal). Expected contrast ratio of 4.5:1",
            "relatedPaths": [
              "#ccc-notify"
            ],
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "74e49bf39a14",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-ae9f97c3"
          },
          {
            "rule": "region",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/region?application=playwright",
            "impact": "moderate",
            "wcagSc": [],
            "xpath": ".footer-locations-grid",
            "html": "<div class=\"footer-locations-grid slide-toggle__child\">",
            "message": "All page content should be contained by landmarks",
            "fixSummary": "Fix any of the following:\n  Some page content is not contained by landmarks",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "f111314f7fde",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b1cc6d28"
          },
          {
            "rule": "region",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/region?application=playwright",
            "impact": "moderate",
            "wcagSc": [],
            "xpath": "a[aria-label=\"Share to Buy\"]",
            "html": "<a href=\"https://www.sharetobuy.com/\" aria-label=\"Share to Buy\">",
            "message": "All page content should be contained by landmarks",
            "fixSummary": "Fix any of the following:\n  Some page content is not contained by landmarks",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "90ee2231415f",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-f7669e35"
          },
          {
            "rule": "region",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/region?application=playwright",
            "impact": "moderate",
            "wcagSc": [],
            "xpath": ".footer-inline-nav",
            "html": "<div class=\"footer-inline-nav inline-nav\">",
            "message": "All page content should be contained by landmarks",
            "fixSummary": "Fix any of the following:\n  Some page content is not contained by landmarks",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "7112ab3dde02",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-6c7c6ba1"
          }
        ],
        "outcomeCount": 1417,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 5
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 651,
          "failed": 33,
          "cantTell": 205,
          "inapplicable": 1
        },
        "failedRules": [
          "QW-ACT-R30",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R16",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R48",
          "QW-ACT-R5",
          "QW-ACT-R63",
          "QW-ACT-R64",
          "QW-ACT-R65",
          "QW-ACT-R73",
          "QW-ACT-R75",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R30",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/2ee8b8/",
            "description": "The complete visible text content of the test target neither matches or is contained within its accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The complete visible text content of the test target neither matches or is contained within its accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "68131150f15f",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-e555095c"
          },
          {
            "rule": "QW-ACT-R30",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/2ee8b8/",
            "description": "The complete visible text content of the test target neither matches or is contained within its accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The complete visible text content of the test target neither matches or is contained within its accessible name.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R30",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/2ee8b8/",
            "description": "The complete visible text content of the test target neither matches or is contained within its accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The complete visible text content of the test target neither matches or is contained within its accessible name.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R30",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/2ee8b8/",
            "description": "The complete visible text content of the test target neither matches or is contained within its accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The complete visible text content of the test target neither matches or is contained within its accessible name.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R30",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/2ee8b8/",
            "description": "The complete visible text content of the test target neither matches or is contained within its accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The complete visible text content of the test target neither matches or is contained within its accessible name.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R30",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/2ee8b8/",
            "description": "The complete visible text content of the test target neither matches or is contained within its accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The complete visible text content of the test target neither matches or is contained within its accessible name.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R30",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/2ee8b8/",
            "description": "The complete visible text content of the test target neither matches or is contained within its accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The complete visible text content of the test target neither matches or is contained within its accessible name.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R30",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/2ee8b8/",
            "description": "The complete visible text content of the test target neither matches or is contained within its accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The complete visible text content of the test target neither matches or is contained within its accessible name.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R30",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/2ee8b8/",
            "description": "The complete visible text content of the test target neither matches or is contained within its accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The complete visible text content of the test target neither matches or is contained within its accessible name.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R30",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/2ee8b8/",
            "description": "The complete visible text content of the test target neither matches or is contained within its accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The complete visible text content of the test target neither matches or is contained within its accessible name.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R30",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/2ee8b8/",
            "description": "The complete visible text content of the test target neither matches or is contained within its accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The complete visible text content of the test target neither matches or is contained within its accessible name.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "b9db8582ffb6",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          }
        ],
        "outcomeCount": 890,
        "duplicateFailedCount": 31,
        "uniqueFailedCount": 2,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 31
    },
    {
      "submittedUrl": "https://london.gov.uk/find-course-london",
      "finalUrl": "https://www.london.gov.uk/programmes-strategies/jobs-and-skills/find-adult-learning-providers-near-me",
      "redirected": true,
      "statusCode": 403,
      "ok": false,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Just a moment...",
      "elapsedMs": 18885,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 116,
          "failed": 2,
          "cantTell": 0,
          "inapplicable": 128
        },
        "failedRules": [
          "meta-refresh"
        ],
        "passedRules": [
          "aria-allowed-role",
          "aria-deprecated-role",
          "aria-hidden-body",
          "aria-required-attr",
          "aria-roles",
          "avoid-inline-spacing",
          "bypass",
          "color-contrast",
          "document-title",
          "empty-heading",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-name",
          "meta-viewport",
          "meta-viewport-large",
          "page-has-heading-one",
          "region"
        ],
        "failures": [
          {
            "rule": "meta-refresh",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-refresh?application=playwright",
            "impact": "critical",
            "wcagSc": [
              "wcag2a",
              "wcag221"
            ],
            "xpath": "meta[http-equiv=\"refresh\"]",
            "html": "<meta http-equiv=\"refresh\" content=\"360\">",
            "message": "Delayed refresh under 20 hours must not be used",
            "fixSummary": "Fix any of the following:\n  <meta> tag forces timed refresh of page (less than 20 hours)",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "860f23c8a99d",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-6b8a67f2"
          },
          {
            "rule": "meta-refresh",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-refresh?application=playwright",
            "impact": "critical",
            "wcagSc": [
              "wcag2a",
              "wcag221"
            ],
            "xpath": "meta[http-equiv=\"refresh\"]",
            "html": "<meta http-equiv=\"refresh\" content=\"360\">",
            "message": "Delayed refresh under 20 hours must not be used",
            "fixSummary": "Fix any of the following:\n  <meta> tag forces timed refresh of page (less than 20 hours)",
            "relatedPaths": null,
            "colorScheme": "dark",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "7db8e0ebc1d4",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-990698bd"
          }
        ],
        "outcomeCount": 246,
        "darkModeScanned": true,
        "mediaQuerySupport": {
          "darkMode": true,
          "reducedMotion": false,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 32,
          "failed": 2,
          "cantTell": 2,
          "inapplicable": 1
        },
        "failedRules": [
          "QW-ACT-R4",
          "QW-ACT-R71"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R12",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R28",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R63",
          "QW-ACT-R64",
          "QW-ACT-R73",
          "QW-ACT-R74",
          "QW-ACT-R75",
          "QW-ACT-R76"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R4",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/bc659a/",
            "description": "The test target refreshes after 360 seconds.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target refreshes after 360 seconds.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "44fbe152ae07",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-898c827a"
          },
          {
            "rule": "QW-ACT-R71",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/bisz58/",
            "description": "The test target refreshes after 360 seconds.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target refreshes after 360 seconds.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "6056bccdb869",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-d8565eb3"
          }
        ],
        "outcomeCount": 37,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/find-healthy-school",
      "finalUrl": "https://www.london.gov.uk/programmes-strategies/education-and-youth/schools-success/schools-success-mapped",
      "redirected": true,
      "statusCode": 403,
      "ok": false,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Just a moment...",
      "elapsedMs": 18222,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 116,
          "failed": 2,
          "cantTell": 0,
          "inapplicable": 128
        },
        "failedRules": [
          "meta-refresh"
        ],
        "passedRules": [
          "aria-allowed-role",
          "aria-deprecated-role",
          "aria-hidden-body",
          "aria-required-attr",
          "aria-roles",
          "avoid-inline-spacing",
          "bypass",
          "color-contrast",
          "document-title",
          "empty-heading",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-name",
          "meta-viewport",
          "meta-viewport-large",
          "page-has-heading-one",
          "region"
        ],
        "failures": [
          {
            "rule": "meta-refresh",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-refresh?application=playwright",
            "impact": "critical",
            "wcagSc": [
              "wcag2a",
              "wcag221"
            ],
            "xpath": "meta[http-equiv=\"refresh\"]",
            "html": "<meta http-equiv=\"refresh\" content=\"360\">",
            "message": "Delayed refresh under 20 hours must not be used",
            "fixSummary": "Fix any of the following:\n  <meta> tag forces timed refresh of page (less than 20 hours)",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "cc12e4e92ab4",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-6b8a67f2"
          },
          {
            "rule": "meta-refresh",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-refresh?application=playwright",
            "impact": "critical",
            "wcagSc": [
              "wcag2a",
              "wcag221"
            ],
            "xpath": "meta[http-equiv=\"refresh\"]",
            "html": "<meta http-equiv=\"refresh\" content=\"360\">",
            "message": "Delayed refresh under 20 hours must not be used",
            "fixSummary": "Fix any of the following:\n  <meta> tag forces timed refresh of page (less than 20 hours)",
            "relatedPaths": null,
            "colorScheme": "dark",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "93cc614b9758",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-990698bd"
          }
        ],
        "outcomeCount": 246,
        "darkModeScanned": true,
        "mediaQuerySupport": {
          "darkMode": true,
          "reducedMotion": false,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 32,
          "failed": 2,
          "cantTell": 2,
          "inapplicable": 1
        },
        "failedRules": [
          "QW-ACT-R4",
          "QW-ACT-R71"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R12",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R28",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R63",
          "QW-ACT-R64",
          "QW-ACT-R73",
          "QW-ACT-R74",
          "QW-ACT-R75",
          "QW-ACT-R76"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R4",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/bc659a/",
            "description": "The test target refreshes after 360 seconds.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target refreshes after 360 seconds.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "9a73ff5dd589",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-898c827a"
          },
          {
            "rule": "QW-ACT-R71",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/bisz58/",
            "description": "The test target refreshes after 360 seconds.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target refreshes after 360 seconds.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "e87122ccd066",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-d8565eb3"
          }
        ],
        "outcomeCount": 37,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/find-opportunities",
      "finalUrl": "https://www.london.gov.uk/programmes-strategies/volunteering/search/",
      "redirected": true,
      "statusCode": 403,
      "ok": false,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Just a moment...",
      "elapsedMs": 18285,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 116,
          "failed": 2,
          "cantTell": 0,
          "inapplicable": 128
        },
        "failedRules": [
          "meta-refresh"
        ],
        "passedRules": [
          "aria-allowed-role",
          "aria-deprecated-role",
          "aria-hidden-body",
          "aria-required-attr",
          "aria-roles",
          "avoid-inline-spacing",
          "bypass",
          "color-contrast",
          "document-title",
          "empty-heading",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-name",
          "meta-viewport",
          "meta-viewport-large",
          "page-has-heading-one",
          "region"
        ],
        "failures": [
          {
            "rule": "meta-refresh",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-refresh?application=playwright",
            "impact": "critical",
            "wcagSc": [
              "wcag2a",
              "wcag221"
            ],
            "xpath": "meta[http-equiv=\"refresh\"]",
            "html": "<meta http-equiv=\"refresh\" content=\"360\">",
            "message": "Delayed refresh under 20 hours must not be used",
            "fixSummary": "Fix any of the following:\n  <meta> tag forces timed refresh of page (less than 20 hours)",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "308273964936",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-6b8a67f2"
          },
          {
            "rule": "meta-refresh",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-refresh?application=playwright",
            "impact": "critical",
            "wcagSc": [
              "wcag2a",
              "wcag221"
            ],
            "xpath": "meta[http-equiv=\"refresh\"]",
            "html": "<meta http-equiv=\"refresh\" content=\"360\">",
            "message": "Delayed refresh under 20 hours must not be used",
            "fixSummary": "Fix any of the following:\n  <meta> tag forces timed refresh of page (less than 20 hours)",
            "relatedPaths": null,
            "colorScheme": "dark",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "080ab5d53b57",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-990698bd"
          }
        ],
        "outcomeCount": 246,
        "darkModeScanned": true,
        "mediaQuerySupport": {
          "darkMode": true,
          "reducedMotion": false,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 32,
          "failed": 2,
          "cantTell": 2,
          "inapplicable": 1
        },
        "failedRules": [
          "QW-ACT-R4",
          "QW-ACT-R71"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R12",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R28",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R63",
          "QW-ACT-R64",
          "QW-ACT-R73",
          "QW-ACT-R74",
          "QW-ACT-R75",
          "QW-ACT-R76"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R4",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/bc659a/",
            "description": "The test target refreshes after 360 seconds.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target refreshes after 360 seconds.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "98d177e8fcb4",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-898c827a"
          },
          {
            "rule": "QW-ACT-R71",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/bisz58/",
            "description": "The test target refreshes after 360 seconds.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target refreshes after 360 seconds.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "9f715e3b3fb1",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-d8565eb3"
          }
        ],
        "outcomeCount": 37,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/find-your-london-festival",
      "finalUrl": "https://www.london.gov.uk/events/2016-03-18/find-your-london/find-your-london-festival-map",
      "redirected": true,
      "statusCode": 404,
      "ok": false,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Sorry - page not found | London City Hall",
      "elapsedMs": 10679,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 830,
          "failed": 1,
          "cantTell": 2,
          "inapplicable": 43
        },
        "failedRules": [
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "3f48eb105626",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 876,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 1
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 591,
          "failed": 3,
          "cantTell": 79,
          "inapplicable": 3
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "9777c75a0cd7",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "5871f409edfa",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "7c49dd244520",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 676,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/programmes-strategies/accessibility/accessible-comms-policy",
      "finalUrl": "https://london.gov.uk/programmes-strategies/accessibility/accessible-comms-policy",
      "redirected": false,
      "statusCode": 403,
      "ok": false,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Just a moment...",
      "elapsedMs": 17614,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 116,
          "failed": 2,
          "cantTell": 0,
          "inapplicable": 128
        },
        "failedRules": [
          "meta-refresh"
        ],
        "passedRules": [
          "aria-allowed-role",
          "aria-deprecated-role",
          "aria-hidden-body",
          "aria-required-attr",
          "aria-roles",
          "avoid-inline-spacing",
          "bypass",
          "color-contrast",
          "document-title",
          "empty-heading",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-name",
          "meta-viewport",
          "meta-viewport-large",
          "page-has-heading-one",
          "region"
        ],
        "failures": [
          {
            "rule": "meta-refresh",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-refresh?application=playwright",
            "impact": "critical",
            "wcagSc": [
              "wcag2a",
              "wcag221"
            ],
            "xpath": "meta[http-equiv=\"refresh\"]",
            "html": "<meta http-equiv=\"refresh\" content=\"360\">",
            "message": "Delayed refresh under 20 hours must not be used",
            "fixSummary": "Fix any of the following:\n  <meta> tag forces timed refresh of page (less than 20 hours)",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "c1c7bbeadfd6",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-6b8a67f2"
          },
          {
            "rule": "meta-refresh",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-refresh?application=playwright",
            "impact": "critical",
            "wcagSc": [
              "wcag2a",
              "wcag221"
            ],
            "xpath": "meta[http-equiv=\"refresh\"]",
            "html": "<meta http-equiv=\"refresh\" content=\"360\">",
            "message": "Delayed refresh under 20 hours must not be used",
            "fixSummary": "Fix any of the following:\n  <meta> tag forces timed refresh of page (less than 20 hours)",
            "relatedPaths": null,
            "colorScheme": "dark",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "f4c4094b77bd",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-990698bd"
          }
        ],
        "outcomeCount": 246,
        "darkModeScanned": true,
        "mediaQuerySupport": {
          "darkMode": true,
          "reducedMotion": false,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 32,
          "failed": 2,
          "cantTell": 2,
          "inapplicable": 1
        },
        "failedRules": [
          "QW-ACT-R4",
          "QW-ACT-R71"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R12",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R28",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R63",
          "QW-ACT-R64",
          "QW-ACT-R73",
          "QW-ACT-R74",
          "QW-ACT-R75",
          "QW-ACT-R76"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R4",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/bc659a/",
            "description": "The test target refreshes after 360 seconds.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target refreshes after 360 seconds.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "c26c3b39f1ab",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-898c827a"
          },
          {
            "rule": "QW-ACT-R71",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/bisz58/",
            "description": "The test target refreshes after 360 seconds.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target refreshes after 360 seconds.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "b7d2f1efdc40",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-d8565eb3"
          }
        ],
        "outcomeCount": 37,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/programmes-strategies/communities-and-social-justice/european-londoners-hub/advice-and-support-services",
      "finalUrl": "https://london.gov.uk/programmes-strategies/communities-and-social-justice/european-londoners-hub/advice-and-support-services",
      "redirected": false,
      "statusCode": 403,
      "ok": false,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Just a moment...",
      "elapsedMs": 18213,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 116,
          "failed": 2,
          "cantTell": 0,
          "inapplicable": 128
        },
        "failedRules": [
          "meta-refresh"
        ],
        "passedRules": [
          "aria-allowed-role",
          "aria-deprecated-role",
          "aria-hidden-body",
          "aria-required-attr",
          "aria-roles",
          "avoid-inline-spacing",
          "bypass",
          "color-contrast",
          "document-title",
          "empty-heading",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-name",
          "meta-viewport",
          "meta-viewport-large",
          "page-has-heading-one",
          "region"
        ],
        "failures": [
          {
            "rule": "meta-refresh",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-refresh?application=playwright",
            "impact": "critical",
            "wcagSc": [
              "wcag2a",
              "wcag221"
            ],
            "xpath": "meta[http-equiv=\"refresh\"]",
            "html": "<meta http-equiv=\"refresh\" content=\"360\">",
            "message": "Delayed refresh under 20 hours must not be used",
            "fixSummary": "Fix any of the following:\n  <meta> tag forces timed refresh of page (less than 20 hours)",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "4d9dbec10622",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-6b8a67f2"
          },
          {
            "rule": "meta-refresh",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-refresh?application=playwright",
            "impact": "critical",
            "wcagSc": [
              "wcag2a",
              "wcag221"
            ],
            "xpath": "meta[http-equiv=\"refresh\"]",
            "html": "<meta http-equiv=\"refresh\" content=\"360\">",
            "message": "Delayed refresh under 20 hours must not be used",
            "fixSummary": "Fix any of the following:\n  <meta> tag forces timed refresh of page (less than 20 hours)",
            "relatedPaths": null,
            "colorScheme": "dark",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "d7ff4e938cee",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-990698bd"
          }
        ],
        "outcomeCount": 246,
        "darkModeScanned": true,
        "mediaQuerySupport": {
          "darkMode": true,
          "reducedMotion": false,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 32,
          "failed": 2,
          "cantTell": 2,
          "inapplicable": 1
        },
        "failedRules": [
          "QW-ACT-R4",
          "QW-ACT-R71"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R12",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R28",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R63",
          "QW-ACT-R64",
          "QW-ACT-R73",
          "QW-ACT-R74",
          "QW-ACT-R75",
          "QW-ACT-R76"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R4",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/bc659a/",
            "description": "The test target refreshes after 360 seconds.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target refreshes after 360 seconds.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "6d5c33d481fb",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-898c827a"
          },
          {
            "rule": "QW-ACT-R71",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/bisz58/",
            "description": "The test target refreshes after 360 seconds.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target refreshes after 360 seconds.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "297444e7f8a4",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-d8565eb3"
          }
        ],
        "outcomeCount": 37,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/programmes-strategies/communities-and-social-justice/help-cost-living/income-and-budgeting/debt-help/where-find-debt-advice",
      "finalUrl": "https://london.gov.uk/programmes-strategies/communities-and-social-justice/help-cost-living/income-and-budgeting/debt-help/where-find-debt-advice",
      "redirected": false,
      "statusCode": 403,
      "ok": false,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Just a moment...",
      "elapsedMs": 18188,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 116,
          "failed": 2,
          "cantTell": 0,
          "inapplicable": 128
        },
        "failedRules": [
          "meta-refresh"
        ],
        "passedRules": [
          "aria-allowed-role",
          "aria-deprecated-role",
          "aria-hidden-body",
          "aria-required-attr",
          "aria-roles",
          "avoid-inline-spacing",
          "bypass",
          "color-contrast",
          "document-title",
          "empty-heading",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-name",
          "meta-viewport",
          "meta-viewport-large",
          "page-has-heading-one",
          "region"
        ],
        "failures": [
          {
            "rule": "meta-refresh",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-refresh?application=playwright",
            "impact": "critical",
            "wcagSc": [
              "wcag2a",
              "wcag221"
            ],
            "xpath": "meta[http-equiv=\"refresh\"]",
            "html": "<meta http-equiv=\"refresh\" content=\"360\">",
            "message": "Delayed refresh under 20 hours must not be used",
            "fixSummary": "Fix any of the following:\n  <meta> tag forces timed refresh of page (less than 20 hours)",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "dc4c49e33166",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-6b8a67f2"
          },
          {
            "rule": "meta-refresh",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-refresh?application=playwright",
            "impact": "critical",
            "wcagSc": [
              "wcag2a",
              "wcag221"
            ],
            "xpath": "meta[http-equiv=\"refresh\"]",
            "html": "<meta http-equiv=\"refresh\" content=\"360\">",
            "message": "Delayed refresh under 20 hours must not be used",
            "fixSummary": "Fix any of the following:\n  <meta> tag forces timed refresh of page (less than 20 hours)",
            "relatedPaths": null,
            "colorScheme": "dark",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "3ecb1489d710",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-990698bd"
          }
        ],
        "outcomeCount": 246,
        "darkModeScanned": true,
        "mediaQuerySupport": {
          "darkMode": true,
          "reducedMotion": false,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 32,
          "failed": 2,
          "cantTell": 2,
          "inapplicable": 1
        },
        "failedRules": [
          "QW-ACT-R4",
          "QW-ACT-R71"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R12",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R28",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R63",
          "QW-ACT-R64",
          "QW-ACT-R73",
          "QW-ACT-R74",
          "QW-ACT-R75",
          "QW-ACT-R76"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R4",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/bc659a/",
            "description": "The test target refreshes after 360 seconds.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target refreshes after 360 seconds.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "7641f5f51918",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-898c827a"
          },
          {
            "rule": "QW-ACT-R71",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/bisz58/",
            "description": "The test target refreshes after 360 seconds.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target refreshes after 360 seconds.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "2ddfee7e61a1",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-d8565eb3"
          }
        ],
        "outcomeCount": 37,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/programmes-strategies/education-and-youth/young-londoners/new-deal-young-people/find-resources-mentoring-programmes/mentoring-and-mental-health-support-programme-funding-2026-27",
      "finalUrl": "https://london.gov.uk/programmes-strategies/education-and-youth/young-londoners/new-deal-young-people/find-resources-mentoring-programmes/mentoring-and-mental-health-support-programme-funding-2026-27",
      "redirected": false,
      "statusCode": 403,
      "ok": false,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Just a moment...",
      "elapsedMs": 18047,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 116,
          "failed": 2,
          "cantTell": 0,
          "inapplicable": 128
        },
        "failedRules": [
          "meta-refresh"
        ],
        "passedRules": [
          "aria-allowed-role",
          "aria-deprecated-role",
          "aria-hidden-body",
          "aria-required-attr",
          "aria-roles",
          "avoid-inline-spacing",
          "bypass",
          "color-contrast",
          "document-title",
          "empty-heading",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-name",
          "meta-viewport",
          "meta-viewport-large",
          "page-has-heading-one",
          "region"
        ],
        "failures": [
          {
            "rule": "meta-refresh",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-refresh?application=playwright",
            "impact": "critical",
            "wcagSc": [
              "wcag2a",
              "wcag221"
            ],
            "xpath": "meta[http-equiv=\"refresh\"]",
            "html": "<meta http-equiv=\"refresh\" content=\"360\">",
            "message": "Delayed refresh under 20 hours must not be used",
            "fixSummary": "Fix any of the following:\n  <meta> tag forces timed refresh of page (less than 20 hours)",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "40093779f682",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-6b8a67f2"
          },
          {
            "rule": "meta-refresh",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-refresh?application=playwright",
            "impact": "critical",
            "wcagSc": [
              "wcag2a",
              "wcag221"
            ],
            "xpath": "meta[http-equiv=\"refresh\"]",
            "html": "<meta http-equiv=\"refresh\" content=\"360\">",
            "message": "Delayed refresh under 20 hours must not be used",
            "fixSummary": "Fix any of the following:\n  <meta> tag forces timed refresh of page (less than 20 hours)",
            "relatedPaths": null,
            "colorScheme": "dark",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "aa7ec7c0c573",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-990698bd"
          }
        ],
        "outcomeCount": 246,
        "darkModeScanned": true,
        "mediaQuerySupport": {
          "darkMode": true,
          "reducedMotion": false,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 32,
          "failed": 2,
          "cantTell": 2,
          "inapplicable": 1
        },
        "failedRules": [
          "QW-ACT-R4",
          "QW-ACT-R71"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R12",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R28",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R63",
          "QW-ACT-R64",
          "QW-ACT-R73",
          "QW-ACT-R74",
          "QW-ACT-R75",
          "QW-ACT-R76"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R4",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/bc659a/",
            "description": "The test target refreshes after 360 seconds.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target refreshes after 360 seconds.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "1907f8386e6c",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-898c827a"
          },
          {
            "rule": "QW-ACT-R71",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/bisz58/",
            "description": "The test target refreshes after 360 seconds.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target refreshes after 360 seconds.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "59af97387ea5",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-d8565eb3"
          }
        ],
        "outcomeCount": 37,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/programmes-strategies/mayors-office-policing-and-crime/services-we-fund/supporting-victims-and-witnesses",
      "finalUrl": "https://london.gov.uk/programmes-strategies/mayors-office-policing-and-crime/services-we-fund/supporting-victims-and-witnesses",
      "redirected": false,
      "statusCode": 403,
      "ok": false,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Just a moment...",
      "elapsedMs": 18099,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 116,
          "failed": 2,
          "cantTell": 0,
          "inapplicable": 128
        },
        "failedRules": [
          "meta-refresh"
        ],
        "passedRules": [
          "aria-allowed-role",
          "aria-deprecated-role",
          "aria-hidden-body",
          "aria-required-attr",
          "aria-roles",
          "avoid-inline-spacing",
          "bypass",
          "color-contrast",
          "document-title",
          "empty-heading",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-name",
          "meta-viewport",
          "meta-viewport-large",
          "page-has-heading-one",
          "region"
        ],
        "failures": [
          {
            "rule": "meta-refresh",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-refresh?application=playwright",
            "impact": "critical",
            "wcagSc": [
              "wcag2a",
              "wcag221"
            ],
            "xpath": "meta[http-equiv=\"refresh\"]",
            "html": "<meta http-equiv=\"refresh\" content=\"360\">",
            "message": "Delayed refresh under 20 hours must not be used",
            "fixSummary": "Fix any of the following:\n  <meta> tag forces timed refresh of page (less than 20 hours)",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "2b5e214366cb",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-6b8a67f2"
          },
          {
            "rule": "meta-refresh",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-refresh?application=playwright",
            "impact": "critical",
            "wcagSc": [
              "wcag2a",
              "wcag221"
            ],
            "xpath": "meta[http-equiv=\"refresh\"]",
            "html": "<meta http-equiv=\"refresh\" content=\"360\">",
            "message": "Delayed refresh under 20 hours must not be used",
            "fixSummary": "Fix any of the following:\n  <meta> tag forces timed refresh of page (less than 20 hours)",
            "relatedPaths": null,
            "colorScheme": "dark",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "5d36830e46a4",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-990698bd"
          }
        ],
        "outcomeCount": 246,
        "darkModeScanned": true,
        "mediaQuerySupport": {
          "darkMode": true,
          "reducedMotion": false,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 32,
          "failed": 2,
          "cantTell": 2,
          "inapplicable": 1
        },
        "failedRules": [
          "QW-ACT-R4",
          "QW-ACT-R71"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R12",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R28",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R63",
          "QW-ACT-R64",
          "QW-ACT-R73",
          "QW-ACT-R74",
          "QW-ACT-R75",
          "QW-ACT-R76"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R4",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/bc659a/",
            "description": "The test target refreshes after 360 seconds.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target refreshes after 360 seconds.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "b9286322183c",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-898c827a"
          },
          {
            "rule": "QW-ACT-R71",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/bisz58/",
            "description": "The test target refreshes after 360 seconds.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target refreshes after 360 seconds.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "5b4bd4414850",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-d8565eb3"
          }
        ],
        "outcomeCount": 37,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/what-affordable-home-and-how-can-i-find-one",
      "finalUrl": "https://www.london.gov.uk/what-affordable-home-and-how-can-i-find-one",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "What is an affordable home and how can I find one? | London City Hall",
      "elapsedMs": 10514,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 963,
          "failed": 3,
          "cantTell": 1,
          "inapplicable": 42
        },
        "failedRules": [
          "heading-order",
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-in-text-block",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "heading-order",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/heading-order?application=playwright",
            "impact": "moderate",
            "wcagSc": [],
            "xpath": ".u-space-y-4 > h3",
            "html": "<h3 class=\"h3\">\n                    Related questions\n            </h3>",
            "message": "Heading levels should only increase by one",
            "fixSummary": "Fix any of the following:\n  Heading order invalid",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "1f62327af10a",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-266efff9"
          },
          {
            "rule": "heading-order",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/heading-order?application=playwright",
            "impact": "moderate",
            "wcagSc": [],
            "xpath": "h5",
            "html": "<h5 class=\"h5\">\n                    General\n            </h5>",
            "message": "Heading levels should only increase by one",
            "fixSummary": "Fix any of the following:\n  Heading order invalid",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "26f0629c185a",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-d1199dad"
          },
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "ba0cb8335751",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 1009,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 659,
          "failed": 3,
          "cantTell": 107,
          "inapplicable": 3
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "6aacc5ef7982",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "04264ee7716c",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "32797201b755",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 772,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/who-we-are/city-halls-buildings-and-squares/accessibility-city-hall",
      "finalUrl": "https://www.london.gov.uk/who-we-are/city-halls-buildings-and-squares/accessibility-city-hall",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Accessibility at City Hall | London City Hall",
      "elapsedMs": 11174,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 1381,
          "failed": 1,
          "cantTell": 3,
          "inapplicable": 40
        },
        "failedRules": [
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-complementary-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-in-text-block",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "presentation-role-conflict",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "dbe70ebd9237",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 1425,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 1
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 856,
          "failed": 3,
          "cantTell": 176,
          "inapplicable": 7
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R48",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "cac2cb694f56",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "cf2c8268bebb",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "5cc77aa10563",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 1042,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/workshop-findings",
      "finalUrl": "https://www.london.gov.uk/publications/festival-ideas-workshop-findings",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Festival of Ideas Workshop Findings | London City Hall",
      "elapsedMs": 13289,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 1866,
          "failed": 10,
          "cantTell": 1,
          "inapplicable": 38
        },
        "failedRules": [
          "empty-table-header",
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "empty-table-header",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-in-text-block",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "table-duplicate-name",
          "td-headers-attr",
          "th-has-data-cells",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "empty-table-header",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/empty-table-header?application=playwright",
            "impact": "minor",
            "wcagSc": [],
            "xpath": "tr:nth-child(2) > th",
            "html": "<th>&nbsp;</th>",
            "message": "Table header text should not be empty",
            "fixSummary": "Fix any of the following:\n  Element does not have text that is visible to screen readers",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "8a05dbe792c9",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-1bde8d97"
          },
          {
            "rule": "empty-table-header",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/empty-table-header?application=playwright",
            "impact": "minor",
            "wcagSc": [],
            "xpath": "tr:nth-child(3) > th",
            "html": "<th>&nbsp;</th>",
            "message": "Table header text should not be empty",
            "fixSummary": "Fix any of the following:\n  Element does not have text that is visible to screen readers",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "881f08eccca3",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-9454e6a0"
          },
          {
            "rule": "empty-table-header",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/empty-table-header?application=playwright",
            "impact": "minor",
            "wcagSc": [],
            "xpath": "tr:nth-child(5) > th",
            "html": "<th>&nbsp;</th>",
            "message": "Table header text should not be empty",
            "fixSummary": "Fix any of the following:\n  Element does not have text that is visible to screen readers",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "ff703d2a55ac",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-1ff91ea4"
          },
          {
            "rule": "empty-table-header",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/empty-table-header?application=playwright",
            "impact": "minor",
            "wcagSc": [],
            "xpath": "tr:nth-child(6) > th",
            "html": "<th>&nbsp;</th>",
            "message": "Table header text should not be empty",
            "fixSummary": "Fix any of the following:\n  Element does not have text that is visible to screen readers",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "ccab4eda0a9c",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-30bfced2"
          },
          {
            "rule": "empty-table-header",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/empty-table-header?application=playwright",
            "impact": "minor",
            "wcagSc": [],
            "xpath": "tr:nth-child(7) > th",
            "html": "<th>&nbsp;</th>",
            "message": "Table header text should not be empty",
            "fixSummary": "Fix any of the following:\n  Element does not have text that is visible to screen readers",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "43ff290aeec2",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-7ceb532d"
          },
          {
            "rule": "empty-table-header",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/empty-table-header?application=playwright",
            "impact": "minor",
            "wcagSc": [],
            "xpath": "tr:nth-child(8) > th",
            "html": "<th>&nbsp;</th>",
            "message": "Table header text should not be empty",
            "fixSummary": "Fix any of the following:\n  Element does not have text that is visible to screen readers",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "209c4f638ff4",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-c62346f6"
          },
          {
            "rule": "empty-table-header",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/empty-table-header?application=playwright",
            "impact": "minor",
            "wcagSc": [],
            "xpath": "tr:nth-child(10) > th",
            "html": "<th>&nbsp;</th>",
            "message": "Table header text should not be empty",
            "fixSummary": "Fix any of the following:\n  Element does not have text that is visible to screen readers",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "92f736e177f6",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-ef293d23"
          },
          {
            "rule": "empty-table-header",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/empty-table-header?application=playwright",
            "impact": "minor",
            "wcagSc": [],
            "xpath": "tr:nth-child(11) > th",
            "html": "<th>&nbsp;</th>",
            "message": "Table header text should not be empty",
            "fixSummary": "Fix any of the following:\n  Element does not have text that is visible to screen readers",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "e25dfc83a346",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-3d9bbc62"
          },
          {
            "rule": "empty-table-header",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/empty-table-header?application=playwright",
            "impact": "minor",
            "wcagSc": [],
            "xpath": "tr:nth-child(12) > th",
            "html": "<th>&nbsp;</th>",
            "message": "Table header text should not be empty",
            "fixSummary": "Fix any of the following:\n  Element does not have text that is visible to screen readers",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "9ad18ec82acc",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-7da72295"
          },
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "2f20eb646547",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 1915,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 10
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 1181,
          "failed": 15,
          "cantTell": 324,
          "inapplicable": 7
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R39",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "035b291b20f0",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "f8297a35e0ea",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "01ca1744031e",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          }
        ],
        "outcomeCount": 1527,
        "duplicateFailedCount": 12,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 12
    },
    {
      "submittedUrl": "https://london.gov.uk/city-hall-blog/do-you-have-rogue-landlord-find-out-here",
      "finalUrl": "https://www.london.gov.uk/city-hall-blog/do-you-have-rogue-landlord-find-out-here",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Do you have a rogue landlord? Find out here | London City Hall",
      "elapsedMs": 10480,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 993,
          "failed": 1,
          "cantTell": 1,
          "inapplicable": 42
        },
        "failedRules": [
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-in-text-block",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "b807777d7ff2",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 1037,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 1
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 682,
          "failed": 3,
          "cantTell": 107,
          "inapplicable": 7
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "9be6826d38ec",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "29ca2985a70a",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "dcebf8166f15",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 799,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/city-hall-blog/find-out-how-our-empty-land-being-used-benefit-londoners",
      "finalUrl": "https://www.london.gov.uk/city-hall-blog/find-out-how-our-empty-land-being-used-benefit-londoners",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Find out how our empty land is being used to benefit Londoners | London City Hall",
      "elapsedMs": 12164,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 962,
          "failed": 1,
          "cantTell": 1,
          "inapplicable": 43
        },
        "failedRules": [
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "7056d3f757c9",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 1007,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 1
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 654,
          "failed": 3,
          "cantTell": 92,
          "inapplicable": 7
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "dd97605f3f2e",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "9803b30cb91a",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "743a70e14949",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 756,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/city-hall-blog/finding-ways-get-more-women-cleantech-and-keep-them-there",
      "finalUrl": "https://www.london.gov.uk/city-hall-blog/finding-ways-get-more-women-cleantech-and-keep-them-there",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Finding ways to get more women into cleantech – and keep them there! | London City Hall",
      "elapsedMs": 11136,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 1001,
          "failed": 2,
          "cantTell": 1,
          "inapplicable": 42
        },
        "failedRules": [
          "heading-order",
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-in-text-block",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "heading-order",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/heading-order?application=playwright",
            "impact": "moderate",
            "wcagSc": [],
            "xpath": "#by-karen-lawrence-commissioner-on-the-london-sustainable-development-commission",
            "html": "<h4 id=\"by-karen-lawrence-commissioner-on-the-london-sustainable-development-commission\">",
            "message": "Heading levels should only increase by one",
            "fixSummary": "Fix any of the following:\n  Heading order invalid",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "36e4090064b3",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-70495b74"
          },
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "be3bfae637af",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 1046,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 678,
          "failed": 3,
          "cantTell": 104,
          "inapplicable": 7
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "32e57033abeb",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "319a939d505e",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "eebc6d9a0156",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 792,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/city-hall-blog/step-outside-and-find-your-london-spring",
      "finalUrl": "https://www.london.gov.uk/city-hall-blog/step-outside-and-find-your-london-spring",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Step outside and Find Your London this spring | London City Hall",
      "elapsedMs": 11089,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 957,
          "failed": 1,
          "cantTell": 1,
          "inapplicable": 43
        },
        "failedRules": [
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "4cb44a9c74f7",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 1002,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 1
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 653,
          "failed": 3,
          "cantTell": 92,
          "inapplicable": 7
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "cb5b7ba53bb7",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "4c6eea488803",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "b039b91c04fd",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 755,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/city-hall-blog/where-find-best-londons-culture-online",
      "finalUrl": "https://www.london.gov.uk/city-hall-blog/where-find-best-londons-culture-online",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Where to find the best of London’s culture online | London City Hall",
      "elapsedMs": 13411,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 1551,
          "failed": 1,
          "cantTell": 3,
          "inapplicable": 35
        },
        "failedRules": [
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-toggle-field-name",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "frame-tested",
          "frame-title",
          "frame-title-unique",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "input-button-name",
          "label",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-in-text-block",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "presentation-role-conflict",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "029e0581604e",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 1590,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 1
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 916,
          "failed": 3,
          "cantTell": 183,
          "inapplicable": 7
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R16",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R48",
          "QW-ACT-R5",
          "QW-ACT-R63",
          "QW-ACT-R64",
          "QW-ACT-R65",
          "QW-ACT-R70",
          "QW-ACT-R73",
          "QW-ACT-R75",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "f95dd4814bec",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "08e66102d112",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "618832e9dd95",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 1109,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/programmes-and-strategies/environment-and-climate-change/energy/renew-0/renew-support",
      "finalUrl": "https://www.london.gov.uk/programmes-and-strategies/environment-and-climate-change/energy/renew-0/renew-support",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "RE:NEW support | London City Hall",
      "elapsedMs": 10746,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 1153,
          "failed": 1,
          "cantTell": 2,
          "inapplicable": 39
        },
        "failedRules": [
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-in-text-block",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "table-duplicate-name",
          "td-headers-attr",
          "th-has-data-cells",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "a981eb982673",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 1195,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 1
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 749,
          "failed": 20,
          "cantTell": 149,
          "inapplicable": 7
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "cd787359a779",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "b639d46324a2",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "43887a3c8f73",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          }
        ],
        "outcomeCount": 925,
        "duplicateFailedCount": 17,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 17
    },
    {
      "submittedUrl": "https://london.gov.uk/programmes-strategies/arts-and-culture/space-culture/help-resources-and-guidance/space-register",
      "finalUrl": "https://london.gov.uk/programmes-strategies/arts-and-culture/space-culture/help-resources-and-guidance/space-register",
      "redirected": false,
      "statusCode": 403,
      "ok": false,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Just a moment...",
      "elapsedMs": 18355,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 116,
          "failed": 2,
          "cantTell": 0,
          "inapplicable": 128
        },
        "failedRules": [
          "meta-refresh"
        ],
        "passedRules": [
          "aria-allowed-role",
          "aria-deprecated-role",
          "aria-hidden-body",
          "aria-required-attr",
          "aria-roles",
          "avoid-inline-spacing",
          "bypass",
          "color-contrast",
          "document-title",
          "empty-heading",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-name",
          "meta-viewport",
          "meta-viewport-large",
          "page-has-heading-one",
          "region"
        ],
        "failures": [
          {
            "rule": "meta-refresh",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-refresh?application=playwright",
            "impact": "critical",
            "wcagSc": [
              "wcag2a",
              "wcag221"
            ],
            "xpath": "meta[http-equiv=\"refresh\"]",
            "html": "<meta http-equiv=\"refresh\" content=\"360\">",
            "message": "Delayed refresh under 20 hours must not be used",
            "fixSummary": "Fix any of the following:\n  <meta> tag forces timed refresh of page (less than 20 hours)",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "65ede0e061c4",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-6b8a67f2"
          },
          {
            "rule": "meta-refresh",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-refresh?application=playwright",
            "impact": "critical",
            "wcagSc": [
              "wcag2a",
              "wcag221"
            ],
            "xpath": "meta[http-equiv=\"refresh\"]",
            "html": "<meta http-equiv=\"refresh\" content=\"360\">",
            "message": "Delayed refresh under 20 hours must not be used",
            "fixSummary": "Fix any of the following:\n  <meta> tag forces timed refresh of page (less than 20 hours)",
            "relatedPaths": null,
            "colorScheme": "dark",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "0d5162e5db27",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-990698bd"
          }
        ],
        "outcomeCount": 246,
        "darkModeScanned": true,
        "mediaQuerySupport": {
          "darkMode": true,
          "reducedMotion": false,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 32,
          "failed": 2,
          "cantTell": 2,
          "inapplicable": 1
        },
        "failedRules": [
          "QW-ACT-R4",
          "QW-ACT-R71"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R12",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R28",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R63",
          "QW-ACT-R64",
          "QW-ACT-R73",
          "QW-ACT-R74",
          "QW-ACT-R75",
          "QW-ACT-R76"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R4",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/bc659a/",
            "description": "The test target refreshes after 360 seconds.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target refreshes after 360 seconds.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "671b35b0bbea",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-898c827a"
          },
          {
            "rule": "QW-ACT-R71",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/bisz58/",
            "description": "The test target refreshes after 360 seconds.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target refreshes after 360 seconds.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "02dccbae8ac2",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-d8565eb3"
          }
        ],
        "outcomeCount": 37,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/programmes-strategies/education-and-youth/healthy-early-years-london-and-healthy-schools-london/accessibility-statement-healthy-early-years-london-and-healthy-schools-london",
      "finalUrl": "https://london.gov.uk/programmes-strategies/education-and-youth/healthy-early-years-london-and-healthy-schools-london/accessibility-statement-healthy-early-years-london-and-healthy-schools-london",
      "redirected": false,
      "statusCode": 403,
      "ok": false,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Just a moment...",
      "elapsedMs": 18085,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 116,
          "failed": 2,
          "cantTell": 0,
          "inapplicable": 128
        },
        "failedRules": [
          "meta-refresh"
        ],
        "passedRules": [
          "aria-allowed-role",
          "aria-deprecated-role",
          "aria-hidden-body",
          "aria-required-attr",
          "aria-roles",
          "avoid-inline-spacing",
          "bypass",
          "color-contrast",
          "document-title",
          "empty-heading",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-name",
          "meta-viewport",
          "meta-viewport-large",
          "page-has-heading-one",
          "region"
        ],
        "failures": [
          {
            "rule": "meta-refresh",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-refresh?application=playwright",
            "impact": "critical",
            "wcagSc": [
              "wcag2a",
              "wcag221"
            ],
            "xpath": "meta[http-equiv=\"refresh\"]",
            "html": "<meta http-equiv=\"refresh\" content=\"360\">",
            "message": "Delayed refresh under 20 hours must not be used",
            "fixSummary": "Fix any of the following:\n  <meta> tag forces timed refresh of page (less than 20 hours)",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "4872ff5f8377",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-6b8a67f2"
          },
          {
            "rule": "meta-refresh",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-refresh?application=playwright",
            "impact": "critical",
            "wcagSc": [
              "wcag2a",
              "wcag221"
            ],
            "xpath": "meta[http-equiv=\"refresh\"]",
            "html": "<meta http-equiv=\"refresh\" content=\"360\">",
            "message": "Delayed refresh under 20 hours must not be used",
            "fixSummary": "Fix any of the following:\n  <meta> tag forces timed refresh of page (less than 20 hours)",
            "relatedPaths": null,
            "colorScheme": "dark",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "dec3ea988e5f",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-990698bd"
          }
        ],
        "outcomeCount": 246,
        "darkModeScanned": true,
        "mediaQuerySupport": {
          "darkMode": true,
          "reducedMotion": false,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 32,
          "failed": 2,
          "cantTell": 2,
          "inapplicable": 1
        },
        "failedRules": [
          "QW-ACT-R4",
          "QW-ACT-R71"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R12",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R28",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R63",
          "QW-ACT-R64",
          "QW-ACT-R73",
          "QW-ACT-R74",
          "QW-ACT-R75",
          "QW-ACT-R76"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R4",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/bc659a/",
            "description": "The test target refreshes after 360 seconds.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target refreshes after 360 seconds.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "c9543f7227ba",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-898c827a"
          },
          {
            "rule": "QW-ACT-R71",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/bisz58/",
            "description": "The test target refreshes after 360 seconds.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target refreshes after 360 seconds.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "3896b0b67a31",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-d8565eb3"
          }
        ],
        "outcomeCount": 37,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/warmer-homes-faqs/where-can-i-find-out-more-about-different-kinds-improvements",
      "finalUrl": "https://www.london.gov.uk/warmer-homes-faqs/where-can-i-find-out-more-about-different-kinds-improvements",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Where can I find out more about the different kinds of improvements? | London City Hall",
      "elapsedMs": 11689,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 1392,
          "failed": 3,
          "cantTell": 1,
          "inapplicable": 42
        },
        "failedRules": [
          "heading-order",
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-in-text-block",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "heading-order",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/heading-order?application=playwright",
            "impact": "moderate",
            "wcagSc": [],
            "xpath": ".u-space-y-4 > h3",
            "html": "<h3 class=\"h3\">\n                    Related questions\n            </h3>",
            "message": "Heading levels should only increase by one",
            "fixSummary": "Fix any of the following:\n  Heading order invalid",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "4d38b6f19b0b",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-266efff9"
          },
          {
            "rule": "heading-order",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/heading-order?application=playwright",
            "impact": "moderate",
            "wcagSc": [],
            "xpath": ".u-mb-10:nth-child(1) > .u-bg-off-white.u-p-6.sm\\:u-px-12 > h5",
            "html": "<h5 class=\"h5\">\n                    Eligibility\n            </h5>",
            "message": "Heading levels should only increase by one",
            "fixSummary": "Fix any of the following:\n  Heading order invalid",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "d36b9ff1b427",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-64194828"
          },
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "fc0075a80b36",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 1438,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 873,
          "failed": 4,
          "cantTell": 195,
          "inapplicable": 3
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R16",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "960810498722",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "0f117d83c844",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "9523400de891",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          }
        ],
        "outcomeCount": 1075,
        "duplicateFailedCount": 1,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 1
    },
    {
      "submittedUrl": "https://london.gov.uk/who-we-are/what-london-assembly-does/assembly-members/publications-tom-copley/centre-stage-report-supporting",
      "finalUrl": "https://www.london.gov.uk/who-we-are/what-london-assembly-does/assembly-members/publications-tom-copley/centre-stage-report-supporting",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Centre Stage Report: Supporting Small Theatres in the capital | London City Hall",
      "elapsedMs": 10700,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 970,
          "failed": 1,
          "cantTell": 1,
          "inapplicable": 42
        },
        "failedRules": [
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-in-text-block",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "62b88a25978d",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 1014,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 1
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 665,
          "failed": 3,
          "cantTell": 96,
          "inapplicable": 7
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "aa3e75c0b0ad",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "4f52206c001c",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "5d52da857d88",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 771,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/who-we-are/what-london-assembly-does/questions-mayor/accessibility-statement-mayors-question-time",
      "finalUrl": "https://www.london.gov.uk/who-we-are/what-london-assembly-does/questions-mayor/accessibility-statement-mayors-question-time",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Accessibility statement for Mayor&#039;s Question Time | London City Hall",
      "elapsedMs": 11490,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 1178,
          "failed": 1,
          "cantTell": 2,
          "inapplicable": 42
        },
        "failedRules": [
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-in-text-block",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "1af253066068",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 1223,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 1
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 781,
          "failed": 3,
          "cantTell": 151,
          "inapplicable": 7
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R67",
          "QW-ACT-R68",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "1068bd95e8f1",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "359b9cda4acc",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "74e1bd6e2be5",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 942,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/apply-access",
      "finalUrl": "https://www.london.gov.uk/media-centre",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Media centre | London City Hall",
      "elapsedMs": 10537,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 1022,
          "failed": 3,
          "cantTell": 3,
          "inapplicable": 43
        },
        "failedRules": [
          "landmark-unique",
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "landmark-unique",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/landmark-unique?application=playwright",
            "impact": "moderate",
            "wcagSc": [],
            "xpath": ".layout__region--first > .u-items-baseline.u-h-full > .layout__region.u-space-y-1.u-w-full > section",
            "html": "<section class=\"u-space-y-6 u-p-6 sm:u-p-12 md:u-p-7 lg:u-p-8 xl:u-p-12 xl:u-p-11 xxl:u-p-10 u-bg-off-white has-light-bg\" aria-labelledby=\"key-info-heading\">",
            "message": "Landmarks should have a unique role or role/label/title (i.e. accessible name) combination",
            "fixSummary": "Fix any of the following:\n  The landmark must have a unique aria-label, aria-labelledby, or title to make landmarks distinguishable",
            "relatedPaths": [
              ".layout__region--second > .u-items-baseline.u-h-full > .layout__region.u-space-y-1.u-w-full > section"
            ],
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "5adfe10bbf88",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-387a74c5"
          },
          {
            "rule": "landmark-unique",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/landmark-unique?application=playwright",
            "impact": "moderate",
            "wcagSc": [],
            "xpath": ".layout__region--first > .u-items-baseline.u-h-full > .layout__region.u-space-y-1.u-w-full > section > nav",
            "html": "<nav>",
            "message": "Landmarks should have a unique role or role/label/title (i.e. accessible name) combination",
            "fixSummary": "Fix any of the following:\n  The landmark must have a unique aria-label, aria-labelledby, or title to make landmarks distinguishable",
            "relatedPaths": [
              ".layout__region--second > .u-items-baseline.u-h-full > .layout__region.u-space-y-1.u-w-full > section > nav"
            ],
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "b8ae3e38168f",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-c0c74dd8"
          },
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "6f78ec79903c",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 1071,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 694,
          "failed": 3,
          "cantTell": 104,
          "inapplicable": 7
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "62780441f25d",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "11383cafc4b8",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "23d1af843a5e",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 808,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/apply-settled-status",
      "finalUrl": "https://www.gov.uk/settled-status-eu-citizens-families/applying-for-settled-status",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=utf-8",
      "pageTitle": "Apply to the EU Settlement Scheme (settled and pre-settled status): Apply to the EU Settlement Scheme - GOV.UK",
      "elapsedMs": 8212,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 996,
          "failed": 3,
          "cantTell": 0,
          "inapplicable": 46
        },
        "failedRules": [
          "region"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "landmark-banner-is-top-level",
          "landmark-complementary-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-in-text-block",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "presentation-role-conflict",
          "region",
          "scrollable-region-focusable",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "region",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/region?application=playwright",
            "impact": "moderate",
            "wcagSc": [],
            "xpath": "body > .gem-c-skip-link.govuk-skip-link[data-module=\"govuk-skip-link\"]",
            "html": "<a data-module=\"govuk-skip-link\" class=\"gem-c-skip-link govuk-skip-link govuk-!-display-none-print\" href=\"#content\" data-govuk-skip-link-init=\"\" data-govuk-skip-link-module-started=\"true\">Skip to main content</a>",
            "message": "All page content should be contained by landmarks",
            "fixSummary": "Fix any of the following:\n  Some page content is not contained by landmarks",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "2c0c9c8d2ac0",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-17f14dd9"
          },
          {
            "rule": "region",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/region?application=playwright",
            "impact": "moderate",
            "wcagSc": [],
            "xpath": ".gem-c-step-nav-header",
            "html": "<div data-module=\"ga4-link-tracker\" class=\"gem-c-step-nav-header\" title=\"Stay in the UK ('settled status'): step by step\" data-ga4-link-tracker-module-started=\"true\">",
            "message": "All page content should be contained by landmarks",
            "fixSummary": "Fix any of the following:\n  Some page content is not contained by landmarks",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "9b7d2a0f2c73",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-7fba6c80"
          },
          {
            "rule": "region",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/region?application=playwright",
            "impact": "moderate",
            "wcagSc": [],
            "xpath": ".gem-c-feedback__prompt-question",
            "html": "<h2 class=\"gem-c-feedback__prompt-question\">Is this page useful?</h2>",
            "message": "All page content should be contained by landmarks",
            "fixSummary": "Fix any of the following:\n  Some page content is not contained by landmarks",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "4ef6b4ee4a2c",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-5ca4b7d6"
          }
        ],
        "outcomeCount": 1045,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": false,
          "highContrast": false,
          "forcedColors": true,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 578,
          "failed": 44,
          "cantTell": 99,
          "inapplicable": 1
        },
        "failedRules": [
          "QW-ACT-R30",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R44",
          "QW-ACT-R48",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R30",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/2ee8b8/",
            "description": "The complete visible text content of the test target neither matches or is contained within its accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The complete visible text content of the test target neither matches or is contained within its accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "0dd85fbd7918",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-e555095c"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "2c68b407e164",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          }
        ],
        "outcomeCount": 722,
        "duplicateFailedCount": 42,
        "uniqueFailedCount": 2,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 42
    },
    {
      "submittedUrl": "https://london.gov.uk/bookshop-sales-assistant",
      "finalUrl": "https://www.london.gov.uk/programmes-strategies/volunteering/resources-organisations-social-enterprises-and-charities/changes-team-london-volunteering-website-faqs",
      "redirected": true,
      "statusCode": 403,
      "ok": false,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Just a moment...",
      "elapsedMs": 18738,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 116,
          "failed": 2,
          "cantTell": 0,
          "inapplicable": 128
        },
        "failedRules": [
          "meta-refresh"
        ],
        "passedRules": [
          "aria-allowed-role",
          "aria-deprecated-role",
          "aria-hidden-body",
          "aria-required-attr",
          "aria-roles",
          "avoid-inline-spacing",
          "bypass",
          "color-contrast",
          "document-title",
          "empty-heading",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-name",
          "meta-viewport",
          "meta-viewport-large",
          "page-has-heading-one",
          "region"
        ],
        "failures": [
          {
            "rule": "meta-refresh",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-refresh?application=playwright",
            "impact": "critical",
            "wcagSc": [
              "wcag2a",
              "wcag221"
            ],
            "xpath": "meta[http-equiv=\"refresh\"]",
            "html": "<meta http-equiv=\"refresh\" content=\"360\">",
            "message": "Delayed refresh under 20 hours must not be used",
            "fixSummary": "Fix any of the following:\n  <meta> tag forces timed refresh of page (less than 20 hours)",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "16ed0a7f683b",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-6b8a67f2"
          },
          {
            "rule": "meta-refresh",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-refresh?application=playwright",
            "impact": "critical",
            "wcagSc": [
              "wcag2a",
              "wcag221"
            ],
            "xpath": "meta[http-equiv=\"refresh\"]",
            "html": "<meta http-equiv=\"refresh\" content=\"360\">",
            "message": "Delayed refresh under 20 hours must not be used",
            "fixSummary": "Fix any of the following:\n  <meta> tag forces timed refresh of page (less than 20 hours)",
            "relatedPaths": null,
            "colorScheme": "dark",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "421cdecc1bad",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-990698bd"
          }
        ],
        "outcomeCount": 246,
        "darkModeScanned": true,
        "mediaQuerySupport": {
          "darkMode": true,
          "reducedMotion": false,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 32,
          "failed": 2,
          "cantTell": 2,
          "inapplicable": 1
        },
        "failedRules": [
          "QW-ACT-R4",
          "QW-ACT-R71"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R12",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R28",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R63",
          "QW-ACT-R64",
          "QW-ACT-R73",
          "QW-ACT-R74",
          "QW-ACT-R75",
          "QW-ACT-R76"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R4",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/bc659a/",
            "description": "The test target refreshes after 360 seconds.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target refreshes after 360 seconds.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "53cf53a0c1fc",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-898c827a"
          },
          {
            "rule": "QW-ACT-R71",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/bisz58/",
            "description": "The test target refreshes after 360 seconds.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target refreshes after 360 seconds.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "2ad2db3aaba6",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-d8565eb3"
          }
        ],
        "outcomeCount": 37,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/bus-services-436-and-452",
      "finalUrl": "https://consultations.tfl.gov.uk/buses/436-452",
      "redirected": true,
      "statusCode": 530,
      "ok": false,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Error - Transport for London",
      "elapsedMs": 7116,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 55,
          "failed": 5,
          "cantTell": 0,
          "inapplicable": 69
        },
        "failedRules": [
          "image-alt",
          "landmark-one-main",
          "meta-viewport",
          "region"
        ],
        "passedRules": [
          "aria-hidden-body",
          "bypass",
          "color-contrast",
          "document-title",
          "empty-heading",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-redundant-alt",
          "link-in-text-block",
          "link-name",
          "list",
          "listitem",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region"
        ],
        "failures": [
          {
            "rule": "image-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/image-alt?application=playwright",
            "impact": "critical",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": "img",
            "html": "<img height=\"40\" src=\"data:image/svg+xml;b...\">",
            "message": "Images must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element does not have an alt attribute\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute\n  Element's default semantics were not overridden with role=\"none\" or role=\"presentation\"",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "621e74091cf6",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-828ca3e6"
          },
          {
            "rule": "landmark-one-main",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/landmark-one-main?application=playwright",
            "impact": "moderate",
            "wcagSc": [],
            "xpath": "html",
            "html": "<html lang=\"en\" class=\"\">",
            "message": "Document should have one main landmark",
            "fixSummary": "Fix all of the following:\n  Document does not have a main landmark",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "c3c81374d67b",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-85b00be0"
          },
          {
            "rule": "meta-viewport",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-viewport?application=playwright",
            "impact": "moderate",
            "wcagSc": [
              "wcag2aa",
              "wcag144"
            ],
            "xpath": "meta[name=\"viewport\"]",
            "html": "<meta name=\"viewport\" content=\"width=device-width, initial-scale = 1.0, maximum-scale=1.0, user-scalable=no\">",
            "message": "Zooming and scaling must not be disabled",
            "fixSummary": "Fix any of the following:\n  user-scalable=no on <meta> tag disables zooming on mobile devices",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "679ac1638caa",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-98527d57"
          },
          {
            "rule": "region",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/region?application=playwright",
            "impact": "moderate",
            "wcagSc": [],
            "xpath": ".top-row",
            "html": "<div class=\"top-row\">",
            "message": "All page content should be contained by landmarks",
            "fixSummary": "Fix any of the following:\n  Some page content is not contained by landmarks",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "e4a957f005f6",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-d99d17e2"
          },
          {
            "rule": "region",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/region?application=playwright",
            "impact": "moderate",
            "wcagSc": [],
            "xpath": "#full-width-content",
            "html": "<div id=\"full-width-content\">",
            "message": "All page content should be contained by landmarks",
            "fixSummary": "Fix any of the following:\n  Some page content is not contained by landmarks",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "f47cea57fecc",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-d834ac9d"
          }
        ],
        "outcomeCount": 129,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": false,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 5
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 37,
          "failed": 2,
          "cantTell": 1,
          "inapplicable": 0
        },
        "failedRules": [
          "QW-ACT-R14",
          "QW-ACT-R17"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R12",
          "QW-ACT-R2",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R63",
          "QW-ACT-R64",
          "QW-ACT-R65",
          "QW-ACT-R73",
          "QW-ACT-R74",
          "QW-ACT-R75",
          "QW-ACT-R76"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R14",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/b4f0c3/",
            "description": "The `meta` element with a `name='viewport'` attribute abolishes the user agent ability to zoom with user-scalable=no or maximum-scale < 2.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The `meta` element with a `name='viewport'` attribute abolishes the user agent ability to zoom with user-scalable=no or maximum-scale < 2.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "2b8fade7933d",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-0be17e64"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "6296b4d15541",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          }
        ],
        "outcomeCount": 40,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/contact-renew",
      "finalUrl": "https://www.london.gov.uk/user/login?destination=/programmes-and-strategies/environment-and-climate-change/energy/renew-0/contact-renew",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Log in | London City Hall",
      "elapsedMs": 11423,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 235,
          "failed": 1,
          "cantTell": 1,
          "inapplicable": 44
        },
        "failedRules": [
          "region"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "frame-tested",
          "frame-title",
          "frame-title-unique",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "presentation-role-conflict",
          "region",
          "tabindex"
        ],
        "failures": [
          {
            "rule": "region",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/region?application=playwright",
            "impact": "moderate",
            "wcagSc": [],
            "xpath": "iframe[title=\"reCAPTCHA\"]",
            "html": "<div class=\"rc-anchor-invisible-text\"><span>protected by <strong>reCAPTCHA</strong></span><div class=\"rc-anchor-pt\"></div></div>",
            "message": "All page content should be contained by landmarks",
            "fixSummary": "Fix any of the following:\n  Some page content is not contained by landmarks",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "1b07c968df6f",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-732eb68d"
          }
        ],
        "outcomeCount": 281,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 1
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 104,
          "failed": 0,
          "cantTell": 36,
          "inapplicable": 1
        },
        "failedRules": [],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R48",
          "QW-ACT-R5",
          "QW-ACT-R63",
          "QW-ACT-R64",
          "QW-ACT-R65",
          "QW-ACT-R70",
          "QW-ACT-R73",
          "QW-ACT-R75",
          "QW-ACT-R76"
        ],
        "failures": [],
        "outcomeCount": 141,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/could-you-please-confirm-if-we-need-apply-map-quality-mark-construction-provision-if-it-already",
      "finalUrl": "https://www.london.gov.uk/could-you-please-confirm-if-we-need-apply-map-quality-mark-construction-provision-if-it-already",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Could you please confirm if we need to apply for a MAP Quality Mark for Construction provision if it is already under the Mayor’s Construction Academy? Or does the Mayor’s Construction Academy provide the same status as the MAP Quality Mark? | London City Hall",
      "elapsedMs": 11602,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 1172,
          "failed": 3,
          "cantTell": 2,
          "inapplicable": 42
        },
        "failedRules": [
          "heading-order",
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-in-text-block",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "heading-order",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/heading-order?application=playwright",
            "impact": "moderate",
            "wcagSc": [],
            "xpath": ".u-space-y-4 > h3",
            "html": "<h3 class=\"h3\">\n                    Related questions\n            </h3>",
            "message": "Heading levels should only increase by one",
            "fixSummary": "Fix any of the following:\n  Heading order invalid",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "071e04455f7f",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-266efff9"
          },
          {
            "rule": "heading-order",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/heading-order?application=playwright",
            "impact": "moderate",
            "wcagSc": [],
            "xpath": "h5",
            "html": "<h5 class=\"h5\">\n                    General\n            </h5>",
            "message": "Heading levels should only increase by one",
            "fixSummary": "Fix any of the following:\n  Heading order invalid",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "568192fb0abc",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-d1199dad"
          },
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "48b8bb324d66",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 1219,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 760,
          "failed": 4,
          "cantTell": 146,
          "inapplicable": 3
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "61aabbc6b5de",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "86dc1a92793c",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "5e1bd9a601b2",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          }
        ],
        "outcomeCount": 913,
        "duplicateFailedCount": 1,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 1
    },
    {
      "submittedUrl": "https://london.gov.uk/covid-19-resources-and-services-your-language",
      "finalUrl": "https://www.london.gov.uk/covid-19-resources-and-services-your-language",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "COVID-19 resources and services in your language | London City Hall",
      "elapsedMs": 15560,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 1701,
          "failed": 2,
          "cantTell": 2,
          "inapplicable": 40
        },
        "failedRules": [
          "heading-order",
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "input-button-name",
          "label",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-in-text-block",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "heading-order",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/heading-order?application=playwright",
            "impact": "moderate",
            "wcagSc": [],
            "xpath": ".h5.u-bg-off-white.u-px-5",
            "html": "<h3 class=\"u-py-3 u-px-5 u-bg-off-white h5\">\n                    Filter results\n            </h3>",
            "message": "Heading levels should only increase by one",
            "fixSummary": "Fix any of the following:\n  Heading order invalid",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "48ce28c96c50",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-fcafe51f"
          },
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "6c6993abff5e",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 1745,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 1034,
          "failed": 11,
          "cantTell": 230,
          "inapplicable": 7
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R30",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R16",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "65e7d691f074",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "ff20c96fed4f",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R30",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/2ee8b8/",
            "description": "The complete visible text content of the test target neither matches or is contained within its accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The complete visible text content of the test target neither matches or is contained within its accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "76e96e4393ff",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-e555095c"
          },
          {
            "rule": "QW-ACT-R30",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/2ee8b8/",
            "description": "The complete visible text content of the test target neither matches or is contained within its accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The complete visible text content of the test target neither matches or is contained within its accessible name.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R30",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/2ee8b8/",
            "description": "The complete visible text content of the test target neither matches or is contained within its accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The complete visible text content of the test target neither matches or is contained within its accessible name.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R30",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/2ee8b8/",
            "description": "The complete visible text content of the test target neither matches or is contained within its accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The complete visible text content of the test target neither matches or is contained within its accessible name.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R30",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/2ee8b8/",
            "description": "The complete visible text content of the test target neither matches or is contained within its accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The complete visible text content of the test target neither matches or is contained within its accessible name.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R30",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/2ee8b8/",
            "description": "The complete visible text content of the test target neither matches or is contained within its accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The complete visible text content of the test target neither matches or is contained within its accessible name.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R30",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/2ee8b8/",
            "description": "The complete visible text content of the test target neither matches or is contained within its accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The complete visible text content of the test target neither matches or is contained within its accessible name.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R30",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/2ee8b8/",
            "description": "The complete visible text content of the test target neither matches or is contained within its accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The complete visible text content of the test target neither matches or is contained within its accessible name.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "de44e800de03",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 1282,
        "duplicateFailedCount": 7,
        "uniqueFailedCount": 4,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 7
    },
    {
      "submittedUrl": "https://london.gov.uk/defending-londons-postal-service",
      "finalUrl": "https://www.london.gov.uk/defending-londons-postal-service",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Defending London&#039;s Postal Service | London City Hall",
      "elapsedMs": 10901,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 1034,
          "failed": 4,
          "cantTell": 4,
          "inapplicable": 42
        },
        "failedRules": [
          "link-in-text-block",
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-in-text-block",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "link-in-text-block",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/link-in-text-block?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag141"
            ],
            "xpath": "a[name=\"_ftnref3\"]",
            "html": "<a href=\"https://www.london.g...\" name=\"_ftnref3\" style=\"margin: 0px; padding...\" title=\"\">",
            "message": "Links must be distinguishable without relying on color",
            "fixSummary": "Fix any of the following:\n  The link has insufficient color contrast of 2:1 with the surrounding text. (Minimum contrast is 3:1, link text: #255faf, surrounding text: #333333)\n  The link has no styling (such as underline) to distinguish it from the surrounding text",
            "relatedPaths": [
              ".field--name-field-c-m-motion-detail > p:nth-child(2)"
            ],
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "f008e13fa7f1",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-30c986c4"
          },
          {
            "rule": "link-in-text-block",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/link-in-text-block?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag141"
            ],
            "xpath": "a[name=\"_ftnref4\"]",
            "html": "<a href=\"https://www.london.g...\" name=\"_ftnref4\" style=\"margin: 0px; padding...\" title=\"\">",
            "message": "Links must be distinguishable without relying on color",
            "fixSummary": "Fix any of the following:\n  The link has insufficient color contrast of 2:1 with the surrounding text. (Minimum contrast is 3:1, link text: #255faf, surrounding text: #333333)\n  The link has no styling (such as underline) to distinguish it from the surrounding text",
            "relatedPaths": [
              ".field--name-field-c-m-motion-detail > p:nth-child(2)"
            ],
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "5fca79a946a2",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-ac459cd1"
          },
          {
            "rule": "link-in-text-block",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/link-in-text-block?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag141"
            ],
            "xpath": "a[name=\"_ftn4\"]",
            "html": "<a href=\"https://www.london.g...\" name=\"_ftn4\" style=\"margin: 0px; padding...\" title=\"\">",
            "message": "Links must be distinguishable without relying on color",
            "fixSummary": "Fix any of the following:\n  The link has insufficient color contrast of 2:1 with the surrounding text. (Minimum contrast is 3:1, link text: #255faf, surrounding text: #333333)\n  The link has no styling (such as underline) to distinguish it from the surrounding text",
            "relatedPaths": [
              "p:nth-child(7)"
            ],
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "e7d3cc8051e4",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-55846ef6"
          },
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "5ffd04ae01a4",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 1084,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 4
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 702,
          "failed": 6,
          "cantTell": 128,
          "inapplicable": 7
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "e82f091aee02",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "a1680e150fda",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "f30e1e1b469a",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          }
        ],
        "outcomeCount": 843,
        "duplicateFailedCount": 3,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 3
    },
    {
      "submittedUrl": "https://london.gov.uk/download-full-report",
      "finalUrl": "https://www.london.gov.uk/sites/default/files/gla_smartlondon_report_web_3.pdf",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "application/pdf",
      "pageTitle": null,
      "elapsedMs": 685,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": false,
        "error": "Skipped (non-HTML content type: application/pdf)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (non-HTML content type: application/pdf)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (non-HTML content type: application/pdf)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": false,
        "error": "Skipped (non-HTML content type: application/pdf)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/investigation-request-metropolitan-police-actions-against-university-london-students",
      "finalUrl": "https://www.london.gov.uk/investigation-request-metropolitan-police-actions-against-university-london-students",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Investigation request into Metropolitan Police actions against University of London Students | London City Hall",
      "elapsedMs": 10307,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 926,
          "failed": 1,
          "cantTell": 1,
          "inapplicable": 42
        },
        "failedRules": [
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-in-text-block",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "aedb37f40e14",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 970,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 1
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 645,
          "failed": 3,
          "cantTell": 100,
          "inapplicable": 3
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "2cded371ce42",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "e4376d4b8ba4",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "b7595ab99a32",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 751,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/lfb-reporting",
      "finalUrl": "https://data.london.gov.uk/dataset/lfb-financial-and-performance-reporting-2019-20",
      "redirected": true,
      "statusCode": 403,
      "ok": false,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Just a moment...",
      "elapsedMs": 19192,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 116,
          "failed": 2,
          "cantTell": 0,
          "inapplicable": 128
        },
        "failedRules": [
          "meta-refresh"
        ],
        "passedRules": [
          "aria-allowed-role",
          "aria-deprecated-role",
          "aria-hidden-body",
          "aria-required-attr",
          "aria-roles",
          "avoid-inline-spacing",
          "bypass",
          "color-contrast",
          "document-title",
          "empty-heading",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-name",
          "meta-viewport",
          "meta-viewport-large",
          "page-has-heading-one",
          "region"
        ],
        "failures": [
          {
            "rule": "meta-refresh",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-refresh?application=playwright",
            "impact": "critical",
            "wcagSc": [
              "wcag2a",
              "wcag221"
            ],
            "xpath": "meta[http-equiv=\"refresh\"]",
            "html": "<meta http-equiv=\"refresh\" content=\"360\">",
            "message": "Delayed refresh under 20 hours must not be used",
            "fixSummary": "Fix any of the following:\n  <meta> tag forces timed refresh of page (less than 20 hours)",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "f7939d33b1fd",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-6b8a67f2"
          },
          {
            "rule": "meta-refresh",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-refresh?application=playwright",
            "impact": "critical",
            "wcagSc": [
              "wcag2a",
              "wcag221"
            ],
            "xpath": "meta[http-equiv=\"refresh\"]",
            "html": "<meta http-equiv=\"refresh\" content=\"360\">",
            "message": "Delayed refresh under 20 hours must not be used",
            "fixSummary": "Fix any of the following:\n  <meta> tag forces timed refresh of page (less than 20 hours)",
            "relatedPaths": null,
            "colorScheme": "dark",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "6d874e904b18",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-990698bd"
          }
        ],
        "outcomeCount": 246,
        "darkModeScanned": true,
        "mediaQuerySupport": {
          "darkMode": true,
          "reducedMotion": false,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 32,
          "failed": 2,
          "cantTell": 2,
          "inapplicable": 1
        },
        "failedRules": [
          "QW-ACT-R4",
          "QW-ACT-R71"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R12",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R28",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R63",
          "QW-ACT-R64",
          "QW-ACT-R73",
          "QW-ACT-R74",
          "QW-ACT-R75",
          "QW-ACT-R76"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R4",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/bc659a/",
            "description": "The test target refreshes after 360 seconds.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target refreshes after 360 seconds.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "4c4dc32b46c7",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-898c827a"
          },
          {
            "rule": "QW-ACT-R71",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/bisz58/",
            "description": "The test target refreshes after 360 seconds.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target refreshes after 360 seconds.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "9c87549eed1e",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-d8565eb3"
          }
        ],
        "outcomeCount": 37,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/log-or-register",
      "finalUrl": "https://www.london.gov.uk/programmes-and-strategies/environment-and-climate-change/pollution-and-air-quality/non-road-mobile-machinery-register/login",
      "redirected": true,
      "statusCode": 404,
      "ok": false,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Sorry - page not found | London City Hall",
      "elapsedMs": 10305,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 830,
          "failed": 1,
          "cantTell": 2,
          "inapplicable": 43
        },
        "failedRules": [
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "7e2746d2aa71",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 876,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 1
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 591,
          "failed": 3,
          "cantTell": 79,
          "inapplicable": 3
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "8fe899530072",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "6f7799f26ca2",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "edd88d35f770",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 676,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/national-careers-service",
      "finalUrl": "https://nationalcareers.service.gov.uk/",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=utf-8",
      "pageTitle": "Careers advice - job profiles, information and resources | National Careers Service",
      "elapsedMs": 19448,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 596,
          "failed": 2,
          "cantTell": 26,
          "inapplicable": 37
        },
        "failedRules": [
          "aria-prohibited-attr",
          "button-name"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-text",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "frame-tested",
          "frame-title",
          "frame-title-unique",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-in-text-block",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "presentation-role-conflict",
          "region",
          "scrollable-region-focusable",
          "select-name",
          "summary-name",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "aria-prohibited-attr",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/aria-prohibited-attr?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag412"
            ],
            "xpath": "#homepagevideo",
            "html": "<div class=\"html5-video-player ytp-hide-controls ytp-exp-bottom-control-flexbox ytp-modern-caption ytp-livebadge-color unstarted-mode\" tabindex=\"\" id=\"movie_player\" data-version=\"/s/player/8fb635c2/player_embed.vflset/en_US/base.js\" aria-label=\"YouTube Video Player\">",
            "message": "Elements must only use permitted ARIA attributes",
            "fixSummary": "Fix all of the following:\n  aria-label attribute cannot be used on a div with no valid role attribute.",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "6f786a20f53d",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-ffcccab9"
          },
          {
            "rule": "button-name",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/button-name?application=playwright",
            "impact": "critical",
            "wcagSc": [
              "wcag2a",
              "wcag412"
            ],
            "xpath": "#homepagevideo",
            "html": "<button class=\"ytmVideoInfoLink ytmVideoInfoChannelAvatar\"><img alt=\"thumbnail-image\" class=\"ytCoreImageHost ytmVideoInfoChannelLogo ytCoreImageFillParentHeight ytCoreImageFillParentWidth ytCoreImageContentModeScaleAspectFill\"></button>",
            "message": "Buttons must have discernible text",
            "fixSummary": "Fix any of the following:\n  Element does not have inner text that is visible to screen readers\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute\n  Element does not have an implicit (wrapped) <label>\n  Element does not have an explicit <label>\n  Element's default semantics were not overridden with role=\"none\" or role=\"presentation\"",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": true,
            "duplicateOf": "axe"
          }
        ],
        "outcomeCount": 661,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": false,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 1,
        "uniqueFailedCount": 1
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 254,
          "failed": 17,
          "cantTell": 71,
          "inapplicable": 1
        },
        "failedRules": [
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R16",
          "QW-ACT-R17",
          "QW-ACT-R19",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R48",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R70",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "b3bc951de53a",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          }
        ],
        "outcomeCount": 343,
        "duplicateFailedCount": 16,
        "uniqueFailedCount": 1,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 17
    },
    {
      "submittedUrl": "https://london.gov.uk/pay-it-forward",
      "finalUrl": "https://www.london.gov.uk/programmes-strategies/health-and-wellbeing/coronavirus-updates-and-guidance",
      "redirected": true,
      "statusCode": 403,
      "ok": false,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Just a moment...",
      "elapsedMs": 17609,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 116,
          "failed": 2,
          "cantTell": 0,
          "inapplicable": 128
        },
        "failedRules": [
          "meta-refresh"
        ],
        "passedRules": [
          "aria-allowed-role",
          "aria-deprecated-role",
          "aria-hidden-body",
          "aria-required-attr",
          "aria-roles",
          "avoid-inline-spacing",
          "bypass",
          "color-contrast",
          "document-title",
          "empty-heading",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-name",
          "meta-viewport",
          "meta-viewport-large",
          "page-has-heading-one",
          "region"
        ],
        "failures": [
          {
            "rule": "meta-refresh",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-refresh?application=playwright",
            "impact": "critical",
            "wcagSc": [
              "wcag2a",
              "wcag221"
            ],
            "xpath": "meta[http-equiv=\"refresh\"]",
            "html": "<meta http-equiv=\"refresh\" content=\"360\">",
            "message": "Delayed refresh under 20 hours must not be used",
            "fixSummary": "Fix any of the following:\n  <meta> tag forces timed refresh of page (less than 20 hours)",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "d97b0f3164e8",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-6b8a67f2"
          },
          {
            "rule": "meta-refresh",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-refresh?application=playwright",
            "impact": "critical",
            "wcagSc": [
              "wcag2a",
              "wcag221"
            ],
            "xpath": "meta[http-equiv=\"refresh\"]",
            "html": "<meta http-equiv=\"refresh\" content=\"360\">",
            "message": "Delayed refresh under 20 hours must not be used",
            "fixSummary": "Fix any of the following:\n  <meta> tag forces timed refresh of page (less than 20 hours)",
            "relatedPaths": null,
            "colorScheme": "dark",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "f4e46ee14a7a",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-990698bd"
          }
        ],
        "outcomeCount": 246,
        "darkModeScanned": true,
        "mediaQuerySupport": {
          "darkMode": true,
          "reducedMotion": false,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 32,
          "failed": 2,
          "cantTell": 2,
          "inapplicable": 1
        },
        "failedRules": [
          "QW-ACT-R4",
          "QW-ACT-R71"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R12",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R28",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R63",
          "QW-ACT-R64",
          "QW-ACT-R73",
          "QW-ACT-R74",
          "QW-ACT-R75",
          "QW-ACT-R76"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R4",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/bc659a/",
            "description": "The test target refreshes after 360 seconds.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target refreshes after 360 seconds.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "7b00351b131c",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-898c827a"
          },
          {
            "rule": "QW-ACT-R71",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/bisz58/",
            "description": "The test target refreshes after 360 seconds.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target refreshes after 360 seconds.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "5826dd82a0a6",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-d8565eb3"
          }
        ],
        "outcomeCount": 37,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/programmes-and-strategies/environment-and-climate-change/pollution-and-air-quality/nrmm/accessibility-statement-non-road-mobile-machinery",
      "finalUrl": "https://www.london.gov.uk/programmes-and-strategies/environment-and-climate-change/pollution-and-air-quality/nrmm/accessibility-statement-non-road-mobile-machinery",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Accessibility statement for Non-Road Mobile Machinery | London City Hall",
      "elapsedMs": 11717,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 1423,
          "failed": 1,
          "cantTell": 2,
          "inapplicable": 42
        },
        "failedRules": [
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-in-text-block",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "1322bcbcb0e9",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 1468,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 1
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 935,
          "failed": 3,
          "cantTell": 229,
          "inapplicable": 7
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "38a425ab2be4",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "1502be64e3ab",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "e9a4bafc66d2",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 1174,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/programmes-strategies/arts-and-culture/find-out-whats-useful-culture-websites",
      "finalUrl": "https://london.gov.uk/programmes-strategies/arts-and-culture/find-out-whats-useful-culture-websites",
      "redirected": false,
      "statusCode": 403,
      "ok": false,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Just a moment...",
      "elapsedMs": 17942,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 116,
          "failed": 2,
          "cantTell": 0,
          "inapplicable": 128
        },
        "failedRules": [
          "meta-refresh"
        ],
        "passedRules": [
          "aria-allowed-role",
          "aria-deprecated-role",
          "aria-hidden-body",
          "aria-required-attr",
          "aria-roles",
          "avoid-inline-spacing",
          "bypass",
          "color-contrast",
          "document-title",
          "empty-heading",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-name",
          "meta-viewport",
          "meta-viewport-large",
          "page-has-heading-one",
          "region"
        ],
        "failures": [
          {
            "rule": "meta-refresh",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-refresh?application=playwright",
            "impact": "critical",
            "wcagSc": [
              "wcag2a",
              "wcag221"
            ],
            "xpath": "meta[http-equiv=\"refresh\"]",
            "html": "<meta http-equiv=\"refresh\" content=\"360\">",
            "message": "Delayed refresh under 20 hours must not be used",
            "fixSummary": "Fix any of the following:\n  <meta> tag forces timed refresh of page (less than 20 hours)",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "d8eea5e16788",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-6b8a67f2"
          },
          {
            "rule": "meta-refresh",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-refresh?application=playwright",
            "impact": "critical",
            "wcagSc": [
              "wcag2a",
              "wcag221"
            ],
            "xpath": "meta[http-equiv=\"refresh\"]",
            "html": "<meta http-equiv=\"refresh\" content=\"360\">",
            "message": "Delayed refresh under 20 hours must not be used",
            "fixSummary": "Fix any of the following:\n  <meta> tag forces timed refresh of page (less than 20 hours)",
            "relatedPaths": null,
            "colorScheme": "dark",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "d02a4d91a864",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-990698bd"
          }
        ],
        "outcomeCount": 246,
        "darkModeScanned": true,
        "mediaQuerySupport": {
          "darkMode": true,
          "reducedMotion": false,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 32,
          "failed": 2,
          "cantTell": 2,
          "inapplicable": 1
        },
        "failedRules": [
          "QW-ACT-R4",
          "QW-ACT-R71"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R12",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R28",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R63",
          "QW-ACT-R64",
          "QW-ACT-R73",
          "QW-ACT-R74",
          "QW-ACT-R75",
          "QW-ACT-R76"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R4",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/bc659a/",
            "description": "The test target refreshes after 360 seconds.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target refreshes after 360 seconds.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "d060edae5698",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-898c827a"
          },
          {
            "rule": "QW-ACT-R71",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/bisz58/",
            "description": "The test target refreshes after 360 seconds.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target refreshes after 360 seconds.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "ba9633003830",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-d8565eb3"
          }
        ],
        "outcomeCount": 37,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/register",
      "finalUrl": "https://www.london.gov.uk/healthy-early-years-and-healthy-schools-london/",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html",
      "pageTitle": "HEYL and HSL",
      "elapsedMs": 10229,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 393,
          "failed": 2,
          "cantTell": 1,
          "inapplicable": 40
        },
        "failedRules": [
          "color-contrast"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "autocomplete-valid",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-in-text-block",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "scrollable-region-focusable",
          "skip-link",
          "svg-img-alt",
          "tabindex"
        ],
        "failures": [
          {
            "rule": "color-contrast",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/color-contrast?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2aa",
              "wcag143"
            ],
            "xpath": "p > p:nth-child(1)",
            "html": "<p>We use some essential cookies to make this website work.</p>",
            "message": "Elements must meet minimum color contrast ratio thresholds",
            "fixSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.01 (foreground color: #787878, background color: #f4f4f4, font size: 9.7pt (12.96px), font weight: normal). Expected contrast ratio of 4.5:1",
            "relatedPaths": [
              "#ccc-notify"
            ],
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "13cd869d4983",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a49fea9c"
          },
          {
            "rule": "color-contrast",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/color-contrast?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2aa",
              "wcag143"
            ],
            "xpath": "p:nth-child(3)",
            "html": "<p>We also use cookies set by other sites to help us deliver content from their services.</p>",
            "message": "Elements must meet minimum color contrast ratio thresholds",
            "fixSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.01 (foreground color: #787878, background color: #f4f4f4, font size: 9.7pt (12.96px), font weight: normal). Expected contrast ratio of 4.5:1",
            "relatedPaths": [
              "#ccc-notify"
            ],
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "cd96378899cc",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-ae9f97c3"
          }
        ],
        "outcomeCount": 436,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": false,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 200,
          "failed": 9,
          "cantTell": 43,
          "inapplicable": 2
        },
        "failedRules": [
          "QW-ACT-R30",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R16",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R24",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R48",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R30",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/2ee8b8/",
            "description": "The complete visible text content of the test target neither matches or is contained within its accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The complete visible text content of the test target neither matches or is contained within its accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "b189a560d253",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-e555095c"
          },
          {
            "rule": "QW-ACT-R30",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/2ee8b8/",
            "description": "The complete visible text content of the test target neither matches or is contained within its accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The complete visible text content of the test target neither matches or is contained within its accessible name.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R30",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/2ee8b8/",
            "description": "The complete visible text content of the test target neither matches or is contained within its accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The complete visible text content of the test target neither matches or is contained within its accessible name.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R30",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/2ee8b8/",
            "description": "The complete visible text content of the test target neither matches or is contained within its accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The complete visible text content of the test target neither matches or is contained within its accessible name.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "9ddc809735fb",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          }
        ],
        "outcomeCount": 254,
        "duplicateFailedCount": 7,
        "uniqueFailedCount": 2,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 7
    },
    {
      "submittedUrl": "https://london.gov.uk/register-your-business",
      "finalUrl": "https://www.london.gov.uk/programmes-strategies/education-and-youth/preparing-young-people-workplace/register-your-interest-businesses",
      "redirected": true,
      "statusCode": 403,
      "ok": false,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Just a moment...",
      "elapsedMs": 18415,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 116,
          "failed": 2,
          "cantTell": 0,
          "inapplicable": 128
        },
        "failedRules": [
          "meta-refresh"
        ],
        "passedRules": [
          "aria-allowed-role",
          "aria-deprecated-role",
          "aria-hidden-body",
          "aria-required-attr",
          "aria-roles",
          "avoid-inline-spacing",
          "bypass",
          "color-contrast",
          "document-title",
          "empty-heading",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-name",
          "meta-viewport",
          "meta-viewport-large",
          "page-has-heading-one",
          "region"
        ],
        "failures": [
          {
            "rule": "meta-refresh",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-refresh?application=playwright",
            "impact": "critical",
            "wcagSc": [
              "wcag2a",
              "wcag221"
            ],
            "xpath": "meta[http-equiv=\"refresh\"]",
            "html": "<meta http-equiv=\"refresh\" content=\"360\">",
            "message": "Delayed refresh under 20 hours must not be used",
            "fixSummary": "Fix any of the following:\n  <meta> tag forces timed refresh of page (less than 20 hours)",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "2c0c5450c569",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-6b8a67f2"
          },
          {
            "rule": "meta-refresh",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-refresh?application=playwright",
            "impact": "critical",
            "wcagSc": [
              "wcag2a",
              "wcag221"
            ],
            "xpath": "meta[http-equiv=\"refresh\"]",
            "html": "<meta http-equiv=\"refresh\" content=\"360\">",
            "message": "Delayed refresh under 20 hours must not be used",
            "fixSummary": "Fix any of the following:\n  <meta> tag forces timed refresh of page (less than 20 hours)",
            "relatedPaths": null,
            "colorScheme": "dark",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "8d6a347fce54",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-990698bd"
          }
        ],
        "outcomeCount": 246,
        "darkModeScanned": true,
        "mediaQuerySupport": {
          "darkMode": true,
          "reducedMotion": false,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 32,
          "failed": 2,
          "cantTell": 2,
          "inapplicable": 1
        },
        "failedRules": [
          "QW-ACT-R4",
          "QW-ACT-R71"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R12",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R28",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R63",
          "QW-ACT-R64",
          "QW-ACT-R73",
          "QW-ACT-R74",
          "QW-ACT-R75",
          "QW-ACT-R76"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R4",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/bc659a/",
            "description": "The test target refreshes after 360 seconds.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target refreshes after 360 seconds.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "93aabded9165",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-898c827a"
          },
          {
            "rule": "QW-ACT-R71",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/bisz58/",
            "description": "The test target refreshes after 360 seconds.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target refreshes after 360 seconds.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "3b6535fabba8",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-d8565eb3"
          }
        ],
        "outcomeCount": 37,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/register-your-interest",
      "finalUrl": "https://www.london.gov.uk/programmes-strategies/health-and-wellbeing/london-healthy-workplace-award/about-london-healthy-workplace-award/register-your-interest-london-healthy-workplace-awards",
      "redirected": true,
      "statusCode": 403,
      "ok": false,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Just a moment...",
      "elapsedMs": 18410,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 116,
          "failed": 2,
          "cantTell": 0,
          "inapplicable": 128
        },
        "failedRules": [
          "meta-refresh"
        ],
        "passedRules": [
          "aria-allowed-role",
          "aria-deprecated-role",
          "aria-hidden-body",
          "aria-required-attr",
          "aria-roles",
          "avoid-inline-spacing",
          "bypass",
          "color-contrast",
          "document-title",
          "empty-heading",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-name",
          "meta-viewport",
          "meta-viewport-large",
          "page-has-heading-one",
          "region"
        ],
        "failures": [
          {
            "rule": "meta-refresh",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-refresh?application=playwright",
            "impact": "critical",
            "wcagSc": [
              "wcag2a",
              "wcag221"
            ],
            "xpath": "meta[http-equiv=\"refresh\"]",
            "html": "<meta http-equiv=\"refresh\" content=\"360\">",
            "message": "Delayed refresh under 20 hours must not be used",
            "fixSummary": "Fix any of the following:\n  <meta> tag forces timed refresh of page (less than 20 hours)",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "1fbcd5d7167f",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-6b8a67f2"
          },
          {
            "rule": "meta-refresh",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-refresh?application=playwright",
            "impact": "critical",
            "wcagSc": [
              "wcag2a",
              "wcag221"
            ],
            "xpath": "meta[http-equiv=\"refresh\"]",
            "html": "<meta http-equiv=\"refresh\" content=\"360\">",
            "message": "Delayed refresh under 20 hours must not be used",
            "fixSummary": "Fix any of the following:\n  <meta> tag forces timed refresh of page (less than 20 hours)",
            "relatedPaths": null,
            "colorScheme": "dark",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "a6c2b407d358",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-990698bd"
          }
        ],
        "outcomeCount": 246,
        "darkModeScanned": true,
        "mediaQuerySupport": {
          "darkMode": true,
          "reducedMotion": false,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 32,
          "failed": 2,
          "cantTell": 2,
          "inapplicable": 1
        },
        "failedRules": [
          "QW-ACT-R4",
          "QW-ACT-R71"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R12",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R28",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R63",
          "QW-ACT-R64",
          "QW-ACT-R73",
          "QW-ACT-R74",
          "QW-ACT-R75",
          "QW-ACT-R76"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R4",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/bc659a/",
            "description": "The test target refreshes after 360 seconds.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target refreshes after 360 seconds.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "bb02729248e3",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-898c827a"
          },
          {
            "rule": "QW-ACT-R71",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/bisz58/",
            "description": "The test target refreshes after 360 seconds.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target refreshes after 360 seconds.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "c2c0eb30159c",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-d8565eb3"
          }
        ],
        "outcomeCount": 37,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/register-your-interest-1",
      "finalUrl": "https://www.london.gov.uk/programmes-strategies/jobs-and-skills/mayors-construction-academy/register-interest",
      "redirected": true,
      "statusCode": 403,
      "ok": false,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Just a moment...",
      "elapsedMs": 17412,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 116,
          "failed": 2,
          "cantTell": 0,
          "inapplicable": 128
        },
        "failedRules": [
          "meta-refresh"
        ],
        "passedRules": [
          "aria-allowed-role",
          "aria-deprecated-role",
          "aria-hidden-body",
          "aria-required-attr",
          "aria-roles",
          "avoid-inline-spacing",
          "bypass",
          "color-contrast",
          "document-title",
          "empty-heading",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-name",
          "meta-viewport",
          "meta-viewport-large",
          "page-has-heading-one",
          "region"
        ],
        "failures": [
          {
            "rule": "meta-refresh",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-refresh?application=playwright",
            "impact": "critical",
            "wcagSc": [
              "wcag2a",
              "wcag221"
            ],
            "xpath": "meta[http-equiv=\"refresh\"]",
            "html": "<meta http-equiv=\"refresh\" content=\"360\">",
            "message": "Delayed refresh under 20 hours must not be used",
            "fixSummary": "Fix any of the following:\n  <meta> tag forces timed refresh of page (less than 20 hours)",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "dadb70376b91",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-6b8a67f2"
          },
          {
            "rule": "meta-refresh",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-refresh?application=playwright",
            "impact": "critical",
            "wcagSc": [
              "wcag2a",
              "wcag221"
            ],
            "xpath": "meta[http-equiv=\"refresh\"]",
            "html": "<meta http-equiv=\"refresh\" content=\"360\">",
            "message": "Delayed refresh under 20 hours must not be used",
            "fixSummary": "Fix any of the following:\n  <meta> tag forces timed refresh of page (less than 20 hours)",
            "relatedPaths": null,
            "colorScheme": "dark",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "98d7690edbde",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-990698bd"
          }
        ],
        "outcomeCount": 246,
        "darkModeScanned": true,
        "mediaQuerySupport": {
          "darkMode": true,
          "reducedMotion": false,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 32,
          "failed": 2,
          "cantTell": 2,
          "inapplicable": 1
        },
        "failedRules": [
          "QW-ACT-R4",
          "QW-ACT-R71"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R12",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R28",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R63",
          "QW-ACT-R64",
          "QW-ACT-R73",
          "QW-ACT-R74",
          "QW-ACT-R75",
          "QW-ACT-R76"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R4",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/bc659a/",
            "description": "The test target refreshes after 360 seconds.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target refreshes after 360 seconds.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "a8f4af6223e3",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-898c827a"
          },
          {
            "rule": "QW-ACT-R71",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/bisz58/",
            "description": "The test target refreshes after 360 seconds.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target refreshes after 360 seconds.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "65b41b6dde16",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-d8565eb3"
          }
        ],
        "outcomeCount": 37,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/register-your-interest-2",
      "finalUrl": "https://www.london.gov.uk/programmes-strategies/health-and-wellbeing/london-healthy-workplace-award/about-london-healthy-workplace-award/register-your-interest-london-healthy-workplace-awards",
      "redirected": true,
      "statusCode": 403,
      "ok": false,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Just a moment...",
      "elapsedMs": 18382,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 116,
          "failed": 2,
          "cantTell": 0,
          "inapplicable": 128
        },
        "failedRules": [
          "meta-refresh"
        ],
        "passedRules": [
          "aria-allowed-role",
          "aria-deprecated-role",
          "aria-hidden-body",
          "aria-required-attr",
          "aria-roles",
          "avoid-inline-spacing",
          "bypass",
          "color-contrast",
          "document-title",
          "empty-heading",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-name",
          "meta-viewport",
          "meta-viewport-large",
          "page-has-heading-one",
          "region"
        ],
        "failures": [
          {
            "rule": "meta-refresh",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-refresh?application=playwright",
            "impact": "critical",
            "wcagSc": [
              "wcag2a",
              "wcag221"
            ],
            "xpath": "meta[http-equiv=\"refresh\"]",
            "html": "<meta http-equiv=\"refresh\" content=\"360\">",
            "message": "Delayed refresh under 20 hours must not be used",
            "fixSummary": "Fix any of the following:\n  <meta> tag forces timed refresh of page (less than 20 hours)",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "1fbcd5d7167f",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-6b8a67f2"
          },
          {
            "rule": "meta-refresh",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-refresh?application=playwright",
            "impact": "critical",
            "wcagSc": [
              "wcag2a",
              "wcag221"
            ],
            "xpath": "meta[http-equiv=\"refresh\"]",
            "html": "<meta http-equiv=\"refresh\" content=\"360\">",
            "message": "Delayed refresh under 20 hours must not be used",
            "fixSummary": "Fix any of the following:\n  <meta> tag forces timed refresh of page (less than 20 hours)",
            "relatedPaths": null,
            "colorScheme": "dark",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "a6c2b407d358",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-990698bd"
          }
        ],
        "outcomeCount": 246,
        "darkModeScanned": true,
        "mediaQuerySupport": {
          "darkMode": true,
          "reducedMotion": false,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 32,
          "failed": 2,
          "cantTell": 2,
          "inapplicable": 1
        },
        "failedRules": [
          "QW-ACT-R4",
          "QW-ACT-R71"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R12",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R28",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R63",
          "QW-ACT-R64",
          "QW-ACT-R73",
          "QW-ACT-R74",
          "QW-ACT-R75",
          "QW-ACT-R76"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R4",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/bc659a/",
            "description": "The test target refreshes after 360 seconds.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target refreshes after 360 seconds.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "bb02729248e3",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-898c827a"
          },
          {
            "rule": "QW-ACT-R71",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/bisz58/",
            "description": "The test target refreshes after 360 seconds.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target refreshes after 360 seconds.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "c2c0eb30159c",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-d8565eb3"
          }
        ],
        "outcomeCount": 37,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/register-your-school",
      "finalUrl": "https://www.london.gov.uk/programmes-strategies/education-and-youth/preparing-young-people-workplace/register-your-interest-schools",
      "redirected": true,
      "statusCode": 403,
      "ok": false,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Just a moment...",
      "elapsedMs": 18316,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 116,
          "failed": 2,
          "cantTell": 0,
          "inapplicable": 128
        },
        "failedRules": [
          "meta-refresh"
        ],
        "passedRules": [
          "aria-allowed-role",
          "aria-deprecated-role",
          "aria-hidden-body",
          "aria-required-attr",
          "aria-roles",
          "avoid-inline-spacing",
          "bypass",
          "color-contrast",
          "document-title",
          "empty-heading",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-name",
          "meta-viewport",
          "meta-viewport-large",
          "page-has-heading-one",
          "region"
        ],
        "failures": [
          {
            "rule": "meta-refresh",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-refresh?application=playwright",
            "impact": "critical",
            "wcagSc": [
              "wcag2a",
              "wcag221"
            ],
            "xpath": "meta[http-equiv=\"refresh\"]",
            "html": "<meta http-equiv=\"refresh\" content=\"360\">",
            "message": "Delayed refresh under 20 hours must not be used",
            "fixSummary": "Fix any of the following:\n  <meta> tag forces timed refresh of page (less than 20 hours)",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "9b0caeb7474f",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-6b8a67f2"
          },
          {
            "rule": "meta-refresh",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-refresh?application=playwright",
            "impact": "critical",
            "wcagSc": [
              "wcag2a",
              "wcag221"
            ],
            "xpath": "meta[http-equiv=\"refresh\"]",
            "html": "<meta http-equiv=\"refresh\" content=\"360\">",
            "message": "Delayed refresh under 20 hours must not be used",
            "fixSummary": "Fix any of the following:\n  <meta> tag forces timed refresh of page (less than 20 hours)",
            "relatedPaths": null,
            "colorScheme": "dark",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "ddc3735d0e37",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-990698bd"
          }
        ],
        "outcomeCount": 246,
        "darkModeScanned": true,
        "mediaQuerySupport": {
          "darkMode": true,
          "reducedMotion": false,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 32,
          "failed": 2,
          "cantTell": 2,
          "inapplicable": 1
        },
        "failedRules": [
          "QW-ACT-R4",
          "QW-ACT-R71"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R12",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R28",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R63",
          "QW-ACT-R64",
          "QW-ACT-R73",
          "QW-ACT-R74",
          "QW-ACT-R75",
          "QW-ACT-R76"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R4",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/bc659a/",
            "description": "The test target refreshes after 360 seconds.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target refreshes after 360 seconds.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "ebeb2801b5e3",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-898c827a"
          },
          {
            "rule": "QW-ACT-R71",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/bisz58/",
            "description": "The test target refreshes after 360 seconds.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target refreshes after 360 seconds.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "4c7ebc1e12f5",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-d8565eb3"
          }
        ],
        "outcomeCount": 37,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/renew-programme",
      "finalUrl": "https://www.london.gov.uk/programmes-and-strategies/environment-and-climate-change/energy/renew-0",
      "redirected": true,
      "statusCode": 404,
      "ok": false,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Sorry - page not found | London City Hall",
      "elapsedMs": 12451,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 830,
          "failed": 1,
          "cantTell": 2,
          "inapplicable": 43
        },
        "failedRules": [
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "012726b32805",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 876,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 1
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 591,
          "failed": 3,
          "cantTell": 79,
          "inapplicable": 3
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "ccd5b53f65ca",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "1dcd59eb15a8",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "aba0c6a461e3",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 676,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/report-landlord-or-agent",
      "finalUrl": "https://www.london.gov.uk/programmes-strategies/housing-and-land/renting-home/report-rogue-landlord-or-agent",
      "redirected": true,
      "statusCode": 403,
      "ok": false,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Just a moment...",
      "elapsedMs": 18056,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 116,
          "failed": 2,
          "cantTell": 0,
          "inapplicable": 128
        },
        "failedRules": [
          "meta-refresh"
        ],
        "passedRules": [
          "aria-allowed-role",
          "aria-deprecated-role",
          "aria-hidden-body",
          "aria-required-attr",
          "aria-roles",
          "avoid-inline-spacing",
          "bypass",
          "color-contrast",
          "document-title",
          "empty-heading",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-name",
          "meta-viewport",
          "meta-viewport-large",
          "page-has-heading-one",
          "region"
        ],
        "failures": [
          {
            "rule": "meta-refresh",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-refresh?application=playwright",
            "impact": "critical",
            "wcagSc": [
              "wcag2a",
              "wcag221"
            ],
            "xpath": "meta[http-equiv=\"refresh\"]",
            "html": "<meta http-equiv=\"refresh\" content=\"360\">",
            "message": "Delayed refresh under 20 hours must not be used",
            "fixSummary": "Fix any of the following:\n  <meta> tag forces timed refresh of page (less than 20 hours)",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "0c5ec7608480",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-6b8a67f2"
          },
          {
            "rule": "meta-refresh",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-refresh?application=playwright",
            "impact": "critical",
            "wcagSc": [
              "wcag2a",
              "wcag221"
            ],
            "xpath": "meta[http-equiv=\"refresh\"]",
            "html": "<meta http-equiv=\"refresh\" content=\"360\">",
            "message": "Delayed refresh under 20 hours must not be used",
            "fixSummary": "Fix any of the following:\n  <meta> tag forces timed refresh of page (less than 20 hours)",
            "relatedPaths": null,
            "colorScheme": "dark",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "841768f56360",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-990698bd"
          }
        ],
        "outcomeCount": 246,
        "darkModeScanned": true,
        "mediaQuerySupport": {
          "darkMode": true,
          "reducedMotion": false,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 32,
          "failed": 2,
          "cantTell": 2,
          "inapplicable": 1
        },
        "failedRules": [
          "QW-ACT-R4",
          "QW-ACT-R71"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R12",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R28",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R63",
          "QW-ACT-R64",
          "QW-ACT-R73",
          "QW-ACT-R74",
          "QW-ACT-R75",
          "QW-ACT-R76"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R4",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/bc659a/",
            "description": "The test target refreshes after 360 seconds.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target refreshes after 360 seconds.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "a0d15c3e9415",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-898c827a"
          },
          {
            "rule": "QW-ACT-R71",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/bisz58/",
            "description": "The test target refreshes after 360 seconds.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target refreshes after 360 seconds.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "6daddeedf6f8",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-d8565eb3"
          }
        ],
        "outcomeCount": 37,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/reporting-hate-crime",
      "finalUrl": "https://www.london.gov.uk/programmes-strategies/mayors-office-policing-and-crime-mopac/mopac-guidance-and-resources/reporting-hate-crime",
      "redirected": true,
      "statusCode": 403,
      "ok": false,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Just a moment...",
      "elapsedMs": 17938,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 116,
          "failed": 2,
          "cantTell": 0,
          "inapplicable": 128
        },
        "failedRules": [
          "meta-refresh"
        ],
        "passedRules": [
          "aria-allowed-role",
          "aria-deprecated-role",
          "aria-hidden-body",
          "aria-required-attr",
          "aria-roles",
          "avoid-inline-spacing",
          "bypass",
          "color-contrast",
          "document-title",
          "empty-heading",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-name",
          "meta-viewport",
          "meta-viewport-large",
          "page-has-heading-one",
          "region"
        ],
        "failures": [
          {
            "rule": "meta-refresh",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-refresh?application=playwright",
            "impact": "critical",
            "wcagSc": [
              "wcag2a",
              "wcag221"
            ],
            "xpath": "meta[http-equiv=\"refresh\"]",
            "html": "<meta http-equiv=\"refresh\" content=\"360\">",
            "message": "Delayed refresh under 20 hours must not be used",
            "fixSummary": "Fix any of the following:\n  <meta> tag forces timed refresh of page (less than 20 hours)",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "f6e4bab03f68",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-6b8a67f2"
          },
          {
            "rule": "meta-refresh",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-refresh?application=playwright",
            "impact": "critical",
            "wcagSc": [
              "wcag2a",
              "wcag221"
            ],
            "xpath": "meta[http-equiv=\"refresh\"]",
            "html": "<meta http-equiv=\"refresh\" content=\"360\">",
            "message": "Delayed refresh under 20 hours must not be used",
            "fixSummary": "Fix any of the following:\n  <meta> tag forces timed refresh of page (less than 20 hours)",
            "relatedPaths": null,
            "colorScheme": "dark",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "207576df7f13",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-990698bd"
          }
        ],
        "outcomeCount": 246,
        "darkModeScanned": true,
        "mediaQuerySupport": {
          "darkMode": true,
          "reducedMotion": false,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 32,
          "failed": 2,
          "cantTell": 2,
          "inapplicable": 1
        },
        "failedRules": [
          "QW-ACT-R4",
          "QW-ACT-R71"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R12",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R28",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R63",
          "QW-ACT-R64",
          "QW-ACT-R73",
          "QW-ACT-R74",
          "QW-ACT-R75",
          "QW-ACT-R76"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R4",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/bc659a/",
            "description": "The test target refreshes after 360 seconds.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target refreshes after 360 seconds.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "cd0bef764205",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-898c827a"
          },
          {
            "rule": "QW-ACT-R71",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/bisz58/",
            "description": "The test target refreshes after 360 seconds.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target refreshes after 360 seconds.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "7caabea8fb08",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-d8565eb3"
          }
        ],
        "outcomeCount": 37,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/reports-and-toolkits",
      "finalUrl": "https://www.london.gov.uk/publications/reports-toolkits-and-best-practice-guides",
      "redirected": true,
      "statusCode": 404,
      "ok": false,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Sorry - page not found | London City Hall",
      "elapsedMs": 9928,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 830,
          "failed": 1,
          "cantTell": 2,
          "inapplicable": 43
        },
        "failedRules": [
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "50a84c4a639a",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 876,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 1
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 591,
          "failed": 3,
          "cantTell": 79,
          "inapplicable": 3
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "b90e2b5958aa",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "cfe9c8b824fe",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "7725cf3746f2",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 676,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/request-halt-tfl-consultation-bus-stops-bromley",
      "finalUrl": "https://www.london.gov.uk/request-halt-tfl-consultation-bus-stops-bromley",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Request to halt TfL consultation on bus stops in Bromley | London City Hall",
      "elapsedMs": 10960,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 924,
          "failed": 1,
          "cantTell": 2,
          "inapplicable": 42
        },
        "failedRules": [
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-in-text-block",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "98ec3562504f",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 969,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 1
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 645,
          "failed": 3,
          "cantTell": 100,
          "inapplicable": 3
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "1ab788ace882",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "7d5efe9bfa99",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "6d0fd6e56e59",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 751,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/request-increase-frequency-481-bus",
      "finalUrl": "https://www.london.gov.uk/request-increase-frequency-481-bus",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Request to increase frequency of 481 bus | London City Hall",
      "elapsedMs": 10434,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 920,
          "failed": 1,
          "cantTell": 2,
          "inapplicable": 42
        },
        "failedRules": [
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-in-text-block",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "8a86e5071f8f",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 965,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 1
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 641,
          "failed": 3,
          "cantTell": 98,
          "inapplicable": 3
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "cfe55be3bf20",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "b1e7bdf1c0a0",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "18577c97798a",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 745,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/request-increase-number-bus-countdown-indicators-greyhound-lane-and-streatham-vale",
      "finalUrl": "https://www.london.gov.uk/request-increase-number-bus-countdown-indicators-greyhound-lane-and-streatham-vale",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Request to increase number of bus countdown indicators on Greyhound Lane and Streatham Vale | London City Hall",
      "elapsedMs": 10441,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 929,
          "failed": 1,
          "cantTell": 1,
          "inapplicable": 42
        },
        "failedRules": [
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-in-text-block",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "c37b19092851",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 973,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 1
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 649,
          "failed": 3,
          "cantTell": 102,
          "inapplicable": 3
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "a764e5e878a5",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "ae5f8c9fc7fe",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "259729597746",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 757,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/request-increased-police-numbers-and-local-safer-neighbourhood-teams",
      "finalUrl": "https://www.london.gov.uk/request-increased-police-numbers-and-local-safer-neighbourhood-teams",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Request for increased police numbers and local safer neighbourhood teams | London City Hall",
      "elapsedMs": 10571,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 924,
          "failed": 1,
          "cantTell": 2,
          "inapplicable": 42
        },
        "failedRules": [
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-in-text-block",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "90e0af884b32",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 969,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 1
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 645,
          "failed": 3,
          "cantTell": 100,
          "inapplicable": 3
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "8300f7945ade",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "1528cb9604f8",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "91202d52d9e3",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 751,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/request-pedestrian-crossing-tulse-hill-and-brixton-water-junction",
      "finalUrl": "https://www.london.gov.uk/request-pedestrian-crossing-tulse-hill-and-brixton-water-junction",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Request for a pedestrian crossing at Tulse Hill and Brixton Water junction | London City Hall",
      "elapsedMs": 10297,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 922,
          "failed": 1,
          "cantTell": 2,
          "inapplicable": 42
        },
        "failedRules": [
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-in-text-block",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "828e5e465405",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 967,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 1
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 643,
          "failed": 3,
          "cantTell": 99,
          "inapplicable": 3
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "531d79f17fc4",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "5b2ee2204413",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "ed7f02211e6a",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 748,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/request-reduce-speed-limit-roehampton-vale",
      "finalUrl": "https://www.london.gov.uk/request-reduce-speed-limit-roehampton-vale",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Request to reduce speed limit in Roehampton Vale | London City Hall",
      "elapsedMs": 10438,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 922,
          "failed": 1,
          "cantTell": 2,
          "inapplicable": 42
        },
        "failedRules": [
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-in-text-block",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "6712aeff6abb",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 967,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 1
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 643,
          "failed": 3,
          "cantTell": 99,
          "inapplicable": 3
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "44db498a3f41",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "f51ca0936b1c",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "57132be60e3a",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 748,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/request-reduce-speed-limit-roehampton-vale-0",
      "finalUrl": "https://www.london.gov.uk/request-reduce-speed-limit-roehampton-vale-0",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Request to reduce speed limit in Roehampton Vale | London City Hall",
      "elapsedMs": 10480,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 922,
          "failed": 1,
          "cantTell": 2,
          "inapplicable": 42
        },
        "failedRules": [
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-in-text-block",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "f4789b6f9ad3",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 967,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 1
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 643,
          "failed": 3,
          "cantTell": 99,
          "inapplicable": 3
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "05d67660bfc7",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "9f62f87c5563",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "26f4b56b2c10",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 748,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/request-replacement-bus-shelter-highbury-grange",
      "finalUrl": "https://www.london.gov.uk/request-replacement-bus-shelter-highbury-grange",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Request for replacement bus shelter in Highbury Grange | London City Hall",
      "elapsedMs": 10288,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 924,
          "failed": 1,
          "cantTell": 2,
          "inapplicable": 42
        },
        "failedRules": [
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-in-text-block",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "42615acc30db",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 969,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 1
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 645,
          "failed": 3,
          "cantTell": 100,
          "inapplicable": 3
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "11c78d6f0bbd",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "3df90e396b0d",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "8f99ba29d180",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 751,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/request-restore-lost-southwark-police-officers",
      "finalUrl": "https://www.london.gov.uk/request-restore-lost-southwark-police-officers",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Request to restore lost Southwark Police Officers | London City Hall",
      "elapsedMs": 10086,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 930,
          "failed": 1,
          "cantTell": 2,
          "inapplicable": 42
        },
        "failedRules": [
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-in-text-block",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "3f2f68f5cb58",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 975,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 1
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 651,
          "failed": 3,
          "cantTell": 103,
          "inapplicable": 3
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "aa43f6479059",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "b884e2bbeafe",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "e91303816f7a",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 760,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/request-review-how-control-vehicle-speeds-clapham-common-area",
      "finalUrl": "https://www.london.gov.uk/request-review-how-control-vehicle-speeds-clapham-common-area",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Request for review of how to control vehicle speeds in Clapham Common area | London City Hall",
      "elapsedMs": 10380,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 928,
          "failed": 1,
          "cantTell": 2,
          "inapplicable": 42
        },
        "failedRules": [
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-in-text-block",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "ba5d79b778f3",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 973,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 1
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 649,
          "failed": 3,
          "cantTell": 102,
          "inapplicable": 3
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "d67068827d2c",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "d2ad68235ffd",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "6b735d3aa3d3",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 757,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/request-stop-conversion-premier-house",
      "finalUrl": "https://www.london.gov.uk/request-stop-conversion-premier-house",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Request to stop conversion of Premier House | London City Hall",
      "elapsedMs": 10756,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 922,
          "failed": 1,
          "cantTell": 2,
          "inapplicable": 42
        },
        "failedRules": [
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-in-text-block",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "157d0cd70eec",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 967,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 1
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 643,
          "failed": 3,
          "cantTell": 99,
          "inapplicable": 3
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "9d50377744b0",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "0d495709adae",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "d65fcfc84dff",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 748,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/request-traffic-lights-charterhouse-street-junction",
      "finalUrl": "https://www.london.gov.uk/request-traffic-lights-charterhouse-street-junction",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Request for traffic lights at Charterhouse Street junction | London City Hall",
      "elapsedMs": 10077,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 922,
          "failed": 1,
          "cantTell": 2,
          "inapplicable": 42
        },
        "failedRules": [
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-in-text-block",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "ed2835623904",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 967,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 1
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 643,
          "failed": 3,
          "cantTell": 99,
          "inapplicable": 3
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "10000448f70a",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "ecc9d7f815ab",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "d5fec32bd3ad",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 748,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/request-traffic-safety-measures-and-around-redbridge-roundabout",
      "finalUrl": "https://www.london.gov.uk/request-traffic-safety-measures-and-around-redbridge-roundabout",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Request for traffic safety measures in and around Redbridge roundabout | London City Hall",
      "elapsedMs": 9937,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 934,
          "failed": 1,
          "cantTell": 2,
          "inapplicable": 42
        },
        "failedRules": [
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-in-text-block",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "712f7a3821c8",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 979,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 1
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 651,
          "failed": 3,
          "cantTell": 103,
          "inapplicable": 3
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "b29a3078df9e",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "ee4c3ad0d9e2",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "550d6eee1447",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 760,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/safer-roads-request-chiswick",
      "finalUrl": "https://www.london.gov.uk/safer-roads-request-chiswick",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Safer roads request for Chiswick | London City Hall",
      "elapsedMs": 10963,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 932,
          "failed": 1,
          "cantTell": 2,
          "inapplicable": 42
        },
        "failedRules": [
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-in-text-block",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "0a5ef4b4d0c4",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 977,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 1
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 652,
          "failed": 3,
          "cantTell": 104,
          "inapplicable": 3
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "77bb3a922028",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "8c005caeab41",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "13fc917f3cad",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 762,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/step-free-access-rayners-lane-tube-station-request",
      "finalUrl": "https://www.london.gov.uk/step-free-access-rayners-lane-tube-station-request",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Step-free access at Rayners Lane Tube Station request | London City Hall",
      "elapsedMs": 10950,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 934,
          "failed": 1,
          "cantTell": 2,
          "inapplicable": 42
        },
        "failedRules": [
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-in-text-block",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "2209064fced9",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 979,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 1
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 654,
          "failed": 3,
          "cantTell": 105,
          "inapplicable": 3
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "1d07f389fd79",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "75f3b63a7aa0",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "c6244657a0d6",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 765,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/traffic-congestion-report",
      "finalUrl": "https://www.london.gov.uk/who-we-are/what-london-assembly-does/london-assembly-publications/london-stalling-reducing-traffic-congestion",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "London Stalling: Reducing Traffic Congestion in London | London City Hall",
      "elapsedMs": 11108,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 1100,
          "failed": 1,
          "cantTell": 1,
          "inapplicable": 43
        },
        "failedRules": [
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "08497c17d60f",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 1145,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 1
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 734,
          "failed": 3,
          "cantTell": 129,
          "inapplicable": 7
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "146712d1e9df",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "ae58526dd386",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "6b9325dbec6e",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 873,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/traffic-review-request-junction-a20-and-a205-following-safety-concerns",
      "finalUrl": "https://www.london.gov.uk/traffic-review-request-junction-a20-and-a205-following-safety-concerns",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Traffic review request for the junction of the A20 and A205 following safety concerns | London City Hall",
      "elapsedMs": 10737,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 946,
          "failed": 1,
          "cantTell": 2,
          "inapplicable": 42
        },
        "failedRules": [
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-in-text-block",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "240d34ac3034",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 991,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 1
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 667,
          "failed": 3,
          "cantTell": 111,
          "inapplicable": 3
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "5c343e0b78be",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "ca7c88a00190",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "2faf96a50a71",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 784,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/who-we-are/city-halls-buildings-and-squares/how-find-city-hall",
      "finalUrl": "https://www.london.gov.uk/who-we-are/city-halls-buildings-and-squares/how-find-city-hall",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "How to find City Hall | London City Hall",
      "elapsedMs": 11445,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 1080,
          "failed": 1,
          "cantTell": 2,
          "inapplicable": 40
        },
        "failedRules": [
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "frame-tested",
          "frame-title",
          "frame-title-unique",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "7db66737fd01",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 1123,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 1
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 726,
          "failed": 3,
          "cantTell": 105,
          "inapplicable": 7
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R16",
          "QW-ACT-R17",
          "QW-ACT-R19",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R68",
          "QW-ACT-R70",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "c8f7c63198fb",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "09fe1035d1f0",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "2427f4f3ee59",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 841,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/boris-johnson/register-of-interests",
      "finalUrl": "https://www.london.gov.uk/boris-johnson/register-of-interests",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Boris Johnson (past staff) - Register of interests | London City Hall",
      "elapsedMs": 10405,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 1179,
          "failed": 1,
          "cantTell": 1,
          "inapplicable": 43
        },
        "failedRules": [
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "7c2b1832cfc2",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 1224,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 1
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 797,
          "failed": 3,
          "cantTell": 174,
          "inapplicable": 3
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "ac1636849a8c",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "b31888fb95f7",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "12c71681c8d1",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 977,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/city-hall-blog/applying-government-service-standard-london-boroughs",
      "finalUrl": "https://www.london.gov.uk/city-hall-blog/applying-government-service-standard-london-boroughs",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Applying the Government Service Standard in London boroughs | London City Hall",
      "elapsedMs": 10695,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 1143,
          "failed": 1,
          "cantTell": 1,
          "inapplicable": 42
        },
        "failedRules": [
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-in-text-block",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "69a20d203958",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 1187,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 1
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 751,
          "failed": 3,
          "cantTell": 141,
          "inapplicable": 7
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "d676d30f4171",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "a3765ba75217",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "559fd6477564",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 902,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/city-hall-blog/digital-service-standard-local-government",
      "finalUrl": "https://www.london.gov.uk/city-hall-blog/digital-service-standard-local-government",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Digital Service Standard for Local Government | London City Hall",
      "elapsedMs": 10554,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 1019,
          "failed": 2,
          "cantTell": 1,
          "inapplicable": 42
        },
        "failedRules": [
          "heading-order",
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-in-text-block",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "heading-order",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/heading-order?application=playwright",
            "impact": "moderate",
            "wcagSc": [],
            "xpath": "#digital-service-design-in-central-government",
            "html": "<h3 id=\"digital-service-design-in-central-government\">Digital Service Design in central government</h3>",
            "message": "Heading levels should only increase by one",
            "fixSummary": "Fix any of the following:\n  Heading order invalid",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "d9c3cfdd8c0a",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-0516981e"
          },
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "5f196bf2a0ae",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 1064,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 704,
          "failed": 3,
          "cantTell": 120,
          "inapplicable": 7
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "760d924899a2",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "576b116cd6de",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "62118160ebfd",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 834,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/city-hall-blog/grenfell-tower-national-memorial-service",
      "finalUrl": "https://www.london.gov.uk/city-hall-blog/grenfell-tower-national-memorial-service",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Grenfell Tower National Memorial service | London City Hall",
      "elapsedMs": 10607,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 955,
          "failed": 1,
          "cantTell": 1,
          "inapplicable": 43
        },
        "failedRules": [
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "64a509f1d472",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 1000,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 1
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 650,
          "failed": 3,
          "cantTell": 90,
          "inapplicable": 7
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "8318f4ac9c8e",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "67f4b24793d2",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "de29959973d8",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 750,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/city-hall-blog/how-register-covid-summer-food-fund",
      "finalUrl": "https://www.london.gov.uk/city-hall-blog/how-register-covid-summer-food-fund",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "How to register for the COVID Summer Food Fund | London City Hall",
      "elapsedMs": 11615,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 1103,
          "failed": 1,
          "cantTell": 1,
          "inapplicable": 42
        },
        "failedRules": [
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-in-text-block",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "5b5a416b2337",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 1147,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 1
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 712,
          "failed": 3,
          "cantTell": 103,
          "inapplicable": 7
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "eb9921275f4d",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "f44c8466c36f",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "60b68c6e4db5",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 825,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/city-hall-blog/im-committed-improving-mental-health-services-london",
      "finalUrl": "https://www.london.gov.uk/city-hall-blog/im-committed-improving-mental-health-services-london",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "I’m committed to improving mental health services in London | London City Hall",
      "elapsedMs": 11246,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 951,
          "failed": 1,
          "cantTell": 1,
          "inapplicable": 43
        },
        "failedRules": [
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "bab4f78cb2ae",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 996,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 1
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 648,
          "failed": 3,
          "cantTell": 89,
          "inapplicable": 7
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "4ffb8df7fa95",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "aa48d62aa668",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "a511814cfda1",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 747,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/content/london-accessible-housing-register",
      "finalUrl": "https://www.london.gov.uk/content/london-accessible-housing-register",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "The London Accessible Housing Register | London City Hall",
      "elapsedMs": 10383,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 933,
          "failed": 1,
          "cantTell": 1,
          "inapplicable": 42
        },
        "failedRules": [
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-in-text-block",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "946065338114",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 977,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 1
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 641,
          "failed": 3,
          "cantTell": 88,
          "inapplicable": 7
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "24d3fc048239",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "d583ee1c14a7",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "6a9b5e9ee21b",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 739,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/events/77-memorial-service-2023",
      "finalUrl": "https://www.london.gov.uk/events/77-memorial-service-2023",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "7/7 Memorial Service 2023 | London City Hall",
      "elapsedMs": 11239,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 1109,
          "failed": 2,
          "cantTell": 2,
          "inapplicable": 41
        },
        "failedRules": [
          "landmark-unique",
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-in-text-block",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "presentation-role-conflict",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "landmark-unique",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/landmark-unique?application=playwright",
            "impact": "moderate",
            "wcagSc": [],
            "xpath": ".jump_links > section",
            "html": "<section class=\"u-space-y-6 u-p-6 sm:u-p-12 md:u-p-7 lg:u-p-8 xl:u-p-12 xl:u-p-11 xxl:u-p-10 u-bg-off-white has-light-bg\" aria-labelledby=\"key-info-heading\">",
            "message": "Landmarks should have a unique role or role/label/title (i.e. accessible name) combination",
            "fixSummary": "Fix any of the following:\n  The landmark must have a unique aria-label, aria-labelledby, or title to make landmarks distinguishable",
            "relatedPaths": [
              ".lg\\:u-col-span-8 > section"
            ],
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "65faa3356db8",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-9b5ce531"
          },
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "e31817220d28",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 1154,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 730,
          "failed": 3,
          "cantTell": 125,
          "inapplicable": 7
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R48",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "cd63bfd4a23d",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "14180e98bb59",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "cd328c2bfaab",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 865,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/events/77-memorial-service-2024",
      "finalUrl": "https://www.london.gov.uk/events/77-memorial-service-2024",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "7/7 Memorial Service 2024 | London City Hall",
      "elapsedMs": 10569,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 1055,
          "failed": 2,
          "cantTell": 2,
          "inapplicable": 42
        },
        "failedRules": [
          "landmark-unique",
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-in-text-block",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "landmark-unique",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/landmark-unique?application=playwright",
            "impact": "moderate",
            "wcagSc": [],
            "xpath": ".lg\\:u-col-span-4 > section",
            "html": "<section class=\"node--event u-space-y-6 u-p-6 sm:u-p-12 md:u-p-7 lg:u-p-8 xl:u-p-12 xl:u-p-11 xxl:u-p-10 u-bg-off-white has-light-bg\" aria-labelledby=\"key-info-heading\">",
            "message": "Landmarks should have a unique role or role/label/title (i.e. accessible name) combination",
            "fixSummary": "Fix any of the following:\n  The landmark must have a unique aria-label, aria-labelledby, or title to make landmarks distinguishable",
            "relatedPaths": [
              ".lg\\:u-col-span-8 > section"
            ],
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "c6d3d3e9162c",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-5fabc781"
          },
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "40b6a1b53d38",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 1101,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 708,
          "failed": 3,
          "cantTell": 115,
          "inapplicable": 7
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "f40501aa3f1a",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "cc07c59dff5f",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "ecf48d2bcdf7",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 833,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/events/mayors-christmas-carol-service-2023",
      "finalUrl": "https://www.london.gov.uk/events/mayors-christmas-carol-service-2023",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "The Mayor&#039;s Christmas Carol Service 2023 | London City Hall",
      "elapsedMs": 11995,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 1035,
          "failed": 2,
          "cantTell": 3,
          "inapplicable": 43
        },
        "failedRules": [
          "landmark-unique",
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "landmark-unique",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/landmark-unique?application=playwright",
            "impact": "moderate",
            "wcagSc": [],
            "xpath": ".lg\\:u-col-span-4 > section",
            "html": "<section class=\"node--event u-space-y-6 u-p-6 sm:u-p-12 md:u-p-7 lg:u-p-8 xl:u-p-12 xl:u-p-11 xxl:u-p-10 u-bg-off-white has-light-bg\" aria-labelledby=\"key-info-heading\">",
            "message": "Landmarks should have a unique role or role/label/title (i.e. accessible name) combination",
            "fixSummary": "Fix any of the following:\n  The landmark must have a unique aria-label, aria-labelledby, or title to make landmarks distinguishable",
            "relatedPaths": [
              ".lg\\:u-col-span-8 > section"
            ],
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "3f99d42dc346",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-5fabc781"
          },
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "7b053081ef0d",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 1083,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 700,
          "failed": 3,
          "cantTell": 108,
          "inapplicable": 7
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "584c40878130",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "43d907bf18b3",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "2a9e8a6ac3d2",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 818,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/events/mayors-christmas-carol-service-2024",
      "finalUrl": "https://www.london.gov.uk/events/mayors-christmas-carol-service-2024",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "The Mayor&#039;s Christmas Carol Service 2024 | London City Hall",
      "elapsedMs": 11871,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 1108,
          "failed": 2,
          "cantTell": 2,
          "inapplicable": 41
        },
        "failedRules": [
          "landmark-unique",
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-in-text-block",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "presentation-role-conflict",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "landmark-unique",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/landmark-unique?application=playwright",
            "impact": "moderate",
            "wcagSc": [],
            "xpath": ".lg\\:u-col-span-4 > .node--event",
            "html": "<section class=\"node--event u-space-y-6 u-p-6 sm:u-p-12 md:u-p-7 lg:u-p-8 xl:u-p-12 xl:u-p-11 xxl:u-p-10 u-bg-off-white has-light-bg\" aria-labelledby=\"key-info-heading\">",
            "message": "Landmarks should have a unique role or role/label/title (i.e. accessible name) combination",
            "fixSummary": "Fix any of the following:\n  The landmark must have a unique aria-label, aria-labelledby, or title to make landmarks distinguishable",
            "relatedPaths": [
              ".jump_links > section",
              ".lg\\:u-col-span-8 > section"
            ],
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "3621c0598860",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b56b435e"
          },
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "14d223788a86",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 1153,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 734,
          "failed": 3,
          "cantTell": 120,
          "inapplicable": 7
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R48",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "f407aa4a1e94",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "715547f5fdc4",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "a57c8ab9a069",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 864,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/events/mayors-christmas-carol-service-2025",
      "finalUrl": "https://www.london.gov.uk/events/mayors-christmas-carol-service-2025",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "The Mayor&#039;s Christmas Carol Service 2025 | London City Hall",
      "elapsedMs": 10997,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 1082,
          "failed": 2,
          "cantTell": 3,
          "inapplicable": 41
        },
        "failedRules": [
          "landmark-unique",
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-in-text-block",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "presentation-role-conflict",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "landmark-unique",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/landmark-unique?application=playwright",
            "impact": "moderate",
            "wcagSc": [],
            "xpath": ".jump_links > section",
            "html": "<section class=\"u-space-y-6 u-p-6 sm:u-p-12 md:u-p-7 lg:u-p-8 xl:u-p-12 xl:u-p-11 xxl:u-p-10 u-bg-off-white has-light-bg\" aria-labelledby=\"key-info-heading\">",
            "message": "Landmarks should have a unique role or role/label/title (i.e. accessible name) combination",
            "fixSummary": "Fix any of the following:\n  The landmark must have a unique aria-label, aria-labelledby, or title to make landmarks distinguishable",
            "relatedPaths": [
              ".lg\\:u-col-span-8 > section"
            ],
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "7f744661c7fe",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-9b5ce531"
          },
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "6964e02c5346",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 1128,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 717,
          "failed": 3,
          "cantTell": 114,
          "inapplicable": 7
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R48",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "0a51ba8d349e",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "169f810f7c11",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "291a8706b70e",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 841,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/events/remembrance-day-service-2023",
      "finalUrl": "https://www.london.gov.uk/events/remembrance-day-service-2023",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Remembrance Day Service 2023 | London City Hall",
      "elapsedMs": 11375,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 1119,
          "failed": 2,
          "cantTell": 2,
          "inapplicable": 42
        },
        "failedRules": [
          "landmark-unique",
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "presentation-role-conflict",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "landmark-unique",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/landmark-unique?application=playwright",
            "impact": "moderate",
            "wcagSc": [],
            "xpath": ".jump_links > section",
            "html": "<section class=\"u-space-y-6 u-p-6 sm:u-p-12 md:u-p-7 lg:u-p-8 xl:u-p-12 xl:u-p-11 xxl:u-p-10 u-bg-off-white has-light-bg\" aria-labelledby=\"key-info-heading\">",
            "message": "Landmarks should have a unique role or role/label/title (i.e. accessible name) combination",
            "fixSummary": "Fix any of the following:\n  The landmark must have a unique aria-label, aria-labelledby, or title to make landmarks distinguishable",
            "relatedPaths": [
              ".lg\\:u-col-span-8 > section"
            ],
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "f37b2fbfaa34",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-9b5ce531"
          },
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "c78de978cb1e",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 1165,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 738,
          "failed": 4,
          "cantTell": 130,
          "inapplicable": 7
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R48",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "a27838346f04",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "8c7f114c8c57",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "62cbc35ab127",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": true,
            "duplicateOf": "qualweb"
          }
        ],
        "outcomeCount": 879,
        "duplicateFailedCount": 1,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 1
    },
    {
      "submittedUrl": "https://london.gov.uk/events/remembrance-day-service-2024",
      "finalUrl": "https://www.london.gov.uk/events/remembrance-day-service-2024",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Remembrance Day Service 2024 | London City Hall",
      "elapsedMs": 10657,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 1082,
          "failed": 2,
          "cantTell": 2,
          "inapplicable": 41
        },
        "failedRules": [
          "landmark-unique",
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-in-text-block",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "presentation-role-conflict",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "landmark-unique",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/landmark-unique?application=playwright",
            "impact": "moderate",
            "wcagSc": [],
            "xpath": ".jump_links > section",
            "html": "<section class=\"u-space-y-6 u-p-6 sm:u-p-12 md:u-p-7 lg:u-p-8 xl:u-p-12 xl:u-p-11 xxl:u-p-10 u-bg-off-white has-light-bg\" aria-labelledby=\"key-info-heading\">",
            "message": "Landmarks should have a unique role or role/label/title (i.e. accessible name) combination",
            "fixSummary": "Fix any of the following:\n  The landmark must have a unique aria-label, aria-labelledby, or title to make landmarks distinguishable",
            "relatedPaths": [
              ".lg\\:u-col-span-8 > section"
            ],
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "75a281e2291b",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-9b5ce531"
          },
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "20aad57cf3ba",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 1127,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 716,
          "failed": 3,
          "cantTell": 114,
          "inapplicable": 7
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R48",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "5366aae9d3a6",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "ad724f95a0d3",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "65214a24649f",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 840,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/events/remembrance-service-2025",
      "finalUrl": "https://www.london.gov.uk/events/remembrance-service-2025",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Remembrance Service 2025 | London City Hall",
      "elapsedMs": 11094,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 1073,
          "failed": 2,
          "cantTell": 2,
          "inapplicable": 41
        },
        "failedRules": [
          "landmark-unique",
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-in-text-block",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "presentation-role-conflict",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "landmark-unique",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/landmark-unique?application=playwright",
            "impact": "moderate",
            "wcagSc": [],
            "xpath": ".jump_links > section",
            "html": "<section class=\"u-space-y-6 u-p-6 sm:u-p-12 md:u-p-7 lg:u-p-8 xl:u-p-12 xl:u-p-11 xxl:u-p-10 u-bg-off-white has-light-bg\" aria-labelledby=\"key-info-heading\">",
            "message": "Landmarks should have a unique role or role/label/title (i.e. accessible name) combination",
            "fixSummary": "Fix any of the following:\n  The landmark must have a unique aria-label, aria-labelledby, or title to make landmarks distinguishable",
            "relatedPaths": [
              ".lg\\:u-col-span-8 > section"
            ],
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "3a20d73a090e",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-9b5ce531"
          },
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "4157927a4e02",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 1118,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 2
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 711,
          "failed": 3,
          "cantTell": 112,
          "inapplicable": 7
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R48",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "edf895bfa2c7",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "2d5212298120",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "a52dd76d5fcf",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 833,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/heidi-alexander/register-of-interests",
      "finalUrl": "https://www.london.gov.uk/heidi-alexander/register-of-interests",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Heidi Alexander (past staff) - Register of interests | London City Hall",
      "elapsedMs": 11395,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 1028,
          "failed": 1,
          "cantTell": 1,
          "inapplicable": 43
        },
        "failedRules": [
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "dd766db5d186",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 1073,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 1
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 696,
          "failed": 3,
          "cantTell": 124,
          "inapplicable": 3
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "e19108b6feb8",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "a7f984ca418b",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "f47b1fe8fe03",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 826,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/julia-slay/register-of-interests",
      "finalUrl": "https://www.london.gov.uk/julia-slay/register-of-interests",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Julia Slay - Register of interests | London City Hall",
      "elapsedMs": 11100,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 1006,
          "failed": 1,
          "cantTell": 2,
          "inapplicable": 43
        },
        "failedRules": [
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "511b3fa2cb33",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 1052,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 1
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 682,
          "failed": 3,
          "cantTell": 118,
          "inapplicable": 3
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "379aa1b2eb28",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "292f65c5b204",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "3dbebb6bf9a9",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 806,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/mayor-london/mayors-annual-report",
      "finalUrl": "https://www.london.gov.uk/mayor-london/mayors-annual-report",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "The Mayor&#039;s Annual Report | London City Hall",
      "elapsedMs": 12103,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 1280,
          "failed": 1,
          "cantTell": 3,
          "inapplicable": 42
        },
        "failedRules": [
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-in-text-block",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "3c5e54daf384",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 1326,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 1
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 900,
          "failed": 3,
          "cantTell": 126,
          "inapplicable": 7
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "8598a18e3cc4",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "f692021f6d34",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "bc7b5b842a83",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 1036,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/motions/70th-anniversary-national-health-service",
      "finalUrl": "https://www.london.gov.uk/motions/70th-anniversary-national-health-service",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "70th Anniversary of the National Health Service | London City Hall",
      "elapsedMs": 10796,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 1009,
          "failed": 1,
          "cantTell": 2,
          "inapplicable": 42
        },
        "failedRules": [
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-in-text-block",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "af3b90e84b73",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 1054,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 1
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 674,
          "failed": 3,
          "cantTell": 102,
          "inapplicable": 7
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R68",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "2cf8ffae4cf4",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "dcad3fbbd27a",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "ffd2bb3ca7dd",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 786,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/motions/backing-age-uks-campaign-fully-reinstate-winter-fuel-payment",
      "finalUrl": "https://www.london.gov.uk/motions/backing-age-uks-campaign-fully-reinstate-winter-fuel-payment",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Backing Age UK’s Campaign to Fully Reinstate the Winter Fuel Payment | London City Hall",
      "elapsedMs": 11295,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 1027,
          "failed": 1,
          "cantTell": 2,
          "inapplicable": 42
        },
        "failedRules": [
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-in-text-block",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "23859b27d14d",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 1072,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 1
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 696,
          "failed": 3,
          "cantTell": 112,
          "inapplicable": 7
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R68",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "1d4f45bd993c",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "62ec86ca6963",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "cab7172fbb90",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 818,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/motions/banking-services",
      "finalUrl": "https://www.london.gov.uk/motions/banking-services",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Banking Services | London City Hall",
      "elapsedMs": 10940,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 996,
          "failed": 1,
          "cantTell": 1,
          "inapplicable": 42
        },
        "failedRules": [
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-in-text-block",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "b8ec76fd53c9",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 1040,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 1
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 676,
          "failed": 3,
          "cantTell": 104,
          "inapplicable": 7
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "a40320987eec",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "0ca306af0b98",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "4dcbdb458b2f",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 790,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/motions/blair-peach-and-cass-report",
      "finalUrl": "https://www.london.gov.uk/motions/blair-peach-and-cass-report",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Blair Peach and the Cass Report | London City Hall",
      "elapsedMs": 10987,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 1030,
          "failed": 1,
          "cantTell": 1,
          "inapplicable": 42
        },
        "failedRules": [
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-in-text-block",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "f1b678b73d56",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 1074,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 1
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 681,
          "failed": 3,
          "cantTell": 104,
          "inapplicable": 7
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R68",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "58ff4387290d",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "1d06e5d3bae8",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "c1d1a339721d",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 795,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/motions/child-and-adolescent-mental-health-services-camhs",
      "finalUrl": "https://www.london.gov.uk/motions/child-and-adolescent-mental-health-services-camhs",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Child and Adolescent Mental Health Services (CAMHS) | London City Hall",
      "elapsedMs": 11579,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 1261,
          "failed": 1,
          "cantTell": 2,
          "inapplicable": 42
        },
        "failedRules": [
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-in-text-block",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "13435f5d30e9",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 1306,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 1
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 724,
          "failed": 3,
          "cantTell": 128,
          "inapplicable": 7
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "b8ff2ae51a02",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "2e886a0013c5",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "9f9b1ac98ade",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 862,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/motions/coroner-report-cycling-fatalities",
      "finalUrl": "https://www.london.gov.uk/motions/coroner-report-cycling-fatalities",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Coroner report into cycling fatalities | London City Hall",
      "elapsedMs": 10932,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 996,
          "failed": 1,
          "cantTell": 2,
          "inapplicable": 42
        },
        "failedRules": [
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-in-text-block",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "e5ef5c3a7246",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 1041,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 1
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 681,
          "failed": 3,
          "cantTell": 106,
          "inapplicable": 7
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "983ca2eac4df",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "fe7dc4fe9757",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "f260c859311b",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 797,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    },
    {
      "submittedUrl": "https://london.gov.uk/motions/coroner-report-cycling-fatalities-0",
      "finalUrl": "https://www.london.gov.uk/motions/coroner-report-cycling-fatalities-0",
      "redirected": true,
      "statusCode": 200,
      "ok": true,
      "contentType": "text/html; charset=UTF-8",
      "pageTitle": "Coroner report into cycling fatalities | London City Hall",
      "elapsedMs": 9979,
      "error": null,
      "alfa": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "axe": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 996,
          "failed": 1,
          "cantTell": 2,
          "inapplicable": 42
        },
        "failedRules": [
          "svg-img-alt"
        ],
        "passedRules": [
          "aria-allowed-attr",
          "aria-allowed-role",
          "aria-conditional-attr",
          "aria-deprecated-role",
          "aria-dialog-name",
          "aria-hidden-body",
          "aria-hidden-focus",
          "aria-prohibited-attr",
          "aria-required-attr",
          "aria-roles",
          "aria-valid-attr",
          "aria-valid-attr-value",
          "avoid-inline-spacing",
          "button-name",
          "bypass",
          "color-contrast",
          "document-title",
          "duplicate-id-aria",
          "empty-heading",
          "form-field-multiple-labels",
          "heading-order",
          "html-has-lang",
          "html-lang-valid",
          "image-alt",
          "image-redundant-alt",
          "label-title-only",
          "landmark-banner-is-top-level",
          "landmark-contentinfo-is-top-level",
          "landmark-main-is-top-level",
          "landmark-no-duplicate-banner",
          "landmark-no-duplicate-contentinfo",
          "landmark-no-duplicate-main",
          "landmark-one-main",
          "landmark-unique",
          "link-in-text-block",
          "link-name",
          "list",
          "listitem",
          "meta-viewport",
          "meta-viewport-large",
          "nested-interactive",
          "page-has-heading-one",
          "region",
          "select-name",
          "svg-img-alt",
          "tabindex",
          "valid-lang"
        ],
        "failures": [
          {
            "rule": "svg-img-alt",
            "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
            "impact": "serious",
            "wcagSc": [
              "wcag2a",
              "wcag111"
            ],
            "xpath": ".simple-icons-icon__linkedin",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "334d48f1c39e",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ],
        "outcomeCount": 1041,
        "darkModeScanned": false,
        "mediaQuerySupport": {
          "darkMode": false,
          "reducedMotion": true,
          "highContrast": false,
          "forcedColors": false,
          "reducedTransparency": false
        },
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 1
      },
      "equalAccess": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "accesslint": {
        "executed": false,
        "error": "Skipped (not requested)",
        "counts": {
          "passed": 0,
          "failed": 0,
          "cantTell": 0,
          "inapplicable": 0
        },
        "failedRules": [],
        "passedRules": [],
        "failures": [],
        "outcomeCount": 0,
        "uniqueFailedCount": 0,
        "duplicateFailedCount": 0,
        "crossEngineOverlapCount": 0
      },
      "qualweb": {
        "executed": true,
        "error": null,
        "counts": {
          "passed": 681,
          "failed": 3,
          "cantTell": 106,
          "inapplicable": 7
        },
        "failedRules": [
          "QW-ACT-R17",
          "QW-ACT-R21",
          "QW-ACT-R76"
        ],
        "passedRules": [
          "QW-ACT-R1",
          "QW-ACT-R11",
          "QW-ACT-R12",
          "QW-ACT-R13",
          "QW-ACT-R17",
          "QW-ACT-R2",
          "QW-ACT-R20",
          "QW-ACT-R21",
          "QW-ACT-R22",
          "QW-ACT-R25",
          "QW-ACT-R27",
          "QW-ACT-R28",
          "QW-ACT-R30",
          "QW-ACT-R34",
          "QW-ACT-R35",
          "QW-ACT-R37",
          "QW-ACT-R5",
          "QW-ACT-R65",
          "QW-ACT-R76",
          "QW-ACT-R9"
        ],
        "failures": [
          {
            "rule": "QW-ACT-R21",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
            "description": "The test target accessible name doesn't exist or it's empty ('').",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "eeb14624e738",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "rule": "QW-ACT-R17",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
            "description": "The test target doesn't have an accessible name.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "The test target doesn't have an accessible name.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "9b972149c611",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "rule": "QW-ACT-R76",
            "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
            "description": "Element has contrast ratio lower than minimum.",
            "xpath": null,
            "selector": null,
            "html": null,
            "message": "Element has contrast ratio lower than minimum.",
            "isDuplicate": false,
            "duplicateOf": null,
            "fingerprint": "7225f28a59c4",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ],
        "outcomeCount": 797,
        "duplicateFailedCount": 0,
        "uniqueFailedCount": 3,
        "crossEngineOverlapCount": 0
      },
      "duplicateFindingCount": 0
    }
  ],
  "enhanced": {
    "consolidatedFailures": [
      {
        "rule": "QW-ACT-R76",
        "engine": "qualweb",
        "metadata": {
          "roles": [
            "Front-End Developer"
          ],
          "severity": "Moderate",
          "blocking": false,
          "wcagCriteria": [],
          "conformanceLevel": null
        },
        "wcag": {
          "scs": [],
          "level": null
        },
        "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/09o5cg/",
        "ruleTitle": "Element has contrast ratio lower than minimum.",
        "pages": {},
        "totalOccurrences": 72,
        "examples": [
          {
            "url": "https://london.gov.uk/",
            "html": null,
            "xpath": null,
            "message": "Element has contrast ratio lower than minimum.",
            "fingerprint": "c952f6c30ea9",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          },
          {
            "url": "https://london.gov.uk/find-us-facebook",
            "html": null,
            "xpath": null,
            "message": "Element has contrast ratio lower than minimum.",
            "fingerprint": "f8ba74cc39fa",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          },
          {
            "url": "https://london.gov.uk/warmer-homes-faqs/i-received-support-under-first-phase-warmer-homes-can-i-re-apply-phase-warmer-homes",
            "html": null,
            "xpath": null,
            "message": "Element has contrast ratio lower than minimum.",
            "fingerprint": "94bc41de3983",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          },
          {
            "url": "https://london.gov.uk/find-affordable-home",
            "html": null,
            "xpath": null,
            "message": "Element has contrast ratio lower than minimum.",
            "fingerprint": "b9db8582ffb6",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          },
          {
            "url": "https://london.gov.uk/find-your-london-festival",
            "html": null,
            "xpath": null,
            "message": "Element has contrast ratio lower than minimum.",
            "fingerprint": "7c49dd244520",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b6798710"
          }
        ]
      },
      {
        "rule": "QW-ACT-R17",
        "engine": "qualweb",
        "metadata": {
          "roles": [
            "Front-End Developer"
          ],
          "severity": "Moderate",
          "blocking": false,
          "wcagCriteria": [],
          "conformanceLevel": null
        },
        "wcag": {
          "scs": [],
          "level": null
        },
        "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
        "ruleTitle": "The test target doesn't have an accessible name.",
        "pages": {},
        "totalOccurrences": 68,
        "examples": [
          {
            "url": "https://london.gov.uk/",
            "html": null,
            "xpath": null,
            "message": "The test target doesn't have an accessible name.",
            "fingerprint": "16344616bbe7",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "url": "https://london.gov.uk/warmer-homes-faqs/i-received-support-under-first-phase-warmer-homes-can-i-re-apply-phase-warmer-homes",
            "html": null,
            "xpath": null,
            "message": "The test target doesn't have an accessible name.",
            "fingerprint": "a34ae881e3a5",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "url": "https://london.gov.uk/find-your-london-festival",
            "html": null,
            "xpath": null,
            "message": "The test target doesn't have an accessible name.",
            "fingerprint": "5871f409edfa",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "url": "https://london.gov.uk/what-affordable-home-and-how-can-i-find-one",
            "html": null,
            "xpath": null,
            "message": "The test target doesn't have an accessible name.",
            "fingerprint": "04264ee7716c",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          },
          {
            "url": "https://london.gov.uk/who-we-are/city-halls-buildings-and-squares/accessibility-city-hall",
            "html": null,
            "xpath": null,
            "message": "The test target doesn't have an accessible name.",
            "fingerprint": "cf2c8268bebb",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a296e9ec"
          }
        ]
      },
      {
        "rule": "svg-img-alt",
        "engine": "axe",
        "metadata": {
          "roles": [
            "Front-End Developer"
          ],
          "severity": "Moderate",
          "blocking": false,
          "wcagCriteria": [],
          "conformanceLevel": null
        },
        "wcag": {
          "scs": [
            "1.1.1"
          ],
          "level": "A"
        },
        "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=playwright",
        "ruleTitle": null,
        "pages": {},
        "totalOccurrences": 67,
        "examples": [
          {
            "url": "https://london.gov.uk/",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "xpath": ".simple-icons-icon__linkedin",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "fingerprint": "16aa65584af9",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          },
          {
            "url": "https://london.gov.uk/warmer-homes-faqs/i-received-support-under-first-phase-warmer-homes-can-i-re-apply-phase-warmer-homes",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "xpath": ".simple-icons-icon__linkedin",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "fingerprint": "775a6f87c8ba",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          },
          {
            "url": "https://london.gov.uk/find-your-london-festival",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "xpath": ".simple-icons-icon__linkedin",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "fingerprint": "3f48eb105626",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          },
          {
            "url": "https://london.gov.uk/what-affordable-home-and-how-can-i-find-one",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "xpath": ".simple-icons-icon__linkedin",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "fingerprint": "ba0cb8335751",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          },
          {
            "url": "https://london.gov.uk/who-we-are/city-halls-buildings-and-squares/accessibility-city-hall",
            "html": "<svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"simple-icons-icon simple-icons-icon__linkedin\" focusable=\"false\">",
            "xpath": ".simple-icons-icon__linkedin",
            "message": "<svg> elements with an img role must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element has no child that is a title\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "fingerprint": "dbe70ebd9237",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-88dd06b6"
          }
        ]
      },
      {
        "rule": "QW-ACT-R21",
        "engine": "qualweb",
        "metadata": {
          "roles": [
            "Front-End Developer"
          ],
          "severity": "Moderate",
          "blocking": false,
          "wcagCriteria": [],
          "conformanceLevel": null
        },
        "wcag": {
          "scs": [],
          "level": null
        },
        "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/7d6734/",
        "ruleTitle": "The test target accessible name doesn't exist or it's empty ('').",
        "pages": {},
        "totalOccurrences": 67,
        "examples": [
          {
            "url": "https://london.gov.uk/",
            "html": null,
            "xpath": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "fingerprint": "ecbe29769268",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "url": "https://london.gov.uk/warmer-homes-faqs/i-received-support-under-first-phase-warmer-homes-can-i-re-apply-phase-warmer-homes",
            "html": null,
            "xpath": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "fingerprint": "4ceace9fa6a1",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "url": "https://london.gov.uk/find-your-london-festival",
            "html": null,
            "xpath": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "fingerprint": "9777c75a0cd7",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "url": "https://london.gov.uk/what-affordable-home-and-how-can-i-find-one",
            "html": null,
            "xpath": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "fingerprint": "6aacc5ef7982",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          },
          {
            "url": "https://london.gov.uk/who-we-are/city-halls-buildings-and-squares/accessibility-city-hall",
            "html": null,
            "xpath": null,
            "message": "The test target accessible name doesn't exist or it's empty ('').",
            "fingerprint": "cac2cb694f56",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-75d6e66b"
          }
        ]
      },
      {
        "rule": "meta-refresh",
        "engine": "axe",
        "metadata": {
          "roles": [
            "Front-End Developer"
          ],
          "severity": "Moderate",
          "blocking": false,
          "wcagCriteria": [],
          "conformanceLevel": null
        },
        "wcag": {
          "scs": [
            "2.2.1"
          ],
          "level": "A"
        },
        "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-refresh?application=playwright",
        "ruleTitle": null,
        "pages": {},
        "totalOccurrences": 50,
        "examples": [
          {
            "url": "https://london.gov.uk/find-advice-and-support",
            "html": "<meta http-equiv=\"refresh\" content=\"360\">",
            "xpath": "meta[http-equiv=\"refresh\"]",
            "message": "Delayed refresh under 20 hours must not be used",
            "fixSummary": "Fix any of the following:\n  <meta> tag forces timed refresh of page (less than 20 hours)",
            "relatedPaths": null,
            "colorScheme": "light",
            "fingerprint": "06c739613915",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-6b8a67f2"
          },
          {
            "url": "https://london.gov.uk/find-advice-and-support",
            "html": "<meta http-equiv=\"refresh\" content=\"360\">",
            "xpath": "meta[http-equiv=\"refresh\"]",
            "message": "Delayed refresh under 20 hours must not be used",
            "fixSummary": "Fix any of the following:\n  <meta> tag forces timed refresh of page (less than 20 hours)",
            "relatedPaths": null,
            "colorScheme": "dark",
            "fingerprint": "44186fb51952",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-990698bd"
          },
          {
            "url": "https://london.gov.uk/programmes-strategies/accessibility",
            "html": "<meta http-equiv=\"refresh\" content=\"360\">",
            "xpath": "meta[http-equiv=\"refresh\"]",
            "message": "Delayed refresh under 20 hours must not be used",
            "fixSummary": "Fix any of the following:\n  <meta> tag forces timed refresh of page (less than 20 hours)",
            "relatedPaths": null,
            "colorScheme": "light",
            "fingerprint": "4aff83ed4490",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-6b8a67f2"
          },
          {
            "url": "https://london.gov.uk/programmes-strategies/accessibility",
            "html": "<meta http-equiv=\"refresh\" content=\"360\">",
            "xpath": "meta[http-equiv=\"refresh\"]",
            "message": "Delayed refresh under 20 hours must not be used",
            "fixSummary": "Fix any of the following:\n  <meta> tag forces timed refresh of page (less than 20 hours)",
            "relatedPaths": null,
            "colorScheme": "dark",
            "fingerprint": "fdc53c202ae8",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-990698bd"
          },
          {
            "url": "https://london.gov.uk/programmes-strategies/accessibility-statement-talk-london",
            "html": "<meta http-equiv=\"refresh\" content=\"360\">",
            "xpath": "meta[http-equiv=\"refresh\"]",
            "message": "Delayed refresh under 20 hours must not be used",
            "fixSummary": "Fix any of the following:\n  <meta> tag forces timed refresh of page (less than 20 hours)",
            "relatedPaths": null,
            "colorScheme": "light",
            "fingerprint": "b92eadbf111b",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-6b8a67f2"
          }
        ]
      },
      {
        "rule": "QW-ACT-R4",
        "engine": "qualweb",
        "metadata": {
          "roles": [
            "Front-End Developer"
          ],
          "severity": "Moderate",
          "blocking": false,
          "wcagCriteria": [],
          "conformanceLevel": null
        },
        "wcag": {
          "scs": [],
          "level": null
        },
        "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/bc659a/",
        "ruleTitle": "The test target refreshes after 360 seconds.",
        "pages": {},
        "totalOccurrences": 25,
        "examples": [
          {
            "url": "https://london.gov.uk/find-advice-and-support",
            "html": null,
            "xpath": null,
            "message": "The test target refreshes after 360 seconds.",
            "fingerprint": "f6ce5919a63b",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-898c827a"
          },
          {
            "url": "https://london.gov.uk/programmes-strategies/accessibility",
            "html": null,
            "xpath": null,
            "message": "The test target refreshes after 360 seconds.",
            "fingerprint": "5fca22d6768a",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-898c827a"
          },
          {
            "url": "https://london.gov.uk/programmes-strategies/accessibility-statement-talk-london",
            "html": null,
            "xpath": null,
            "message": "The test target refreshes after 360 seconds.",
            "fingerprint": "0e35670005b6",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-898c827a"
          },
          {
            "url": "https://london.gov.uk/programmes-strategies/arts-and-culture/space-culture/help-resources-and-guidance/finding-building-or-land",
            "html": null,
            "xpath": null,
            "message": "The test target refreshes after 360 seconds.",
            "fingerprint": "e604e43c58c4",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-898c827a"
          },
          {
            "url": "https://london.gov.uk/find-course-london",
            "html": null,
            "xpath": null,
            "message": "The test target refreshes after 360 seconds.",
            "fingerprint": "44fbe152ae07",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-898c827a"
          }
        ]
      },
      {
        "rule": "QW-ACT-R71",
        "engine": "qualweb",
        "metadata": {
          "roles": [
            "Front-End Developer"
          ],
          "severity": "Moderate",
          "blocking": false,
          "wcagCriteria": [],
          "conformanceLevel": null
        },
        "wcag": {
          "scs": [],
          "level": null
        },
        "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/bisz58/",
        "ruleTitle": "The test target refreshes after 360 seconds.",
        "pages": {},
        "totalOccurrences": 25,
        "examples": [
          {
            "url": "https://london.gov.uk/find-advice-and-support",
            "html": null,
            "xpath": null,
            "message": "The test target refreshes after 360 seconds.",
            "fingerprint": "99ae758a93fd",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-d8565eb3"
          },
          {
            "url": "https://london.gov.uk/programmes-strategies/accessibility",
            "html": null,
            "xpath": null,
            "message": "The test target refreshes after 360 seconds.",
            "fingerprint": "9ff74ce4a7e9",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-d8565eb3"
          },
          {
            "url": "https://london.gov.uk/programmes-strategies/accessibility-statement-talk-london",
            "html": null,
            "xpath": null,
            "message": "The test target refreshes after 360 seconds.",
            "fingerprint": "3a3b734b49f9",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-d8565eb3"
          },
          {
            "url": "https://london.gov.uk/programmes-strategies/arts-and-culture/space-culture/help-resources-and-guidance/finding-building-or-land",
            "html": null,
            "xpath": null,
            "message": "The test target refreshes after 360 seconds.",
            "fingerprint": "be52362a0b33",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-d8565eb3"
          },
          {
            "url": "https://london.gov.uk/find-course-london",
            "html": null,
            "xpath": null,
            "message": "The test target refreshes after 360 seconds.",
            "fingerprint": "6056bccdb869",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-d8565eb3"
          }
        ]
      },
      {
        "rule": "heading-order",
        "engine": "axe",
        "metadata": {
          "roles": [
            "Content Author",
            "UX Designer"
          ],
          "severity": "Moderate",
          "blocking": false,
          "wcagCriteria": [],
          "conformanceLevel": "best-practice",
          "description": "Ensures heading levels are not skipped (e.g. h1→h3). Inconsistent heading hierarchy makes page structure difficult to navigate for screen reader users."
        },
        "wcag": {
          "scs": [],
          "level": null
        },
        "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/heading-order?application=playwright",
        "ruleTitle": null,
        "pages": {},
        "totalOccurrences": 12,
        "examples": [
          {
            "url": "https://london.gov.uk/",
            "html": "<h4 class=\"md:u-w-1/2 xl:u-text-3xl xxl:u-text-4xl h4\">\n                    Get WhatsApp updates about London.\n            </h4>",
            "xpath": "h4",
            "message": "Heading levels should only increase by one",
            "fixSummary": "Fix any of the following:\n  Heading order invalid",
            "relatedPaths": null,
            "colorScheme": "light",
            "fingerprint": "a2ec876e44f1",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-61c4188c"
          },
          {
            "url": "https://london.gov.uk/warmer-homes-faqs/i-received-support-under-first-phase-warmer-homes-can-i-re-apply-phase-warmer-homes",
            "html": "<h3 class=\"h3\">\n                    Related questions\n            </h3>",
            "xpath": ".u-space-y-4 > h3",
            "message": "Heading levels should only increase by one",
            "fixSummary": "Fix any of the following:\n  Heading order invalid",
            "relatedPaths": null,
            "colorScheme": "light",
            "fingerprint": "ddf6bd4c6864",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-266efff9"
          },
          {
            "url": "https://london.gov.uk/warmer-homes-faqs/i-received-support-under-first-phase-warmer-homes-can-i-re-apply-phase-warmer-homes",
            "html": "<h5 class=\"h5\">\n                    Eligibility\n            </h5>",
            "xpath": ".u-mb-10:nth-child(1) > .u-bg-off-white.u-p-6.sm\\:u-px-12 > h5",
            "message": "Heading levels should only increase by one",
            "fixSummary": "Fix any of the following:\n  Heading order invalid",
            "relatedPaths": null,
            "colorScheme": "light",
            "fingerprint": "1a138c983029",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-64194828"
          },
          {
            "url": "https://london.gov.uk/what-affordable-home-and-how-can-i-find-one",
            "html": "<h3 class=\"h3\">\n                    Related questions\n            </h3>",
            "xpath": ".u-space-y-4 > h3",
            "message": "Heading levels should only increase by one",
            "fixSummary": "Fix any of the following:\n  Heading order invalid",
            "relatedPaths": null,
            "colorScheme": "light",
            "fingerprint": "1f62327af10a",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-266efff9"
          },
          {
            "url": "https://london.gov.uk/what-affordable-home-and-how-can-i-find-one",
            "html": "<h5 class=\"h5\">\n                    General\n            </h5>",
            "xpath": "h5",
            "message": "Heading levels should only increase by one",
            "fixSummary": "Fix any of the following:\n  Heading order invalid",
            "relatedPaths": null,
            "colorScheme": "light",
            "fingerprint": "26f0629c185a",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-d1199dad"
          }
        ]
      },
      {
        "rule": "landmark-unique",
        "engine": "axe",
        "metadata": {
          "roles": [
            "Front-End Developer"
          ],
          "severity": "Moderate",
          "blocking": false,
          "wcagCriteria": [],
          "conformanceLevel": null
        },
        "wcag": {
          "scs": [],
          "level": null
        },
        "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/landmark-unique?application=playwright",
        "ruleTitle": null,
        "pages": {},
        "totalOccurrences": 10,
        "examples": [
          {
            "url": "https://london.gov.uk/apply-access",
            "html": "<section class=\"u-space-y-6 u-p-6 sm:u-p-12 md:u-p-7 lg:u-p-8 xl:u-p-12 xl:u-p-11 xxl:u-p-10 u-bg-off-white has-light-bg\" aria-labelledby=\"key-info-heading\">",
            "xpath": ".layout__region--first > .u-items-baseline.u-h-full > .layout__region.u-space-y-1.u-w-full > section",
            "message": "Landmarks should have a unique role or role/label/title (i.e. accessible name) combination",
            "fixSummary": "Fix any of the following:\n  The landmark must have a unique aria-label, aria-labelledby, or title to make landmarks distinguishable",
            "relatedPaths": [
              ".layout__region--second > .u-items-baseline.u-h-full > .layout__region.u-space-y-1.u-w-full > section"
            ],
            "colorScheme": "light",
            "fingerprint": "5adfe10bbf88",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-387a74c5"
          },
          {
            "url": "https://london.gov.uk/apply-access",
            "html": "<nav>",
            "xpath": ".layout__region--first > .u-items-baseline.u-h-full > .layout__region.u-space-y-1.u-w-full > section > nav",
            "message": "Landmarks should have a unique role or role/label/title (i.e. accessible name) combination",
            "fixSummary": "Fix any of the following:\n  The landmark must have a unique aria-label, aria-labelledby, or title to make landmarks distinguishable",
            "relatedPaths": [
              ".layout__region--second > .u-items-baseline.u-h-full > .layout__region.u-space-y-1.u-w-full > section > nav"
            ],
            "colorScheme": "light",
            "fingerprint": "b8ae3e38168f",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-c0c74dd8"
          },
          {
            "url": "https://london.gov.uk/events/77-memorial-service-2023",
            "html": "<section class=\"u-space-y-6 u-p-6 sm:u-p-12 md:u-p-7 lg:u-p-8 xl:u-p-12 xl:u-p-11 xxl:u-p-10 u-bg-off-white has-light-bg\" aria-labelledby=\"key-info-heading\">",
            "xpath": ".jump_links > section",
            "message": "Landmarks should have a unique role or role/label/title (i.e. accessible name) combination",
            "fixSummary": "Fix any of the following:\n  The landmark must have a unique aria-label, aria-labelledby, or title to make landmarks distinguishable",
            "relatedPaths": [
              ".lg\\:u-col-span-8 > section"
            ],
            "colorScheme": "light",
            "fingerprint": "65faa3356db8",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-9b5ce531"
          },
          {
            "url": "https://london.gov.uk/events/77-memorial-service-2024",
            "html": "<section class=\"node--event u-space-y-6 u-p-6 sm:u-p-12 md:u-p-7 lg:u-p-8 xl:u-p-12 xl:u-p-11 xxl:u-p-10 u-bg-off-white has-light-bg\" aria-labelledby=\"key-info-heading\">",
            "xpath": ".lg\\:u-col-span-4 > section",
            "message": "Landmarks should have a unique role or role/label/title (i.e. accessible name) combination",
            "fixSummary": "Fix any of the following:\n  The landmark must have a unique aria-label, aria-labelledby, or title to make landmarks distinguishable",
            "relatedPaths": [
              ".lg\\:u-col-span-8 > section"
            ],
            "colorScheme": "light",
            "fingerprint": "c6d3d3e9162c",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-5fabc781"
          },
          {
            "url": "https://london.gov.uk/events/mayors-christmas-carol-service-2023",
            "html": "<section class=\"node--event u-space-y-6 u-p-6 sm:u-p-12 md:u-p-7 lg:u-p-8 xl:u-p-12 xl:u-p-11 xxl:u-p-10 u-bg-off-white has-light-bg\" aria-labelledby=\"key-info-heading\">",
            "xpath": ".lg\\:u-col-span-4 > section",
            "message": "Landmarks should have a unique role or role/label/title (i.e. accessible name) combination",
            "fixSummary": "Fix any of the following:\n  The landmark must have a unique aria-label, aria-labelledby, or title to make landmarks distinguishable",
            "relatedPaths": [
              ".lg\\:u-col-span-8 > section"
            ],
            "colorScheme": "light",
            "fingerprint": "3f99d42dc346",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-5fabc781"
          }
        ]
      },
      {
        "rule": "region",
        "engine": "axe",
        "metadata": {
          "roles": [
            "Front-End Developer",
            "UX Designer"
          ],
          "severity": "Moderate",
          "blocking": false,
          "wcagCriteria": [],
          "conformanceLevel": "best-practice",
          "description": "Ensures all page content is contained within landmark regions. Content outside landmarks cannot be found by screen reader users navigating by landmarks."
        },
        "wcag": {
          "scs": [],
          "level": null
        },
        "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/region?application=playwright",
        "ruleTitle": null,
        "pages": {},
        "totalOccurrences": 9,
        "examples": [
          {
            "url": "https://london.gov.uk/find-affordable-home",
            "html": "<div class=\"footer-locations-grid slide-toggle__child\">",
            "xpath": ".footer-locations-grid",
            "message": "All page content should be contained by landmarks",
            "fixSummary": "Fix any of the following:\n  Some page content is not contained by landmarks",
            "relatedPaths": null,
            "colorScheme": "light",
            "fingerprint": "f111314f7fde",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-b1cc6d28"
          },
          {
            "url": "https://london.gov.uk/find-affordable-home",
            "html": "<a href=\"https://www.sharetobuy.com/\" aria-label=\"Share to Buy\">",
            "xpath": "a[aria-label=\"Share to Buy\"]",
            "message": "All page content should be contained by landmarks",
            "fixSummary": "Fix any of the following:\n  Some page content is not contained by landmarks",
            "relatedPaths": null,
            "colorScheme": "light",
            "fingerprint": "90ee2231415f",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-f7669e35"
          },
          {
            "url": "https://london.gov.uk/find-affordable-home",
            "html": "<div class=\"footer-inline-nav inline-nav\">",
            "xpath": ".footer-inline-nav",
            "message": "All page content should be contained by landmarks",
            "fixSummary": "Fix any of the following:\n  Some page content is not contained by landmarks",
            "relatedPaths": null,
            "colorScheme": "light",
            "fingerprint": "7112ab3dde02",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-6c7c6ba1"
          },
          {
            "url": "https://london.gov.uk/apply-settled-status",
            "html": "<a data-module=\"govuk-skip-link\" class=\"gem-c-skip-link govuk-skip-link govuk-!-display-none-print\" href=\"#content\" data-govuk-skip-link-init=\"\" data-govuk-skip-link-module-started=\"true\">Skip to main content</a>",
            "xpath": "body > .gem-c-skip-link.govuk-skip-link[data-module=\"govuk-skip-link\"]",
            "message": "All page content should be contained by landmarks",
            "fixSummary": "Fix any of the following:\n  Some page content is not contained by landmarks",
            "relatedPaths": null,
            "colorScheme": "light",
            "fingerprint": "2c0c9c8d2ac0",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-17f14dd9"
          },
          {
            "url": "https://london.gov.uk/apply-settled-status",
            "html": "<div data-module=\"ga4-link-tracker\" class=\"gem-c-step-nav-header\" title=\"Stay in the UK ('settled status'): step by step\" data-ga4-link-tracker-module-started=\"true\">",
            "xpath": ".gem-c-step-nav-header",
            "message": "All page content should be contained by landmarks",
            "fixSummary": "Fix any of the following:\n  Some page content is not contained by landmarks",
            "relatedPaths": null,
            "colorScheme": "light",
            "fingerprint": "9b7d2a0f2c73",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-7fba6c80"
          }
        ]
      },
      {
        "rule": "empty-table-header",
        "engine": "axe",
        "metadata": {
          "roles": [
            "Front-End Developer"
          ],
          "severity": "Moderate",
          "blocking": false,
          "wcagCriteria": [],
          "conformanceLevel": null
        },
        "wcag": {
          "scs": [],
          "level": null
        },
        "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/empty-table-header?application=playwright",
        "ruleTitle": null,
        "pages": {},
        "totalOccurrences": 9,
        "examples": [
          {
            "url": "https://london.gov.uk/workshop-findings",
            "html": "<th>&nbsp;</th>",
            "xpath": "tr:nth-child(2) > th",
            "message": "Table header text should not be empty",
            "fixSummary": "Fix any of the following:\n  Element does not have text that is visible to screen readers",
            "relatedPaths": null,
            "colorScheme": "light",
            "fingerprint": "8a05dbe792c9",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-1bde8d97"
          },
          {
            "url": "https://london.gov.uk/workshop-findings",
            "html": "<th>&nbsp;</th>",
            "xpath": "tr:nth-child(3) > th",
            "message": "Table header text should not be empty",
            "fixSummary": "Fix any of the following:\n  Element does not have text that is visible to screen readers",
            "relatedPaths": null,
            "colorScheme": "light",
            "fingerprint": "881f08eccca3",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-9454e6a0"
          },
          {
            "url": "https://london.gov.uk/workshop-findings",
            "html": "<th>&nbsp;</th>",
            "xpath": "tr:nth-child(5) > th",
            "message": "Table header text should not be empty",
            "fixSummary": "Fix any of the following:\n  Element does not have text that is visible to screen readers",
            "relatedPaths": null,
            "colorScheme": "light",
            "fingerprint": "ff703d2a55ac",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-1ff91ea4"
          },
          {
            "url": "https://london.gov.uk/workshop-findings",
            "html": "<th>&nbsp;</th>",
            "xpath": "tr:nth-child(6) > th",
            "message": "Table header text should not be empty",
            "fixSummary": "Fix any of the following:\n  Element does not have text that is visible to screen readers",
            "relatedPaths": null,
            "colorScheme": "light",
            "fingerprint": "ccab4eda0a9c",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-30bfced2"
          },
          {
            "url": "https://london.gov.uk/workshop-findings",
            "html": "<th>&nbsp;</th>",
            "xpath": "tr:nth-child(7) > th",
            "message": "Table header text should not be empty",
            "fixSummary": "Fix any of the following:\n  Element does not have text that is visible to screen readers",
            "relatedPaths": null,
            "colorScheme": "light",
            "fingerprint": "43ff290aeec2",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-7ceb532d"
          }
        ]
      },
      {
        "rule": "color-contrast",
        "engine": "axe",
        "metadata": {
          "roles": [
            "Visual Designer"
          ],
          "severity": "Serious",
          "blocking": false,
          "wcagCriteria": [
            "1.4.3"
          ],
          "conformanceLevel": "AA",
          "description": "Ensures text and interactive elements have sufficient contrast ratio (4.5:1 for normal text, 3:1 for large text) against their background."
        },
        "wcag": {
          "scs": [
            "1.4.3"
          ],
          "level": "AA"
        },
        "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/color-contrast?application=playwright",
        "ruleTitle": null,
        "pages": {},
        "totalOccurrences": 6,
        "examples": [
          {
            "url": "https://london.gov.uk/find-us-facebook",
            "html": "<span class=\"x1lliihq x6ikm8r x10wlt62 x1n2onr6 xlyipyv xuxw1ft\">Create new account</span>",
            "xpath": ".xp48ta0 > .x14ayic.xwyz465.x1e0frkt > .xsqbvy7.xb9jzoj[role=\"none\"] > .x1lkfr7t.x1lbecb7.xtk6v10 > .xlyipyv.xuxw1ft.x6ikm8r",
            "message": "Elements must meet minimum color contrast ratio thresholds",
            "fixSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.27 (foreground color: #ffffff, background color: #31a24c, font size: 12.8pt (17px), font weight: normal). Expected contrast ratio of 4.5:1",
            "relatedPaths": [
              ".xp48ta0"
            ],
            "colorScheme": "light",
            "fingerprint": "09f2fe5a76c0",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-c59ab4e0"
          },
          {
            "url": "https://london.gov.uk/find-us-facebook",
            "html": "<span class=\"x1lliihq x6ikm8r x10wlt62 x1n2onr6 xlyipyv xuxw1ft\">Create new account</span>",
            "xpath": ".xp48ta0 > .x14ayic.xwyz465.x1e0frkt > .xsqbvy7.xb9jzoj[role=\"none\"] > .x1lkfr7t.x1lbecb7.xtk6v10 > .xlyipyv.xuxw1ft.x6ikm8r",
            "message": "Elements must meet minimum color contrast ratio thresholds",
            "fixSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.27 (foreground color: #ffffff, background color: #31a24c, font size: 12.8pt (17px), font weight: normal). Expected contrast ratio of 4.5:1",
            "relatedPaths": [
              ".xp48ta0"
            ],
            "colorScheme": "dark",
            "fingerprint": "ec58c59c6323",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-6370df86"
          },
          {
            "url": "https://london.gov.uk/find-affordable-home",
            "html": "<p>We use some essential cookies to make this website work.</p>",
            "xpath": "p:nth-child(1)",
            "message": "Elements must meet minimum color contrast ratio thresholds",
            "fixSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.01 (foreground color: #787878, background color: #f4f4f4, font size: 9.7pt (12.96px), font weight: normal). Expected contrast ratio of 4.5:1",
            "relatedPaths": [
              "#ccc-notify"
            ],
            "colorScheme": "light",
            "fingerprint": "8219dcf3d7af",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-f5719942"
          },
          {
            "url": "https://london.gov.uk/find-affordable-home",
            "html": "<p>We also use cookies set by other sites to help us deliver content from their services.</p>",
            "xpath": "p:nth-child(3)",
            "message": "Elements must meet minimum color contrast ratio thresholds",
            "fixSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.01 (foreground color: #787878, background color: #f4f4f4, font size: 9.7pt (12.96px), font weight: normal). Expected contrast ratio of 4.5:1",
            "relatedPaths": [
              "#ccc-notify"
            ],
            "colorScheme": "light",
            "fingerprint": "74e49bf39a14",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-ae9f97c3"
          },
          {
            "url": "https://london.gov.uk/register",
            "html": "<p>We use some essential cookies to make this website work.</p>",
            "xpath": "p > p:nth-child(1)",
            "message": "Elements must meet minimum color contrast ratio thresholds",
            "fixSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.01 (foreground color: #787878, background color: #f4f4f4, font size: 9.7pt (12.96px), font weight: normal). Expected contrast ratio of 4.5:1",
            "relatedPaths": [
              "#ccc-notify"
            ],
            "colorScheme": "light",
            "fingerprint": "13cd869d4983",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-a49fea9c"
          }
        ]
      },
      {
        "rule": "QW-ACT-R30",
        "engine": "qualweb",
        "metadata": {
          "roles": [
            "Front-End Developer"
          ],
          "severity": "Moderate",
          "blocking": false,
          "wcagCriteria": [],
          "conformanceLevel": null
        },
        "wcag": {
          "scs": [],
          "level": null
        },
        "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/2ee8b8/",
        "ruleTitle": "The complete visible text content of the test target neither matches or is contained within its accessible name.",
        "pages": {},
        "totalOccurrences": 4,
        "examples": [
          {
            "url": "https://london.gov.uk/find-affordable-home",
            "html": null,
            "xpath": null,
            "message": "The complete visible text content of the test target neither matches or is contained within its accessible name.",
            "fingerprint": "68131150f15f",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-e555095c"
          },
          {
            "url": "https://london.gov.uk/apply-settled-status",
            "html": null,
            "xpath": null,
            "message": "The complete visible text content of the test target neither matches or is contained within its accessible name.",
            "fingerprint": "0dd85fbd7918",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-e555095c"
          },
          {
            "url": "https://london.gov.uk/covid-19-resources-and-services-your-language",
            "html": null,
            "xpath": null,
            "message": "The complete visible text content of the test target neither matches or is contained within its accessible name.",
            "fingerprint": "76e96e4393ff",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-e555095c"
          },
          {
            "url": "https://london.gov.uk/register",
            "html": null,
            "xpath": null,
            "message": "The complete visible text content of the test target neither matches or is contained within its accessible name.",
            "fingerprint": "b189a560d253",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-e555095c"
          }
        ]
      },
      {
        "rule": "link-in-text-block",
        "engine": "axe",
        "metadata": {
          "roles": [
            "Front-End Developer"
          ],
          "severity": "Moderate",
          "blocking": false,
          "wcagCriteria": [],
          "conformanceLevel": null
        },
        "wcag": {
          "scs": [
            "1.4.1"
          ],
          "level": "A"
        },
        "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/link-in-text-block?application=playwright",
        "ruleTitle": null,
        "pages": {},
        "totalOccurrences": 3,
        "examples": [
          {
            "url": "https://london.gov.uk/defending-londons-postal-service",
            "html": "<a href=\"https://www.london.g...\" name=\"_ftnref3\" style=\"margin: 0px; padding...\" title=\"\">",
            "xpath": "a[name=\"_ftnref3\"]",
            "message": "Links must be distinguishable without relying on color",
            "fixSummary": "Fix any of the following:\n  The link has insufficient color contrast of 2:1 with the surrounding text. (Minimum contrast is 3:1, link text: #255faf, surrounding text: #333333)\n  The link has no styling (such as underline) to distinguish it from the surrounding text",
            "relatedPaths": [
              ".field--name-field-c-m-motion-detail > p:nth-child(2)"
            ],
            "colorScheme": "light",
            "fingerprint": "f008e13fa7f1",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-30c986c4"
          },
          {
            "url": "https://london.gov.uk/defending-londons-postal-service",
            "html": "<a href=\"https://www.london.g...\" name=\"_ftnref4\" style=\"margin: 0px; padding...\" title=\"\">",
            "xpath": "a[name=\"_ftnref4\"]",
            "message": "Links must be distinguishable without relying on color",
            "fixSummary": "Fix any of the following:\n  The link has insufficient color contrast of 2:1 with the surrounding text. (Minimum contrast is 3:1, link text: #255faf, surrounding text: #333333)\n  The link has no styling (such as underline) to distinguish it from the surrounding text",
            "relatedPaths": [
              ".field--name-field-c-m-motion-detail > p:nth-child(2)"
            ],
            "colorScheme": "light",
            "fingerprint": "5fca79a946a2",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-ac459cd1"
          },
          {
            "url": "https://london.gov.uk/defending-londons-postal-service",
            "html": "<a href=\"https://www.london.g...\" name=\"_ftn4\" style=\"margin: 0px; padding...\" title=\"\">",
            "xpath": "a[name=\"_ftn4\"]",
            "message": "Links must be distinguishable without relying on color",
            "fixSummary": "Fix any of the following:\n  The link has insufficient color contrast of 2:1 with the surrounding text. (Minimum contrast is 3:1, link text: #255faf, surrounding text: #333333)\n  The link has no styling (such as underline) to distinguish it from the surrounding text",
            "relatedPaths": [
              "p:nth-child(7)"
            ],
            "colorScheme": "light",
            "fingerprint": "e7d3cc8051e4",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-55846ef6"
          }
        ]
      },
      {
        "rule": "aria-dialog-name",
        "engine": "axe",
        "metadata": {
          "roles": [
            "Front-End Developer"
          ],
          "severity": "Moderate",
          "blocking": false,
          "wcagCriteria": [],
          "conformanceLevel": null
        },
        "wcag": {
          "scs": [],
          "level": null
        },
        "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/aria-dialog-name?application=playwright",
        "ruleTitle": null,
        "pages": {},
        "totalOccurrences": 2,
        "examples": [
          {
            "url": "https://london.gov.uk/find-us-facebook",
            "html": "<div aria-modal=\"true\" role=\"dialog\" class=\"x1n2onr6 x1ja2u2z x1afcbsf x78zum5 xdt5ytf x1a2a7pz x6ikm8r x10wlt62 x71s49j x1jx94hy xw5cjc7 x1dmpuos x1vsv7so xau1kf4 x104qc98 x15o3w11 xogydr4 x1vmz7ll x1yyrj1m x193iq5w\">",
            "xpath": ".x1afcbsf",
            "message": "ARIA dialog and alertdialog nodes should have an accessible name",
            "fixSummary": "Fix any of the following:\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "light",
            "fingerprint": "9b64f11a9951",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-1949a940"
          },
          {
            "url": "https://london.gov.uk/find-us-facebook",
            "html": "<div aria-modal=\"true\" role=\"dialog\" class=\"x1n2onr6 x1ja2u2z x1afcbsf x78zum5 xdt5ytf x1a2a7pz x6ikm8r x10wlt62 x71s49j x1jx94hy xw5cjc7 x1dmpuos x1vsv7so xau1kf4 x104qc98 x15o3w11 xogydr4 x1vmz7ll x1yyrj1m x193iq5w\">",
            "xpath": ".x1afcbsf",
            "message": "ARIA dialog and alertdialog nodes should have an accessible name",
            "fixSummary": "Fix any of the following:\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute",
            "relatedPaths": null,
            "colorScheme": "dark",
            "fingerprint": "4b6466832651",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-e2a64680"
          }
        ]
      },
      {
        "rule": "meta-viewport-large",
        "engine": "axe",
        "metadata": {
          "roles": [
            "Front-End Developer"
          ],
          "severity": "Moderate",
          "blocking": false,
          "wcagCriteria": [],
          "conformanceLevel": null
        },
        "wcag": {
          "scs": [],
          "level": null
        },
        "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-viewport-large?application=playwright",
        "ruleTitle": null,
        "pages": {},
        "totalOccurrences": 2,
        "examples": [
          {
            "url": "https://london.gov.uk/find-us-facebook",
            "html": "<meta name=\"viewport\" content=\"width=device-width,initial-scale=1,maximum-scale=2,shrink-to-fit=no\">",
            "xpath": "meta[name=\"viewport\"]",
            "message": "Users should be able to zoom and scale the text up to 500%",
            "fixSummary": "Fix any of the following:\n  <meta> tag limits zooming on mobile devices",
            "relatedPaths": null,
            "colorScheme": "light",
            "fingerprint": "8d09da2f85a5",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-7cb9f1f1"
          },
          {
            "url": "https://london.gov.uk/find-us-facebook",
            "html": "<meta name=\"viewport\" content=\"width=device-width,initial-scale=1,maximum-scale=2,shrink-to-fit=no\">",
            "xpath": "meta[name=\"viewport\"]",
            "message": "Users should be able to zoom and scale the text up to 500%",
            "fixSummary": "Fix any of the following:\n  <meta> tag limits zooming on mobile devices",
            "relatedPaths": null,
            "colorScheme": "dark",
            "fingerprint": "dfadc9fc1543",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-bd768ce4"
          }
        ]
      },
      {
        "rule": "QW-ACT-R12",
        "engine": "qualweb",
        "metadata": {
          "roles": [
            "Front-End Developer"
          ],
          "severity": "Moderate",
          "blocking": false,
          "wcagCriteria": [],
          "conformanceLevel": null
        },
        "wcag": {
          "scs": [],
          "level": null
        },
        "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/c487ae/",
        "ruleTitle": "The test target doesn't have an accessible name, or it's empty ('').",
        "pages": {},
        "totalOccurrences": 1,
        "examples": [
          {
            "url": "https://london.gov.uk/",
            "html": null,
            "xpath": null,
            "message": "The test target doesn't have an accessible name, or it's empty ('').",
            "fingerprint": "76f91e3f4a9a",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-67cdbced"
          }
        ]
      },
      {
        "rule": "QW-ACT-R13",
        "engine": "qualweb",
        "metadata": {
          "roles": [
            "Front-End Developer"
          ],
          "severity": "Moderate",
          "blocking": false,
          "wcagCriteria": [],
          "conformanceLevel": null
        },
        "wcag": {
          "scs": [],
          "level": null
        },
        "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/6cfa84/",
        "ruleTitle": "The test target has focusable children.",
        "pages": {},
        "totalOccurrences": 1,
        "examples": [
          {
            "url": "https://london.gov.uk/find-us-facebook",
            "html": null,
            "xpath": null,
            "message": "The test target has focusable children.",
            "fingerprint": "7c9eba730cb1",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-c6ea3e7e"
          }
        ]
      },
      {
        "rule": "QW-ACT-R37",
        "engine": "qualweb",
        "metadata": {
          "roles": [
            "Front-End Developer"
          ],
          "severity": "Moderate",
          "blocking": false,
          "wcagCriteria": [],
          "conformanceLevel": null
        },
        "wcag": {
          "scs": [],
          "level": null
        },
        "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/afw4f7/",
        "ruleTitle": "Element has contrast ratio lower than minimum.",
        "pages": {},
        "totalOccurrences": 1,
        "examples": [
          {
            "url": "https://london.gov.uk/find-us-facebook",
            "html": null,
            "xpath": null,
            "message": "Element has contrast ratio lower than minimum.",
            "fingerprint": "4ace40bd91bc",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-cbe353ce"
          }
        ]
      },
      {
        "rule": "image-alt",
        "engine": "axe",
        "metadata": {
          "roles": [
            "Content Author"
          ],
          "severity": "Critical",
          "blocking": true,
          "wcagCriteria": [
            "1.1.1"
          ],
          "conformanceLevel": "A",
          "description": "Ensures every <img> element has alternative text. Without alt text, blind users receive no information about the image's meaning or purpose."
        },
        "wcag": {
          "scs": [
            "1.1.1"
          ],
          "level": "A"
        },
        "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/image-alt?application=playwright",
        "ruleTitle": null,
        "pages": {},
        "totalOccurrences": 1,
        "examples": [
          {
            "url": "https://london.gov.uk/bus-services-436-and-452",
            "html": "<img height=\"40\" src=\"data:image/svg+xml;b...\">",
            "xpath": "img",
            "message": "Images must have alternative text",
            "fixSummary": "Fix any of the following:\n  Element does not have an alt attribute\n  aria-label attribute does not exist or is empty\n  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n  Element has no title attribute\n  Element's default semantics were not overridden with role=\"none\" or role=\"presentation\"",
            "relatedPaths": null,
            "colorScheme": "light",
            "fingerprint": "621e74091cf6",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-828ca3e6"
          }
        ]
      },
      {
        "rule": "landmark-one-main",
        "engine": "axe",
        "metadata": {
          "roles": [
            "Front-End Developer",
            "UX Designer"
          ],
          "severity": "Moderate",
          "blocking": false,
          "wcagCriteria": [],
          "conformanceLevel": "best-practice",
          "description": "Ensures the page has exactly one main landmark. Screen reader users rely on the main landmark to skip navigation and jump directly to page content."
        },
        "wcag": {
          "scs": [],
          "level": null
        },
        "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/landmark-one-main?application=playwright",
        "ruleTitle": null,
        "pages": {},
        "totalOccurrences": 1,
        "examples": [
          {
            "url": "https://london.gov.uk/bus-services-436-and-452",
            "html": "<html lang=\"en\" class=\"\">",
            "xpath": "html",
            "message": "Document should have one main landmark",
            "fixSummary": "Fix all of the following:\n  Document does not have a main landmark",
            "relatedPaths": null,
            "colorScheme": "light",
            "fingerprint": "c3c81374d67b",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-85b00be0"
          }
        ]
      },
      {
        "rule": "meta-viewport",
        "engine": "axe",
        "metadata": {
          "roles": [
            "Front-End Developer",
            "UX Designer"
          ],
          "severity": "Critical",
          "blocking": true,
          "wcagCriteria": [
            "1.4.4"
          ],
          "conformanceLevel": "AA",
          "description": "Ensures viewport meta does not disable text scaling. Disabling user-scaling prevents people with low vision from enlarging text to a readable size."
        },
        "wcag": {
          "scs": [
            "1.4.4"
          ],
          "level": "AA"
        },
        "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-viewport?application=playwright",
        "ruleTitle": null,
        "pages": {},
        "totalOccurrences": 1,
        "examples": [
          {
            "url": "https://london.gov.uk/bus-services-436-and-452",
            "html": "<meta name=\"viewport\" content=\"width=device-width, initial-scale = 1.0, maximum-scale=1.0, user-scalable=no\">",
            "xpath": "meta[name=\"viewport\"]",
            "message": "Zooming and scaling must not be disabled",
            "fixSummary": "Fix any of the following:\n  user-scalable=no on <meta> tag disables zooming on mobile devices",
            "relatedPaths": null,
            "colorScheme": "light",
            "fingerprint": "679ac1638caa",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-98527d57"
          }
        ]
      },
      {
        "rule": "QW-ACT-R14",
        "engine": "qualweb",
        "metadata": {
          "roles": [
            "Front-End Developer"
          ],
          "severity": "Moderate",
          "blocking": false,
          "wcagCriteria": [],
          "conformanceLevel": null
        },
        "wcag": {
          "scs": [],
          "level": null
        },
        "ruleUrl": "https://www.w3.org/WAI/standards-guidelines/act/rules/b4f0c3/",
        "ruleTitle": "The `meta` element with a `name='viewport'` attribute abolishes the user agent ability to zoom with user-scalable=no or maximum-scale < 2.",
        "pages": {},
        "totalOccurrences": 1,
        "examples": [
          {
            "url": "https://london.gov.uk/bus-services-436-and-452",
            "html": null,
            "xpath": null,
            "message": "The `meta` element with a `name='viewport'` attribute abolishes the user agent ability to zoom with user-scalable=no or maximum-scale < 2.",
            "fingerprint": "2b8fade7933d",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-0be17e64"
          }
        ]
      },
      {
        "rule": "aria-prohibited-attr",
        "engine": "axe",
        "metadata": {
          "roles": [
            "Front-End Developer"
          ],
          "severity": "Moderate",
          "blocking": false,
          "wcagCriteria": [],
          "conformanceLevel": null
        },
        "wcag": {
          "scs": [
            "4.1.2"
          ],
          "level": "A"
        },
        "ruleUrl": "https://dequeuniversity.com/rules/axe/4.11/aria-prohibited-attr?application=playwright",
        "ruleTitle": null,
        "pages": {},
        "totalOccurrences": 1,
        "examples": [
          {
            "url": "https://london.gov.uk/national-careers-service",
            "html": "<div class=\"html5-video-player ytp-hide-controls ytp-exp-bottom-control-flexbox ytp-modern-caption ytp-livebadge-color unstarted-mode\" tabindex=\"\" id=\"movie_player\" data-version=\"/s/player/8fb635c2/player_embed.vflset/en_US/base.js\" aria-label=\"YouTube Video Player\">",
            "xpath": "#homepagevideo",
            "message": "Elements must only use permitted ARIA attributes",
            "fixSummary": "Fix all of the following:\n  aria-label attribute cannot be used on a div with no valid role attribute.",
            "relatedPaths": null,
            "colorScheme": "light",
            "fingerprint": "6f786a20f53d",
            "firstSeenAt": "2026-05-09T01:30:54.430Z",
            "patternId": "A11Y-ffcccab9"
          }
        ]
      }
    ],
    "roleStats": {
      "UX Designer": 23,
      "Visual Designer": 6,
      "Content Author": 13,
      "Front-End Developer": 420
    },
    "severityStats": {
      "Critical": 2,
      "Serious": 6,
      "Moderate": 431,
      "Minor": 0
    }
  },
  "changeTracking": {
    "newCount": 435,
    "resolvedCount": 0,
    "newIssues": [
      {
        "fingerprint": "a2ec876e44f1",
        "url": "https://www.london.gov.uk/",
        "ruleKey": "rule:heading-order|light",
        "engine": "axe"
      },
      {
        "fingerprint": "16aa65584af9",
        "url": "https://www.london.gov.uk/",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "76f91e3f4a9a",
        "url": "https://www.london.gov.uk/",
        "ruleKey": "rule:qw-act-r12|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "ecbe29769268",
        "url": "https://www.london.gov.uk/",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "16344616bbe7",
        "url": "https://www.london.gov.uk/",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "c952f6c30ea9",
        "url": "https://www.london.gov.uk/",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "9b64f11a9951",
        "url": "https://www.facebook.com/OldOakParkRoyal/",
        "ruleKey": "rule:aria-dialog-name|light",
        "engine": "axe"
      },
      {
        "fingerprint": "09f2fe5a76c0",
        "url": "https://www.facebook.com/OldOakParkRoyal/",
        "ruleKey": "wcag:wcag143|light",
        "engine": "axe"
      },
      {
        "fingerprint": "8d09da2f85a5",
        "url": "https://www.facebook.com/OldOakParkRoyal/",
        "ruleKey": "rule:meta-viewport-large|light",
        "engine": "axe"
      },
      {
        "fingerprint": "4b6466832651",
        "url": "https://www.facebook.com/OldOakParkRoyal/",
        "ruleKey": "rule:aria-dialog-name|dark",
        "engine": "axe"
      },
      {
        "fingerprint": "ec58c59c6323",
        "url": "https://www.facebook.com/OldOakParkRoyal/",
        "ruleKey": "wcag:wcag143|dark",
        "engine": "axe"
      },
      {
        "fingerprint": "dfadc9fc1543",
        "url": "https://www.facebook.com/OldOakParkRoyal/",
        "ruleKey": "rule:meta-viewport-large|dark",
        "engine": "axe"
      },
      {
        "fingerprint": "7c9eba730cb1",
        "url": "https://www.facebook.com/OldOakParkRoyal/",
        "ruleKey": "rule:qw-act-r13|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "4ace40bd91bc",
        "url": "https://www.facebook.com/OldOakParkRoyal/",
        "ruleKey": "rule:qw-act-r37|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "f8ba74cc39fa",
        "url": "https://www.facebook.com/OldOakParkRoyal/",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "06c739613915",
        "url": "https://www.london.gov.uk/programmes-strategies/communities-and-social-justice/european-londoners-hub/advice-and-support-services",
        "ruleKey": "wcag:wcag221|light",
        "engine": "axe"
      },
      {
        "fingerprint": "44186fb51952",
        "url": "https://www.london.gov.uk/programmes-strategies/communities-and-social-justice/european-londoners-hub/advice-and-support-services",
        "ruleKey": "wcag:wcag221|dark",
        "engine": "axe"
      },
      {
        "fingerprint": "f6ce5919a63b",
        "url": "https://www.london.gov.uk/programmes-strategies/communities-and-social-justice/european-londoners-hub/advice-and-support-services",
        "ruleKey": "rule:qw-act-r4|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "99ae758a93fd",
        "url": "https://www.london.gov.uk/programmes-strategies/communities-and-social-justice/european-londoners-hub/advice-and-support-services",
        "ruleKey": "rule:qw-act-r71|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "ddf6bd4c6864",
        "url": "https://www.london.gov.uk/warmer-homes-faqs/i-received-support-under-first-phase-warmer-homes-can-i-re-apply-phase-warmer-homes",
        "ruleKey": "rule:heading-order|light",
        "engine": "axe"
      },
      {
        "fingerprint": "1a138c983029",
        "url": "https://www.london.gov.uk/warmer-homes-faqs/i-received-support-under-first-phase-warmer-homes-can-i-re-apply-phase-warmer-homes",
        "ruleKey": "rule:heading-order|light",
        "engine": "axe"
      },
      {
        "fingerprint": "775a6f87c8ba",
        "url": "https://www.london.gov.uk/warmer-homes-faqs/i-received-support-under-first-phase-warmer-homes-can-i-re-apply-phase-warmer-homes",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "4ceace9fa6a1",
        "url": "https://www.london.gov.uk/warmer-homes-faqs/i-received-support-under-first-phase-warmer-homes-can-i-re-apply-phase-warmer-homes",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "a34ae881e3a5",
        "url": "https://www.london.gov.uk/warmer-homes-faqs/i-received-support-under-first-phase-warmer-homes-can-i-re-apply-phase-warmer-homes",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "94bc41de3983",
        "url": "https://www.london.gov.uk/warmer-homes-faqs/i-received-support-under-first-phase-warmer-homes-can-i-re-apply-phase-warmer-homes",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "4aff83ed4490",
        "url": "https://london.gov.uk/programmes-strategies/accessibility",
        "ruleKey": "wcag:wcag221|light",
        "engine": "axe"
      },
      {
        "fingerprint": "fdc53c202ae8",
        "url": "https://london.gov.uk/programmes-strategies/accessibility",
        "ruleKey": "wcag:wcag221|dark",
        "engine": "axe"
      },
      {
        "fingerprint": "5fca22d6768a",
        "url": "https://london.gov.uk/programmes-strategies/accessibility",
        "ruleKey": "rule:qw-act-r4|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "9ff74ce4a7e9",
        "url": "https://london.gov.uk/programmes-strategies/accessibility",
        "ruleKey": "rule:qw-act-r71|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "b92eadbf111b",
        "url": "https://london.gov.uk/programmes-strategies/accessibility-statement-talk-london",
        "ruleKey": "wcag:wcag221|light",
        "engine": "axe"
      },
      {
        "fingerprint": "7229c37a6b20",
        "url": "https://london.gov.uk/programmes-strategies/accessibility-statement-talk-london",
        "ruleKey": "wcag:wcag221|dark",
        "engine": "axe"
      },
      {
        "fingerprint": "0e35670005b6",
        "url": "https://london.gov.uk/programmes-strategies/accessibility-statement-talk-london",
        "ruleKey": "rule:qw-act-r4|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "3a3b734b49f9",
        "url": "https://london.gov.uk/programmes-strategies/accessibility-statement-talk-london",
        "ruleKey": "rule:qw-act-r71|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "2ecc9905d339",
        "url": "https://london.gov.uk/programmes-strategies/arts-and-culture/space-culture/help-resources-and-guidance/finding-building-or-land",
        "ruleKey": "wcag:wcag221|light",
        "engine": "axe"
      },
      {
        "fingerprint": "6aaa109d5996",
        "url": "https://london.gov.uk/programmes-strategies/arts-and-culture/space-culture/help-resources-and-guidance/finding-building-or-land",
        "ruleKey": "wcag:wcag221|dark",
        "engine": "axe"
      },
      {
        "fingerprint": "e604e43c58c4",
        "url": "https://london.gov.uk/programmes-strategies/arts-and-culture/space-culture/help-resources-and-guidance/finding-building-or-land",
        "ruleKey": "rule:qw-act-r4|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "be52362a0b33",
        "url": "https://london.gov.uk/programmes-strategies/arts-and-culture/space-culture/help-resources-and-guidance/finding-building-or-land",
        "ruleKey": "rule:qw-act-r71|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "8219dcf3d7af",
        "url": "https://homes.london.gov.uk/",
        "ruleKey": "wcag:wcag143|light",
        "engine": "axe"
      },
      {
        "fingerprint": "74e49bf39a14",
        "url": "https://homes.london.gov.uk/",
        "ruleKey": "wcag:wcag143|light",
        "engine": "axe"
      },
      {
        "fingerprint": "f111314f7fde",
        "url": "https://homes.london.gov.uk/",
        "ruleKey": "rule:region|light",
        "engine": "axe"
      },
      {
        "fingerprint": "90ee2231415f",
        "url": "https://homes.london.gov.uk/",
        "ruleKey": "rule:region|light",
        "engine": "axe"
      },
      {
        "fingerprint": "7112ab3dde02",
        "url": "https://homes.london.gov.uk/",
        "ruleKey": "rule:region|light",
        "engine": "axe"
      },
      {
        "fingerprint": "68131150f15f",
        "url": "https://homes.london.gov.uk/",
        "ruleKey": "rule:qw-act-r30|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "b9db8582ffb6",
        "url": "https://homes.london.gov.uk/",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "860f23c8a99d",
        "url": "https://www.london.gov.uk/programmes-strategies/jobs-and-skills/find-adult-learning-providers-near-me",
        "ruleKey": "wcag:wcag221|light",
        "engine": "axe"
      },
      {
        "fingerprint": "7db8e0ebc1d4",
        "url": "https://www.london.gov.uk/programmes-strategies/jobs-and-skills/find-adult-learning-providers-near-me",
        "ruleKey": "wcag:wcag221|dark",
        "engine": "axe"
      },
      {
        "fingerprint": "44fbe152ae07",
        "url": "https://www.london.gov.uk/programmes-strategies/jobs-and-skills/find-adult-learning-providers-near-me",
        "ruleKey": "rule:qw-act-r4|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "6056bccdb869",
        "url": "https://www.london.gov.uk/programmes-strategies/jobs-and-skills/find-adult-learning-providers-near-me",
        "ruleKey": "rule:qw-act-r71|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "cc12e4e92ab4",
        "url": "https://www.london.gov.uk/programmes-strategies/education-and-youth/schools-success/schools-success-mapped",
        "ruleKey": "wcag:wcag221|light",
        "engine": "axe"
      },
      {
        "fingerprint": "93cc614b9758",
        "url": "https://www.london.gov.uk/programmes-strategies/education-and-youth/schools-success/schools-success-mapped",
        "ruleKey": "wcag:wcag221|dark",
        "engine": "axe"
      },
      {
        "fingerprint": "9a73ff5dd589",
        "url": "https://www.london.gov.uk/programmes-strategies/education-and-youth/schools-success/schools-success-mapped",
        "ruleKey": "rule:qw-act-r4|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "e87122ccd066",
        "url": "https://www.london.gov.uk/programmes-strategies/education-and-youth/schools-success/schools-success-mapped",
        "ruleKey": "rule:qw-act-r71|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "308273964936",
        "url": "https://www.london.gov.uk/programmes-strategies/volunteering/search/",
        "ruleKey": "wcag:wcag221|light",
        "engine": "axe"
      },
      {
        "fingerprint": "080ab5d53b57",
        "url": "https://www.london.gov.uk/programmes-strategies/volunteering/search/",
        "ruleKey": "wcag:wcag221|dark",
        "engine": "axe"
      },
      {
        "fingerprint": "98d177e8fcb4",
        "url": "https://www.london.gov.uk/programmes-strategies/volunteering/search/",
        "ruleKey": "rule:qw-act-r4|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "9f715e3b3fb1",
        "url": "https://www.london.gov.uk/programmes-strategies/volunteering/search/",
        "ruleKey": "rule:qw-act-r71|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "3f48eb105626",
        "url": "https://www.london.gov.uk/events/2016-03-18/find-your-london/find-your-london-festival-map",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "9777c75a0cd7",
        "url": "https://www.london.gov.uk/events/2016-03-18/find-your-london/find-your-london-festival-map",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "5871f409edfa",
        "url": "https://www.london.gov.uk/events/2016-03-18/find-your-london/find-your-london-festival-map",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "7c49dd244520",
        "url": "https://www.london.gov.uk/events/2016-03-18/find-your-london/find-your-london-festival-map",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "c1c7bbeadfd6",
        "url": "https://london.gov.uk/programmes-strategies/accessibility/accessible-comms-policy",
        "ruleKey": "wcag:wcag221|light",
        "engine": "axe"
      },
      {
        "fingerprint": "f4c4094b77bd",
        "url": "https://london.gov.uk/programmes-strategies/accessibility/accessible-comms-policy",
        "ruleKey": "wcag:wcag221|dark",
        "engine": "axe"
      },
      {
        "fingerprint": "c26c3b39f1ab",
        "url": "https://london.gov.uk/programmes-strategies/accessibility/accessible-comms-policy",
        "ruleKey": "rule:qw-act-r4|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "b7d2f1efdc40",
        "url": "https://london.gov.uk/programmes-strategies/accessibility/accessible-comms-policy",
        "ruleKey": "rule:qw-act-r71|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "4d9dbec10622",
        "url": "https://london.gov.uk/programmes-strategies/communities-and-social-justice/european-londoners-hub/advice-and-support-services",
        "ruleKey": "wcag:wcag221|light",
        "engine": "axe"
      },
      {
        "fingerprint": "d7ff4e938cee",
        "url": "https://london.gov.uk/programmes-strategies/communities-and-social-justice/european-londoners-hub/advice-and-support-services",
        "ruleKey": "wcag:wcag221|dark",
        "engine": "axe"
      },
      {
        "fingerprint": "6d5c33d481fb",
        "url": "https://london.gov.uk/programmes-strategies/communities-and-social-justice/european-londoners-hub/advice-and-support-services",
        "ruleKey": "rule:qw-act-r4|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "297444e7f8a4",
        "url": "https://london.gov.uk/programmes-strategies/communities-and-social-justice/european-londoners-hub/advice-and-support-services",
        "ruleKey": "rule:qw-act-r71|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "dc4c49e33166",
        "url": "https://london.gov.uk/programmes-strategies/communities-and-social-justice/help-cost-living/income-and-budgeting/debt-help/where-find-debt-advice",
        "ruleKey": "wcag:wcag221|light",
        "engine": "axe"
      },
      {
        "fingerprint": "3ecb1489d710",
        "url": "https://london.gov.uk/programmes-strategies/communities-and-social-justice/help-cost-living/income-and-budgeting/debt-help/where-find-debt-advice",
        "ruleKey": "wcag:wcag221|dark",
        "engine": "axe"
      },
      {
        "fingerprint": "7641f5f51918",
        "url": "https://london.gov.uk/programmes-strategies/communities-and-social-justice/help-cost-living/income-and-budgeting/debt-help/where-find-debt-advice",
        "ruleKey": "rule:qw-act-r4|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "2ddfee7e61a1",
        "url": "https://london.gov.uk/programmes-strategies/communities-and-social-justice/help-cost-living/income-and-budgeting/debt-help/where-find-debt-advice",
        "ruleKey": "rule:qw-act-r71|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "40093779f682",
        "url": "https://london.gov.uk/programmes-strategies/education-and-youth/young-londoners/new-deal-young-people/find-resources-mentoring-programmes/mentoring-and-mental-health-support-programme-funding-2026-27",
        "ruleKey": "wcag:wcag221|light",
        "engine": "axe"
      },
      {
        "fingerprint": "aa7ec7c0c573",
        "url": "https://london.gov.uk/programmes-strategies/education-and-youth/young-londoners/new-deal-young-people/find-resources-mentoring-programmes/mentoring-and-mental-health-support-programme-funding-2026-27",
        "ruleKey": "wcag:wcag221|dark",
        "engine": "axe"
      },
      {
        "fingerprint": "1907f8386e6c",
        "url": "https://london.gov.uk/programmes-strategies/education-and-youth/young-londoners/new-deal-young-people/find-resources-mentoring-programmes/mentoring-and-mental-health-support-programme-funding-2026-27",
        "ruleKey": "rule:qw-act-r4|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "59af97387ea5",
        "url": "https://london.gov.uk/programmes-strategies/education-and-youth/young-londoners/new-deal-young-people/find-resources-mentoring-programmes/mentoring-and-mental-health-support-programme-funding-2026-27",
        "ruleKey": "rule:qw-act-r71|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "2b5e214366cb",
        "url": "https://london.gov.uk/programmes-strategies/mayors-office-policing-and-crime/services-we-fund/supporting-victims-and-witnesses",
        "ruleKey": "wcag:wcag221|light",
        "engine": "axe"
      },
      {
        "fingerprint": "5d36830e46a4",
        "url": "https://london.gov.uk/programmes-strategies/mayors-office-policing-and-crime/services-we-fund/supporting-victims-and-witnesses",
        "ruleKey": "wcag:wcag221|dark",
        "engine": "axe"
      },
      {
        "fingerprint": "b9286322183c",
        "url": "https://london.gov.uk/programmes-strategies/mayors-office-policing-and-crime/services-we-fund/supporting-victims-and-witnesses",
        "ruleKey": "rule:qw-act-r4|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "5b4bd4414850",
        "url": "https://london.gov.uk/programmes-strategies/mayors-office-policing-and-crime/services-we-fund/supporting-victims-and-witnesses",
        "ruleKey": "rule:qw-act-r71|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "1f62327af10a",
        "url": "https://www.london.gov.uk/what-affordable-home-and-how-can-i-find-one",
        "ruleKey": "rule:heading-order|light",
        "engine": "axe"
      },
      {
        "fingerprint": "26f0629c185a",
        "url": "https://www.london.gov.uk/what-affordable-home-and-how-can-i-find-one",
        "ruleKey": "rule:heading-order|light",
        "engine": "axe"
      },
      {
        "fingerprint": "ba0cb8335751",
        "url": "https://www.london.gov.uk/what-affordable-home-and-how-can-i-find-one",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "6aacc5ef7982",
        "url": "https://www.london.gov.uk/what-affordable-home-and-how-can-i-find-one",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "04264ee7716c",
        "url": "https://www.london.gov.uk/what-affordable-home-and-how-can-i-find-one",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "32797201b755",
        "url": "https://www.london.gov.uk/what-affordable-home-and-how-can-i-find-one",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "dbe70ebd9237",
        "url": "https://www.london.gov.uk/who-we-are/city-halls-buildings-and-squares/accessibility-city-hall",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "cac2cb694f56",
        "url": "https://www.london.gov.uk/who-we-are/city-halls-buildings-and-squares/accessibility-city-hall",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "cf2c8268bebb",
        "url": "https://www.london.gov.uk/who-we-are/city-halls-buildings-and-squares/accessibility-city-hall",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "5cc77aa10563",
        "url": "https://www.london.gov.uk/who-we-are/city-halls-buildings-and-squares/accessibility-city-hall",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "8a05dbe792c9",
        "url": "https://www.london.gov.uk/publications/festival-ideas-workshop-findings",
        "ruleKey": "rule:empty-table-header|light",
        "engine": "axe"
      },
      {
        "fingerprint": "881f08eccca3",
        "url": "https://www.london.gov.uk/publications/festival-ideas-workshop-findings",
        "ruleKey": "rule:empty-table-header|light",
        "engine": "axe"
      },
      {
        "fingerprint": "ff703d2a55ac",
        "url": "https://www.london.gov.uk/publications/festival-ideas-workshop-findings",
        "ruleKey": "rule:empty-table-header|light",
        "engine": "axe"
      },
      {
        "fingerprint": "ccab4eda0a9c",
        "url": "https://www.london.gov.uk/publications/festival-ideas-workshop-findings",
        "ruleKey": "rule:empty-table-header|light",
        "engine": "axe"
      },
      {
        "fingerprint": "43ff290aeec2",
        "url": "https://www.london.gov.uk/publications/festival-ideas-workshop-findings",
        "ruleKey": "rule:empty-table-header|light",
        "engine": "axe"
      },
      {
        "fingerprint": "209c4f638ff4",
        "url": "https://www.london.gov.uk/publications/festival-ideas-workshop-findings",
        "ruleKey": "rule:empty-table-header|light",
        "engine": "axe"
      },
      {
        "fingerprint": "92f736e177f6",
        "url": "https://www.london.gov.uk/publications/festival-ideas-workshop-findings",
        "ruleKey": "rule:empty-table-header|light",
        "engine": "axe"
      },
      {
        "fingerprint": "e25dfc83a346",
        "url": "https://www.london.gov.uk/publications/festival-ideas-workshop-findings",
        "ruleKey": "rule:empty-table-header|light",
        "engine": "axe"
      },
      {
        "fingerprint": "9ad18ec82acc",
        "url": "https://www.london.gov.uk/publications/festival-ideas-workshop-findings",
        "ruleKey": "rule:empty-table-header|light",
        "engine": "axe"
      },
      {
        "fingerprint": "2f20eb646547",
        "url": "https://www.london.gov.uk/publications/festival-ideas-workshop-findings",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "035b291b20f0",
        "url": "https://www.london.gov.uk/publications/festival-ideas-workshop-findings",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "f8297a35e0ea",
        "url": "https://www.london.gov.uk/publications/festival-ideas-workshop-findings",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "01ca1744031e",
        "url": "https://www.london.gov.uk/publications/festival-ideas-workshop-findings",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "b807777d7ff2",
        "url": "https://www.london.gov.uk/city-hall-blog/do-you-have-rogue-landlord-find-out-here",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "9be6826d38ec",
        "url": "https://www.london.gov.uk/city-hall-blog/do-you-have-rogue-landlord-find-out-here",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "29ca2985a70a",
        "url": "https://www.london.gov.uk/city-hall-blog/do-you-have-rogue-landlord-find-out-here",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "dcebf8166f15",
        "url": "https://www.london.gov.uk/city-hall-blog/do-you-have-rogue-landlord-find-out-here",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "7056d3f757c9",
        "url": "https://www.london.gov.uk/city-hall-blog/find-out-how-our-empty-land-being-used-benefit-londoners",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "dd97605f3f2e",
        "url": "https://www.london.gov.uk/city-hall-blog/find-out-how-our-empty-land-being-used-benefit-londoners",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "9803b30cb91a",
        "url": "https://www.london.gov.uk/city-hall-blog/find-out-how-our-empty-land-being-used-benefit-londoners",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "743a70e14949",
        "url": "https://www.london.gov.uk/city-hall-blog/find-out-how-our-empty-land-being-used-benefit-londoners",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "36e4090064b3",
        "url": "https://www.london.gov.uk/city-hall-blog/finding-ways-get-more-women-cleantech-and-keep-them-there",
        "ruleKey": "rule:heading-order|light",
        "engine": "axe"
      },
      {
        "fingerprint": "be3bfae637af",
        "url": "https://www.london.gov.uk/city-hall-blog/finding-ways-get-more-women-cleantech-and-keep-them-there",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "32e57033abeb",
        "url": "https://www.london.gov.uk/city-hall-blog/finding-ways-get-more-women-cleantech-and-keep-them-there",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "319a939d505e",
        "url": "https://www.london.gov.uk/city-hall-blog/finding-ways-get-more-women-cleantech-and-keep-them-there",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "eebc6d9a0156",
        "url": "https://www.london.gov.uk/city-hall-blog/finding-ways-get-more-women-cleantech-and-keep-them-there",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "4cb44a9c74f7",
        "url": "https://www.london.gov.uk/city-hall-blog/step-outside-and-find-your-london-spring",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "cb5b7ba53bb7",
        "url": "https://www.london.gov.uk/city-hall-blog/step-outside-and-find-your-london-spring",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "4c6eea488803",
        "url": "https://www.london.gov.uk/city-hall-blog/step-outside-and-find-your-london-spring",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "b039b91c04fd",
        "url": "https://www.london.gov.uk/city-hall-blog/step-outside-and-find-your-london-spring",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "029e0581604e",
        "url": "https://www.london.gov.uk/city-hall-blog/where-find-best-londons-culture-online",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "f95dd4814bec",
        "url": "https://www.london.gov.uk/city-hall-blog/where-find-best-londons-culture-online",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "08e66102d112",
        "url": "https://www.london.gov.uk/city-hall-blog/where-find-best-londons-culture-online",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "618832e9dd95",
        "url": "https://www.london.gov.uk/city-hall-blog/where-find-best-londons-culture-online",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "a981eb982673",
        "url": "https://www.london.gov.uk/programmes-and-strategies/environment-and-climate-change/energy/renew-0/renew-support",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "cd787359a779",
        "url": "https://www.london.gov.uk/programmes-and-strategies/environment-and-climate-change/energy/renew-0/renew-support",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "b639d46324a2",
        "url": "https://www.london.gov.uk/programmes-and-strategies/environment-and-climate-change/energy/renew-0/renew-support",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "43887a3c8f73",
        "url": "https://www.london.gov.uk/programmes-and-strategies/environment-and-climate-change/energy/renew-0/renew-support",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "65ede0e061c4",
        "url": "https://london.gov.uk/programmes-strategies/arts-and-culture/space-culture/help-resources-and-guidance/space-register",
        "ruleKey": "wcag:wcag221|light",
        "engine": "axe"
      },
      {
        "fingerprint": "0d5162e5db27",
        "url": "https://london.gov.uk/programmes-strategies/arts-and-culture/space-culture/help-resources-and-guidance/space-register",
        "ruleKey": "wcag:wcag221|dark",
        "engine": "axe"
      },
      {
        "fingerprint": "671b35b0bbea",
        "url": "https://london.gov.uk/programmes-strategies/arts-and-culture/space-culture/help-resources-and-guidance/space-register",
        "ruleKey": "rule:qw-act-r4|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "02dccbae8ac2",
        "url": "https://london.gov.uk/programmes-strategies/arts-and-culture/space-culture/help-resources-and-guidance/space-register",
        "ruleKey": "rule:qw-act-r71|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "4872ff5f8377",
        "url": "https://london.gov.uk/programmes-strategies/education-and-youth/healthy-early-years-london-and-healthy-schools-london/accessibility-statement-healthy-early-years-london-and-healthy-schools-london",
        "ruleKey": "wcag:wcag221|light",
        "engine": "axe"
      },
      {
        "fingerprint": "dec3ea988e5f",
        "url": "https://london.gov.uk/programmes-strategies/education-and-youth/healthy-early-years-london-and-healthy-schools-london/accessibility-statement-healthy-early-years-london-and-healthy-schools-london",
        "ruleKey": "wcag:wcag221|dark",
        "engine": "axe"
      },
      {
        "fingerprint": "c9543f7227ba",
        "url": "https://london.gov.uk/programmes-strategies/education-and-youth/healthy-early-years-london-and-healthy-schools-london/accessibility-statement-healthy-early-years-london-and-healthy-schools-london",
        "ruleKey": "rule:qw-act-r4|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "3896b0b67a31",
        "url": "https://london.gov.uk/programmes-strategies/education-and-youth/healthy-early-years-london-and-healthy-schools-london/accessibility-statement-healthy-early-years-london-and-healthy-schools-london",
        "ruleKey": "rule:qw-act-r71|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "4d38b6f19b0b",
        "url": "https://www.london.gov.uk/warmer-homes-faqs/where-can-i-find-out-more-about-different-kinds-improvements",
        "ruleKey": "rule:heading-order|light",
        "engine": "axe"
      },
      {
        "fingerprint": "d36b9ff1b427",
        "url": "https://www.london.gov.uk/warmer-homes-faqs/where-can-i-find-out-more-about-different-kinds-improvements",
        "ruleKey": "rule:heading-order|light",
        "engine": "axe"
      },
      {
        "fingerprint": "fc0075a80b36",
        "url": "https://www.london.gov.uk/warmer-homes-faqs/where-can-i-find-out-more-about-different-kinds-improvements",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "960810498722",
        "url": "https://www.london.gov.uk/warmer-homes-faqs/where-can-i-find-out-more-about-different-kinds-improvements",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "0f117d83c844",
        "url": "https://www.london.gov.uk/warmer-homes-faqs/where-can-i-find-out-more-about-different-kinds-improvements",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "9523400de891",
        "url": "https://www.london.gov.uk/warmer-homes-faqs/where-can-i-find-out-more-about-different-kinds-improvements",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "62b88a25978d",
        "url": "https://www.london.gov.uk/who-we-are/what-london-assembly-does/assembly-members/publications-tom-copley/centre-stage-report-supporting",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "aa3e75c0b0ad",
        "url": "https://www.london.gov.uk/who-we-are/what-london-assembly-does/assembly-members/publications-tom-copley/centre-stage-report-supporting",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "4f52206c001c",
        "url": "https://www.london.gov.uk/who-we-are/what-london-assembly-does/assembly-members/publications-tom-copley/centre-stage-report-supporting",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "5d52da857d88",
        "url": "https://www.london.gov.uk/who-we-are/what-london-assembly-does/assembly-members/publications-tom-copley/centre-stage-report-supporting",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "1af253066068",
        "url": "https://www.london.gov.uk/who-we-are/what-london-assembly-does/questions-mayor/accessibility-statement-mayors-question-time",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "1068bd95e8f1",
        "url": "https://www.london.gov.uk/who-we-are/what-london-assembly-does/questions-mayor/accessibility-statement-mayors-question-time",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "359b9cda4acc",
        "url": "https://www.london.gov.uk/who-we-are/what-london-assembly-does/questions-mayor/accessibility-statement-mayors-question-time",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "74e1bd6e2be5",
        "url": "https://www.london.gov.uk/who-we-are/what-london-assembly-does/questions-mayor/accessibility-statement-mayors-question-time",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "5adfe10bbf88",
        "url": "https://www.london.gov.uk/media-centre",
        "ruleKey": "rule:landmark-unique|light",
        "engine": "axe"
      },
      {
        "fingerprint": "b8ae3e38168f",
        "url": "https://www.london.gov.uk/media-centre",
        "ruleKey": "rule:landmark-unique|light",
        "engine": "axe"
      },
      {
        "fingerprint": "6f78ec79903c",
        "url": "https://www.london.gov.uk/media-centre",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "62780441f25d",
        "url": "https://www.london.gov.uk/media-centre",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "11383cafc4b8",
        "url": "https://www.london.gov.uk/media-centre",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "23d1af843a5e",
        "url": "https://www.london.gov.uk/media-centre",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "2c0c9c8d2ac0",
        "url": "https://www.gov.uk/settled-status-eu-citizens-families/applying-for-settled-status",
        "ruleKey": "rule:region|light",
        "engine": "axe"
      },
      {
        "fingerprint": "9b7d2a0f2c73",
        "url": "https://www.gov.uk/settled-status-eu-citizens-families/applying-for-settled-status",
        "ruleKey": "rule:region|light",
        "engine": "axe"
      },
      {
        "fingerprint": "4ef6b4ee4a2c",
        "url": "https://www.gov.uk/settled-status-eu-citizens-families/applying-for-settled-status",
        "ruleKey": "rule:region|light",
        "engine": "axe"
      },
      {
        "fingerprint": "0dd85fbd7918",
        "url": "https://www.gov.uk/settled-status-eu-citizens-families/applying-for-settled-status",
        "ruleKey": "rule:qw-act-r30|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "2c68b407e164",
        "url": "https://www.gov.uk/settled-status-eu-citizens-families/applying-for-settled-status",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "16ed0a7f683b",
        "url": "https://www.london.gov.uk/programmes-strategies/volunteering/resources-organisations-social-enterprises-and-charities/changes-team-london-volunteering-website-faqs",
        "ruleKey": "wcag:wcag221|light",
        "engine": "axe"
      },
      {
        "fingerprint": "421cdecc1bad",
        "url": "https://www.london.gov.uk/programmes-strategies/volunteering/resources-organisations-social-enterprises-and-charities/changes-team-london-volunteering-website-faqs",
        "ruleKey": "wcag:wcag221|dark",
        "engine": "axe"
      },
      {
        "fingerprint": "53cf53a0c1fc",
        "url": "https://www.london.gov.uk/programmes-strategies/volunteering/resources-organisations-social-enterprises-and-charities/changes-team-london-volunteering-website-faqs",
        "ruleKey": "rule:qw-act-r4|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "2ad2db3aaba6",
        "url": "https://www.london.gov.uk/programmes-strategies/volunteering/resources-organisations-social-enterprises-and-charities/changes-team-london-volunteering-website-faqs",
        "ruleKey": "rule:qw-act-r71|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "621e74091cf6",
        "url": "https://consultations.tfl.gov.uk/buses/436-452",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "c3c81374d67b",
        "url": "https://consultations.tfl.gov.uk/buses/436-452",
        "ruleKey": "rule:landmark-one-main|light",
        "engine": "axe"
      },
      {
        "fingerprint": "679ac1638caa",
        "url": "https://consultations.tfl.gov.uk/buses/436-452",
        "ruleKey": "wcag:wcag144|light",
        "engine": "axe"
      },
      {
        "fingerprint": "e4a957f005f6",
        "url": "https://consultations.tfl.gov.uk/buses/436-452",
        "ruleKey": "rule:region|light",
        "engine": "axe"
      },
      {
        "fingerprint": "f47cea57fecc",
        "url": "https://consultations.tfl.gov.uk/buses/436-452",
        "ruleKey": "rule:region|light",
        "engine": "axe"
      },
      {
        "fingerprint": "2b8fade7933d",
        "url": "https://consultations.tfl.gov.uk/buses/436-452",
        "ruleKey": "rule:qw-act-r14|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "6296b4d15541",
        "url": "https://consultations.tfl.gov.uk/buses/436-452",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "1b07c968df6f",
        "url": "https://www.london.gov.uk/user/login?destination=/programmes-and-strategies/environment-and-climate-change/energy/renew-0/contact-renew",
        "ruleKey": "rule:region|light",
        "engine": "axe"
      },
      {
        "fingerprint": "071e04455f7f",
        "url": "https://www.london.gov.uk/could-you-please-confirm-if-we-need-apply-map-quality-mark-construction-provision-if-it-already",
        "ruleKey": "rule:heading-order|light",
        "engine": "axe"
      },
      {
        "fingerprint": "568192fb0abc",
        "url": "https://www.london.gov.uk/could-you-please-confirm-if-we-need-apply-map-quality-mark-construction-provision-if-it-already",
        "ruleKey": "rule:heading-order|light",
        "engine": "axe"
      },
      {
        "fingerprint": "48b8bb324d66",
        "url": "https://www.london.gov.uk/could-you-please-confirm-if-we-need-apply-map-quality-mark-construction-provision-if-it-already",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "61aabbc6b5de",
        "url": "https://www.london.gov.uk/could-you-please-confirm-if-we-need-apply-map-quality-mark-construction-provision-if-it-already",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "86dc1a92793c",
        "url": "https://www.london.gov.uk/could-you-please-confirm-if-we-need-apply-map-quality-mark-construction-provision-if-it-already",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "5e1bd9a601b2",
        "url": "https://www.london.gov.uk/could-you-please-confirm-if-we-need-apply-map-quality-mark-construction-provision-if-it-already",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "48ce28c96c50",
        "url": "https://www.london.gov.uk/covid-19-resources-and-services-your-language",
        "ruleKey": "rule:heading-order|light",
        "engine": "axe"
      },
      {
        "fingerprint": "6c6993abff5e",
        "url": "https://www.london.gov.uk/covid-19-resources-and-services-your-language",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "65e7d691f074",
        "url": "https://www.london.gov.uk/covid-19-resources-and-services-your-language",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "ff20c96fed4f",
        "url": "https://www.london.gov.uk/covid-19-resources-and-services-your-language",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "76e96e4393ff",
        "url": "https://www.london.gov.uk/covid-19-resources-and-services-your-language",
        "ruleKey": "rule:qw-act-r30|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "de44e800de03",
        "url": "https://www.london.gov.uk/covid-19-resources-and-services-your-language",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "f008e13fa7f1",
        "url": "https://www.london.gov.uk/defending-londons-postal-service",
        "ruleKey": "wcag:wcag141|light",
        "engine": "axe"
      },
      {
        "fingerprint": "5fca79a946a2",
        "url": "https://www.london.gov.uk/defending-londons-postal-service",
        "ruleKey": "wcag:wcag141|light",
        "engine": "axe"
      },
      {
        "fingerprint": "e7d3cc8051e4",
        "url": "https://www.london.gov.uk/defending-londons-postal-service",
        "ruleKey": "wcag:wcag141|light",
        "engine": "axe"
      },
      {
        "fingerprint": "5ffd04ae01a4",
        "url": "https://www.london.gov.uk/defending-londons-postal-service",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "e82f091aee02",
        "url": "https://www.london.gov.uk/defending-londons-postal-service",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "a1680e150fda",
        "url": "https://www.london.gov.uk/defending-londons-postal-service",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "f30e1e1b469a",
        "url": "https://www.london.gov.uk/defending-londons-postal-service",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "aedb37f40e14",
        "url": "https://www.london.gov.uk/investigation-request-metropolitan-police-actions-against-university-london-students",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "2cded371ce42",
        "url": "https://www.london.gov.uk/investigation-request-metropolitan-police-actions-against-university-london-students",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "e4376d4b8ba4",
        "url": "https://www.london.gov.uk/investigation-request-metropolitan-police-actions-against-university-london-students",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "b7595ab99a32",
        "url": "https://www.london.gov.uk/investigation-request-metropolitan-police-actions-against-university-london-students",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "f7939d33b1fd",
        "url": "https://data.london.gov.uk/dataset/lfb-financial-and-performance-reporting-2019-20",
        "ruleKey": "wcag:wcag221|light",
        "engine": "axe"
      },
      {
        "fingerprint": "6d874e904b18",
        "url": "https://data.london.gov.uk/dataset/lfb-financial-and-performance-reporting-2019-20",
        "ruleKey": "wcag:wcag221|dark",
        "engine": "axe"
      },
      {
        "fingerprint": "4c4dc32b46c7",
        "url": "https://data.london.gov.uk/dataset/lfb-financial-and-performance-reporting-2019-20",
        "ruleKey": "rule:qw-act-r4|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "9c87549eed1e",
        "url": "https://data.london.gov.uk/dataset/lfb-financial-and-performance-reporting-2019-20",
        "ruleKey": "rule:qw-act-r71|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "7e2746d2aa71",
        "url": "https://www.london.gov.uk/programmes-and-strategies/environment-and-climate-change/pollution-and-air-quality/non-road-mobile-machinery-register/login",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "8fe899530072",
        "url": "https://www.london.gov.uk/programmes-and-strategies/environment-and-climate-change/pollution-and-air-quality/non-road-mobile-machinery-register/login",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "6f7799f26ca2",
        "url": "https://www.london.gov.uk/programmes-and-strategies/environment-and-climate-change/pollution-and-air-quality/non-road-mobile-machinery-register/login",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "edd88d35f770",
        "url": "https://www.london.gov.uk/programmes-and-strategies/environment-and-climate-change/pollution-and-air-quality/non-road-mobile-machinery-register/login",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "6f786a20f53d",
        "url": "https://nationalcareers.service.gov.uk/",
        "ruleKey": "wcag:wcag412|light",
        "engine": "axe"
      },
      {
        "fingerprint": "b3bc951de53a",
        "url": "https://nationalcareers.service.gov.uk/",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "d97b0f3164e8",
        "url": "https://www.london.gov.uk/programmes-strategies/health-and-wellbeing/coronavirus-updates-and-guidance",
        "ruleKey": "wcag:wcag221|light",
        "engine": "axe"
      },
      {
        "fingerprint": "f4e46ee14a7a",
        "url": "https://www.london.gov.uk/programmes-strategies/health-and-wellbeing/coronavirus-updates-and-guidance",
        "ruleKey": "wcag:wcag221|dark",
        "engine": "axe"
      },
      {
        "fingerprint": "7b00351b131c",
        "url": "https://www.london.gov.uk/programmes-strategies/health-and-wellbeing/coronavirus-updates-and-guidance",
        "ruleKey": "rule:qw-act-r4|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "5826dd82a0a6",
        "url": "https://www.london.gov.uk/programmes-strategies/health-and-wellbeing/coronavirus-updates-and-guidance",
        "ruleKey": "rule:qw-act-r71|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "1322bcbcb0e9",
        "url": "https://www.london.gov.uk/programmes-and-strategies/environment-and-climate-change/pollution-and-air-quality/nrmm/accessibility-statement-non-road-mobile-machinery",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "38a425ab2be4",
        "url": "https://www.london.gov.uk/programmes-and-strategies/environment-and-climate-change/pollution-and-air-quality/nrmm/accessibility-statement-non-road-mobile-machinery",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "1502be64e3ab",
        "url": "https://www.london.gov.uk/programmes-and-strategies/environment-and-climate-change/pollution-and-air-quality/nrmm/accessibility-statement-non-road-mobile-machinery",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "e9a4bafc66d2",
        "url": "https://www.london.gov.uk/programmes-and-strategies/environment-and-climate-change/pollution-and-air-quality/nrmm/accessibility-statement-non-road-mobile-machinery",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "d8eea5e16788",
        "url": "https://london.gov.uk/programmes-strategies/arts-and-culture/find-out-whats-useful-culture-websites",
        "ruleKey": "wcag:wcag221|light",
        "engine": "axe"
      },
      {
        "fingerprint": "d02a4d91a864",
        "url": "https://london.gov.uk/programmes-strategies/arts-and-culture/find-out-whats-useful-culture-websites",
        "ruleKey": "wcag:wcag221|dark",
        "engine": "axe"
      },
      {
        "fingerprint": "d060edae5698",
        "url": "https://london.gov.uk/programmes-strategies/arts-and-culture/find-out-whats-useful-culture-websites",
        "ruleKey": "rule:qw-act-r4|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "ba9633003830",
        "url": "https://london.gov.uk/programmes-strategies/arts-and-culture/find-out-whats-useful-culture-websites",
        "ruleKey": "rule:qw-act-r71|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "13cd869d4983",
        "url": "https://www.london.gov.uk/healthy-early-years-and-healthy-schools-london/",
        "ruleKey": "wcag:wcag143|light",
        "engine": "axe"
      },
      {
        "fingerprint": "cd96378899cc",
        "url": "https://www.london.gov.uk/healthy-early-years-and-healthy-schools-london/",
        "ruleKey": "wcag:wcag143|light",
        "engine": "axe"
      },
      {
        "fingerprint": "b189a560d253",
        "url": "https://www.london.gov.uk/healthy-early-years-and-healthy-schools-london/",
        "ruleKey": "rule:qw-act-r30|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "9ddc809735fb",
        "url": "https://www.london.gov.uk/healthy-early-years-and-healthy-schools-london/",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "2c0c5450c569",
        "url": "https://www.london.gov.uk/programmes-strategies/education-and-youth/preparing-young-people-workplace/register-your-interest-businesses",
        "ruleKey": "wcag:wcag221|light",
        "engine": "axe"
      },
      {
        "fingerprint": "8d6a347fce54",
        "url": "https://www.london.gov.uk/programmes-strategies/education-and-youth/preparing-young-people-workplace/register-your-interest-businesses",
        "ruleKey": "wcag:wcag221|dark",
        "engine": "axe"
      },
      {
        "fingerprint": "93aabded9165",
        "url": "https://www.london.gov.uk/programmes-strategies/education-and-youth/preparing-young-people-workplace/register-your-interest-businesses",
        "ruleKey": "rule:qw-act-r4|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "3b6535fabba8",
        "url": "https://www.london.gov.uk/programmes-strategies/education-and-youth/preparing-young-people-workplace/register-your-interest-businesses",
        "ruleKey": "rule:qw-act-r71|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "1fbcd5d7167f",
        "url": "https://www.london.gov.uk/programmes-strategies/health-and-wellbeing/london-healthy-workplace-award/about-london-healthy-workplace-award/register-your-interest-london-healthy-workplace-awards",
        "ruleKey": "wcag:wcag221|light",
        "engine": "axe"
      },
      {
        "fingerprint": "a6c2b407d358",
        "url": "https://www.london.gov.uk/programmes-strategies/health-and-wellbeing/london-healthy-workplace-award/about-london-healthy-workplace-award/register-your-interest-london-healthy-workplace-awards",
        "ruleKey": "wcag:wcag221|dark",
        "engine": "axe"
      },
      {
        "fingerprint": "bb02729248e3",
        "url": "https://www.london.gov.uk/programmes-strategies/health-and-wellbeing/london-healthy-workplace-award/about-london-healthy-workplace-award/register-your-interest-london-healthy-workplace-awards",
        "ruleKey": "rule:qw-act-r4|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "c2c0eb30159c",
        "url": "https://www.london.gov.uk/programmes-strategies/health-and-wellbeing/london-healthy-workplace-award/about-london-healthy-workplace-award/register-your-interest-london-healthy-workplace-awards",
        "ruleKey": "rule:qw-act-r71|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "dadb70376b91",
        "url": "https://www.london.gov.uk/programmes-strategies/jobs-and-skills/mayors-construction-academy/register-interest",
        "ruleKey": "wcag:wcag221|light",
        "engine": "axe"
      },
      {
        "fingerprint": "98d7690edbde",
        "url": "https://www.london.gov.uk/programmes-strategies/jobs-and-skills/mayors-construction-academy/register-interest",
        "ruleKey": "wcag:wcag221|dark",
        "engine": "axe"
      },
      {
        "fingerprint": "a8f4af6223e3",
        "url": "https://www.london.gov.uk/programmes-strategies/jobs-and-skills/mayors-construction-academy/register-interest",
        "ruleKey": "rule:qw-act-r4|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "65b41b6dde16",
        "url": "https://www.london.gov.uk/programmes-strategies/jobs-and-skills/mayors-construction-academy/register-interest",
        "ruleKey": "rule:qw-act-r71|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "9b0caeb7474f",
        "url": "https://www.london.gov.uk/programmes-strategies/education-and-youth/preparing-young-people-workplace/register-your-interest-schools",
        "ruleKey": "wcag:wcag221|light",
        "engine": "axe"
      },
      {
        "fingerprint": "ddc3735d0e37",
        "url": "https://www.london.gov.uk/programmes-strategies/education-and-youth/preparing-young-people-workplace/register-your-interest-schools",
        "ruleKey": "wcag:wcag221|dark",
        "engine": "axe"
      },
      {
        "fingerprint": "ebeb2801b5e3",
        "url": "https://www.london.gov.uk/programmes-strategies/education-and-youth/preparing-young-people-workplace/register-your-interest-schools",
        "ruleKey": "rule:qw-act-r4|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "4c7ebc1e12f5",
        "url": "https://www.london.gov.uk/programmes-strategies/education-and-youth/preparing-young-people-workplace/register-your-interest-schools",
        "ruleKey": "rule:qw-act-r71|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "012726b32805",
        "url": "https://www.london.gov.uk/programmes-and-strategies/environment-and-climate-change/energy/renew-0",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "ccd5b53f65ca",
        "url": "https://www.london.gov.uk/programmes-and-strategies/environment-and-climate-change/energy/renew-0",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "1dcd59eb15a8",
        "url": "https://www.london.gov.uk/programmes-and-strategies/environment-and-climate-change/energy/renew-0",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "aba0c6a461e3",
        "url": "https://www.london.gov.uk/programmes-and-strategies/environment-and-climate-change/energy/renew-0",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "0c5ec7608480",
        "url": "https://www.london.gov.uk/programmes-strategies/housing-and-land/renting-home/report-rogue-landlord-or-agent",
        "ruleKey": "wcag:wcag221|light",
        "engine": "axe"
      },
      {
        "fingerprint": "841768f56360",
        "url": "https://www.london.gov.uk/programmes-strategies/housing-and-land/renting-home/report-rogue-landlord-or-agent",
        "ruleKey": "wcag:wcag221|dark",
        "engine": "axe"
      },
      {
        "fingerprint": "a0d15c3e9415",
        "url": "https://www.london.gov.uk/programmes-strategies/housing-and-land/renting-home/report-rogue-landlord-or-agent",
        "ruleKey": "rule:qw-act-r4|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "6daddeedf6f8",
        "url": "https://www.london.gov.uk/programmes-strategies/housing-and-land/renting-home/report-rogue-landlord-or-agent",
        "ruleKey": "rule:qw-act-r71|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "f6e4bab03f68",
        "url": "https://www.london.gov.uk/programmes-strategies/mayors-office-policing-and-crime-mopac/mopac-guidance-and-resources/reporting-hate-crime",
        "ruleKey": "wcag:wcag221|light",
        "engine": "axe"
      },
      {
        "fingerprint": "207576df7f13",
        "url": "https://www.london.gov.uk/programmes-strategies/mayors-office-policing-and-crime-mopac/mopac-guidance-and-resources/reporting-hate-crime",
        "ruleKey": "wcag:wcag221|dark",
        "engine": "axe"
      },
      {
        "fingerprint": "cd0bef764205",
        "url": "https://www.london.gov.uk/programmes-strategies/mayors-office-policing-and-crime-mopac/mopac-guidance-and-resources/reporting-hate-crime",
        "ruleKey": "rule:qw-act-r4|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "7caabea8fb08",
        "url": "https://www.london.gov.uk/programmes-strategies/mayors-office-policing-and-crime-mopac/mopac-guidance-and-resources/reporting-hate-crime",
        "ruleKey": "rule:qw-act-r71|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "50a84c4a639a",
        "url": "https://www.london.gov.uk/publications/reports-toolkits-and-best-practice-guides",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "b90e2b5958aa",
        "url": "https://www.london.gov.uk/publications/reports-toolkits-and-best-practice-guides",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "cfe9c8b824fe",
        "url": "https://www.london.gov.uk/publications/reports-toolkits-and-best-practice-guides",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "7725cf3746f2",
        "url": "https://www.london.gov.uk/publications/reports-toolkits-and-best-practice-guides",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "98ec3562504f",
        "url": "https://www.london.gov.uk/request-halt-tfl-consultation-bus-stops-bromley",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "1ab788ace882",
        "url": "https://www.london.gov.uk/request-halt-tfl-consultation-bus-stops-bromley",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "7d5efe9bfa99",
        "url": "https://www.london.gov.uk/request-halt-tfl-consultation-bus-stops-bromley",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "6d0fd6e56e59",
        "url": "https://www.london.gov.uk/request-halt-tfl-consultation-bus-stops-bromley",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "8a86e5071f8f",
        "url": "https://www.london.gov.uk/request-increase-frequency-481-bus",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "cfe55be3bf20",
        "url": "https://www.london.gov.uk/request-increase-frequency-481-bus",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "b1e7bdf1c0a0",
        "url": "https://www.london.gov.uk/request-increase-frequency-481-bus",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "18577c97798a",
        "url": "https://www.london.gov.uk/request-increase-frequency-481-bus",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "c37b19092851",
        "url": "https://www.london.gov.uk/request-increase-number-bus-countdown-indicators-greyhound-lane-and-streatham-vale",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "a764e5e878a5",
        "url": "https://www.london.gov.uk/request-increase-number-bus-countdown-indicators-greyhound-lane-and-streatham-vale",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "ae5f8c9fc7fe",
        "url": "https://www.london.gov.uk/request-increase-number-bus-countdown-indicators-greyhound-lane-and-streatham-vale",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "259729597746",
        "url": "https://www.london.gov.uk/request-increase-number-bus-countdown-indicators-greyhound-lane-and-streatham-vale",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "90e0af884b32",
        "url": "https://www.london.gov.uk/request-increased-police-numbers-and-local-safer-neighbourhood-teams",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "8300f7945ade",
        "url": "https://www.london.gov.uk/request-increased-police-numbers-and-local-safer-neighbourhood-teams",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "1528cb9604f8",
        "url": "https://www.london.gov.uk/request-increased-police-numbers-and-local-safer-neighbourhood-teams",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "91202d52d9e3",
        "url": "https://www.london.gov.uk/request-increased-police-numbers-and-local-safer-neighbourhood-teams",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "828e5e465405",
        "url": "https://www.london.gov.uk/request-pedestrian-crossing-tulse-hill-and-brixton-water-junction",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "531d79f17fc4",
        "url": "https://www.london.gov.uk/request-pedestrian-crossing-tulse-hill-and-brixton-water-junction",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "5b2ee2204413",
        "url": "https://www.london.gov.uk/request-pedestrian-crossing-tulse-hill-and-brixton-water-junction",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "ed7f02211e6a",
        "url": "https://www.london.gov.uk/request-pedestrian-crossing-tulse-hill-and-brixton-water-junction",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "6712aeff6abb",
        "url": "https://www.london.gov.uk/request-reduce-speed-limit-roehampton-vale",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "44db498a3f41",
        "url": "https://www.london.gov.uk/request-reduce-speed-limit-roehampton-vale",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "f51ca0936b1c",
        "url": "https://www.london.gov.uk/request-reduce-speed-limit-roehampton-vale",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "57132be60e3a",
        "url": "https://www.london.gov.uk/request-reduce-speed-limit-roehampton-vale",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "f4789b6f9ad3",
        "url": "https://www.london.gov.uk/request-reduce-speed-limit-roehampton-vale-0",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "05d67660bfc7",
        "url": "https://www.london.gov.uk/request-reduce-speed-limit-roehampton-vale-0",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "9f62f87c5563",
        "url": "https://www.london.gov.uk/request-reduce-speed-limit-roehampton-vale-0",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "26f4b56b2c10",
        "url": "https://www.london.gov.uk/request-reduce-speed-limit-roehampton-vale-0",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "42615acc30db",
        "url": "https://www.london.gov.uk/request-replacement-bus-shelter-highbury-grange",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "11c78d6f0bbd",
        "url": "https://www.london.gov.uk/request-replacement-bus-shelter-highbury-grange",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "3df90e396b0d",
        "url": "https://www.london.gov.uk/request-replacement-bus-shelter-highbury-grange",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "8f99ba29d180",
        "url": "https://www.london.gov.uk/request-replacement-bus-shelter-highbury-grange",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "3f2f68f5cb58",
        "url": "https://www.london.gov.uk/request-restore-lost-southwark-police-officers",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "aa43f6479059",
        "url": "https://www.london.gov.uk/request-restore-lost-southwark-police-officers",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "b884e2bbeafe",
        "url": "https://www.london.gov.uk/request-restore-lost-southwark-police-officers",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "e91303816f7a",
        "url": "https://www.london.gov.uk/request-restore-lost-southwark-police-officers",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "ba5d79b778f3",
        "url": "https://www.london.gov.uk/request-review-how-control-vehicle-speeds-clapham-common-area",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "d67068827d2c",
        "url": "https://www.london.gov.uk/request-review-how-control-vehicle-speeds-clapham-common-area",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "d2ad68235ffd",
        "url": "https://www.london.gov.uk/request-review-how-control-vehicle-speeds-clapham-common-area",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "6b735d3aa3d3",
        "url": "https://www.london.gov.uk/request-review-how-control-vehicle-speeds-clapham-common-area",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "157d0cd70eec",
        "url": "https://www.london.gov.uk/request-stop-conversion-premier-house",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "9d50377744b0",
        "url": "https://www.london.gov.uk/request-stop-conversion-premier-house",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "0d495709adae",
        "url": "https://www.london.gov.uk/request-stop-conversion-premier-house",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "d65fcfc84dff",
        "url": "https://www.london.gov.uk/request-stop-conversion-premier-house",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "ed2835623904",
        "url": "https://www.london.gov.uk/request-traffic-lights-charterhouse-street-junction",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "10000448f70a",
        "url": "https://www.london.gov.uk/request-traffic-lights-charterhouse-street-junction",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "ecc9d7f815ab",
        "url": "https://www.london.gov.uk/request-traffic-lights-charterhouse-street-junction",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "d5fec32bd3ad",
        "url": "https://www.london.gov.uk/request-traffic-lights-charterhouse-street-junction",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "712f7a3821c8",
        "url": "https://www.london.gov.uk/request-traffic-safety-measures-and-around-redbridge-roundabout",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "b29a3078df9e",
        "url": "https://www.london.gov.uk/request-traffic-safety-measures-and-around-redbridge-roundabout",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "ee4c3ad0d9e2",
        "url": "https://www.london.gov.uk/request-traffic-safety-measures-and-around-redbridge-roundabout",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "550d6eee1447",
        "url": "https://www.london.gov.uk/request-traffic-safety-measures-and-around-redbridge-roundabout",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "0a5ef4b4d0c4",
        "url": "https://www.london.gov.uk/safer-roads-request-chiswick",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "77bb3a922028",
        "url": "https://www.london.gov.uk/safer-roads-request-chiswick",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "8c005caeab41",
        "url": "https://www.london.gov.uk/safer-roads-request-chiswick",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "13fc917f3cad",
        "url": "https://www.london.gov.uk/safer-roads-request-chiswick",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "2209064fced9",
        "url": "https://www.london.gov.uk/step-free-access-rayners-lane-tube-station-request",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "1d07f389fd79",
        "url": "https://www.london.gov.uk/step-free-access-rayners-lane-tube-station-request",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "75f3b63a7aa0",
        "url": "https://www.london.gov.uk/step-free-access-rayners-lane-tube-station-request",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "c6244657a0d6",
        "url": "https://www.london.gov.uk/step-free-access-rayners-lane-tube-station-request",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "08497c17d60f",
        "url": "https://www.london.gov.uk/who-we-are/what-london-assembly-does/london-assembly-publications/london-stalling-reducing-traffic-congestion",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "146712d1e9df",
        "url": "https://www.london.gov.uk/who-we-are/what-london-assembly-does/london-assembly-publications/london-stalling-reducing-traffic-congestion",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "ae58526dd386",
        "url": "https://www.london.gov.uk/who-we-are/what-london-assembly-does/london-assembly-publications/london-stalling-reducing-traffic-congestion",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "6b9325dbec6e",
        "url": "https://www.london.gov.uk/who-we-are/what-london-assembly-does/london-assembly-publications/london-stalling-reducing-traffic-congestion",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "240d34ac3034",
        "url": "https://www.london.gov.uk/traffic-review-request-junction-a20-and-a205-following-safety-concerns",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "5c343e0b78be",
        "url": "https://www.london.gov.uk/traffic-review-request-junction-a20-and-a205-following-safety-concerns",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "ca7c88a00190",
        "url": "https://www.london.gov.uk/traffic-review-request-junction-a20-and-a205-following-safety-concerns",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "2faf96a50a71",
        "url": "https://www.london.gov.uk/traffic-review-request-junction-a20-and-a205-following-safety-concerns",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "7db66737fd01",
        "url": "https://www.london.gov.uk/who-we-are/city-halls-buildings-and-squares/how-find-city-hall",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "c8f7c63198fb",
        "url": "https://www.london.gov.uk/who-we-are/city-halls-buildings-and-squares/how-find-city-hall",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "09fe1035d1f0",
        "url": "https://www.london.gov.uk/who-we-are/city-halls-buildings-and-squares/how-find-city-hall",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "2427f4f3ee59",
        "url": "https://www.london.gov.uk/who-we-are/city-halls-buildings-and-squares/how-find-city-hall",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "7c2b1832cfc2",
        "url": "https://www.london.gov.uk/boris-johnson/register-of-interests",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "ac1636849a8c",
        "url": "https://www.london.gov.uk/boris-johnson/register-of-interests",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "b31888fb95f7",
        "url": "https://www.london.gov.uk/boris-johnson/register-of-interests",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "12c71681c8d1",
        "url": "https://www.london.gov.uk/boris-johnson/register-of-interests",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "69a20d203958",
        "url": "https://www.london.gov.uk/city-hall-blog/applying-government-service-standard-london-boroughs",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "d676d30f4171",
        "url": "https://www.london.gov.uk/city-hall-blog/applying-government-service-standard-london-boroughs",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "a3765ba75217",
        "url": "https://www.london.gov.uk/city-hall-blog/applying-government-service-standard-london-boroughs",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "559fd6477564",
        "url": "https://www.london.gov.uk/city-hall-blog/applying-government-service-standard-london-boroughs",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "d9c3cfdd8c0a",
        "url": "https://www.london.gov.uk/city-hall-blog/digital-service-standard-local-government",
        "ruleKey": "rule:heading-order|light",
        "engine": "axe"
      },
      {
        "fingerprint": "5f196bf2a0ae",
        "url": "https://www.london.gov.uk/city-hall-blog/digital-service-standard-local-government",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "760d924899a2",
        "url": "https://www.london.gov.uk/city-hall-blog/digital-service-standard-local-government",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "576b116cd6de",
        "url": "https://www.london.gov.uk/city-hall-blog/digital-service-standard-local-government",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "62118160ebfd",
        "url": "https://www.london.gov.uk/city-hall-blog/digital-service-standard-local-government",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "64a509f1d472",
        "url": "https://www.london.gov.uk/city-hall-blog/grenfell-tower-national-memorial-service",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "8318f4ac9c8e",
        "url": "https://www.london.gov.uk/city-hall-blog/grenfell-tower-national-memorial-service",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "67f4b24793d2",
        "url": "https://www.london.gov.uk/city-hall-blog/grenfell-tower-national-memorial-service",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "de29959973d8",
        "url": "https://www.london.gov.uk/city-hall-blog/grenfell-tower-national-memorial-service",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "5b5a416b2337",
        "url": "https://www.london.gov.uk/city-hall-blog/how-register-covid-summer-food-fund",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "eb9921275f4d",
        "url": "https://www.london.gov.uk/city-hall-blog/how-register-covid-summer-food-fund",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "f44c8466c36f",
        "url": "https://www.london.gov.uk/city-hall-blog/how-register-covid-summer-food-fund",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "60b68c6e4db5",
        "url": "https://www.london.gov.uk/city-hall-blog/how-register-covid-summer-food-fund",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "bab4f78cb2ae",
        "url": "https://www.london.gov.uk/city-hall-blog/im-committed-improving-mental-health-services-london",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "4ffb8df7fa95",
        "url": "https://www.london.gov.uk/city-hall-blog/im-committed-improving-mental-health-services-london",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "aa48d62aa668",
        "url": "https://www.london.gov.uk/city-hall-blog/im-committed-improving-mental-health-services-london",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "a511814cfda1",
        "url": "https://www.london.gov.uk/city-hall-blog/im-committed-improving-mental-health-services-london",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "946065338114",
        "url": "https://www.london.gov.uk/content/london-accessible-housing-register",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "24d3fc048239",
        "url": "https://www.london.gov.uk/content/london-accessible-housing-register",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "d583ee1c14a7",
        "url": "https://www.london.gov.uk/content/london-accessible-housing-register",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "6a9b5e9ee21b",
        "url": "https://www.london.gov.uk/content/london-accessible-housing-register",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "65faa3356db8",
        "url": "https://www.london.gov.uk/events/77-memorial-service-2023",
        "ruleKey": "rule:landmark-unique|light",
        "engine": "axe"
      },
      {
        "fingerprint": "e31817220d28",
        "url": "https://www.london.gov.uk/events/77-memorial-service-2023",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "cd63bfd4a23d",
        "url": "https://www.london.gov.uk/events/77-memorial-service-2023",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "14180e98bb59",
        "url": "https://www.london.gov.uk/events/77-memorial-service-2023",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "cd328c2bfaab",
        "url": "https://www.london.gov.uk/events/77-memorial-service-2023",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "c6d3d3e9162c",
        "url": "https://www.london.gov.uk/events/77-memorial-service-2024",
        "ruleKey": "rule:landmark-unique|light",
        "engine": "axe"
      },
      {
        "fingerprint": "40b6a1b53d38",
        "url": "https://www.london.gov.uk/events/77-memorial-service-2024",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "f40501aa3f1a",
        "url": "https://www.london.gov.uk/events/77-memorial-service-2024",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "cc07c59dff5f",
        "url": "https://www.london.gov.uk/events/77-memorial-service-2024",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "ecf48d2bcdf7",
        "url": "https://www.london.gov.uk/events/77-memorial-service-2024",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "3f99d42dc346",
        "url": "https://www.london.gov.uk/events/mayors-christmas-carol-service-2023",
        "ruleKey": "rule:landmark-unique|light",
        "engine": "axe"
      },
      {
        "fingerprint": "7b053081ef0d",
        "url": "https://www.london.gov.uk/events/mayors-christmas-carol-service-2023",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "584c40878130",
        "url": "https://www.london.gov.uk/events/mayors-christmas-carol-service-2023",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "43d907bf18b3",
        "url": "https://www.london.gov.uk/events/mayors-christmas-carol-service-2023",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "2a9e8a6ac3d2",
        "url": "https://www.london.gov.uk/events/mayors-christmas-carol-service-2023",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "3621c0598860",
        "url": "https://www.london.gov.uk/events/mayors-christmas-carol-service-2024",
        "ruleKey": "rule:landmark-unique|light",
        "engine": "axe"
      },
      {
        "fingerprint": "14d223788a86",
        "url": "https://www.london.gov.uk/events/mayors-christmas-carol-service-2024",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "f407aa4a1e94",
        "url": "https://www.london.gov.uk/events/mayors-christmas-carol-service-2024",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "715547f5fdc4",
        "url": "https://www.london.gov.uk/events/mayors-christmas-carol-service-2024",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "a57c8ab9a069",
        "url": "https://www.london.gov.uk/events/mayors-christmas-carol-service-2024",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "7f744661c7fe",
        "url": "https://www.london.gov.uk/events/mayors-christmas-carol-service-2025",
        "ruleKey": "rule:landmark-unique|light",
        "engine": "axe"
      },
      {
        "fingerprint": "6964e02c5346",
        "url": "https://www.london.gov.uk/events/mayors-christmas-carol-service-2025",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "0a51ba8d349e",
        "url": "https://www.london.gov.uk/events/mayors-christmas-carol-service-2025",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "169f810f7c11",
        "url": "https://www.london.gov.uk/events/mayors-christmas-carol-service-2025",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "291a8706b70e",
        "url": "https://www.london.gov.uk/events/mayors-christmas-carol-service-2025",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "f37b2fbfaa34",
        "url": "https://www.london.gov.uk/events/remembrance-day-service-2023",
        "ruleKey": "rule:landmark-unique|light",
        "engine": "axe"
      },
      {
        "fingerprint": "c78de978cb1e",
        "url": "https://www.london.gov.uk/events/remembrance-day-service-2023",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "a27838346f04",
        "url": "https://www.london.gov.uk/events/remembrance-day-service-2023",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "8c7f114c8c57",
        "url": "https://www.london.gov.uk/events/remembrance-day-service-2023",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "62cbc35ab127",
        "url": "https://www.london.gov.uk/events/remembrance-day-service-2023",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "75a281e2291b",
        "url": "https://www.london.gov.uk/events/remembrance-day-service-2024",
        "ruleKey": "rule:landmark-unique|light",
        "engine": "axe"
      },
      {
        "fingerprint": "20aad57cf3ba",
        "url": "https://www.london.gov.uk/events/remembrance-day-service-2024",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "5366aae9d3a6",
        "url": "https://www.london.gov.uk/events/remembrance-day-service-2024",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "ad724f95a0d3",
        "url": "https://www.london.gov.uk/events/remembrance-day-service-2024",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "65214a24649f",
        "url": "https://www.london.gov.uk/events/remembrance-day-service-2024",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "3a20d73a090e",
        "url": "https://www.london.gov.uk/events/remembrance-service-2025",
        "ruleKey": "rule:landmark-unique|light",
        "engine": "axe"
      },
      {
        "fingerprint": "4157927a4e02",
        "url": "https://www.london.gov.uk/events/remembrance-service-2025",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "edf895bfa2c7",
        "url": "https://www.london.gov.uk/events/remembrance-service-2025",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "2d5212298120",
        "url": "https://www.london.gov.uk/events/remembrance-service-2025",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "a52dd76d5fcf",
        "url": "https://www.london.gov.uk/events/remembrance-service-2025",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "dd766db5d186",
        "url": "https://www.london.gov.uk/heidi-alexander/register-of-interests",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "e19108b6feb8",
        "url": "https://www.london.gov.uk/heidi-alexander/register-of-interests",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "a7f984ca418b",
        "url": "https://www.london.gov.uk/heidi-alexander/register-of-interests",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "f47b1fe8fe03",
        "url": "https://www.london.gov.uk/heidi-alexander/register-of-interests",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "511b3fa2cb33",
        "url": "https://www.london.gov.uk/julia-slay/register-of-interests",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "379aa1b2eb28",
        "url": "https://www.london.gov.uk/julia-slay/register-of-interests",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "292f65c5b204",
        "url": "https://www.london.gov.uk/julia-slay/register-of-interests",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "3dbebb6bf9a9",
        "url": "https://www.london.gov.uk/julia-slay/register-of-interests",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "3c5e54daf384",
        "url": "https://www.london.gov.uk/mayor-london/mayors-annual-report",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "8598a18e3cc4",
        "url": "https://www.london.gov.uk/mayor-london/mayors-annual-report",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "f692021f6d34",
        "url": "https://www.london.gov.uk/mayor-london/mayors-annual-report",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "bc7b5b842a83",
        "url": "https://www.london.gov.uk/mayor-london/mayors-annual-report",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "af3b90e84b73",
        "url": "https://www.london.gov.uk/motions/70th-anniversary-national-health-service",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "2cf8ffae4cf4",
        "url": "https://www.london.gov.uk/motions/70th-anniversary-national-health-service",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "dcad3fbbd27a",
        "url": "https://www.london.gov.uk/motions/70th-anniversary-national-health-service",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "ffd2bb3ca7dd",
        "url": "https://www.london.gov.uk/motions/70th-anniversary-national-health-service",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "23859b27d14d",
        "url": "https://www.london.gov.uk/motions/backing-age-uks-campaign-fully-reinstate-winter-fuel-payment",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "1d4f45bd993c",
        "url": "https://www.london.gov.uk/motions/backing-age-uks-campaign-fully-reinstate-winter-fuel-payment",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "62ec86ca6963",
        "url": "https://www.london.gov.uk/motions/backing-age-uks-campaign-fully-reinstate-winter-fuel-payment",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "cab7172fbb90",
        "url": "https://www.london.gov.uk/motions/backing-age-uks-campaign-fully-reinstate-winter-fuel-payment",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "b8ec76fd53c9",
        "url": "https://www.london.gov.uk/motions/banking-services",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "a40320987eec",
        "url": "https://www.london.gov.uk/motions/banking-services",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "0ca306af0b98",
        "url": "https://www.london.gov.uk/motions/banking-services",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "4dcbdb458b2f",
        "url": "https://www.london.gov.uk/motions/banking-services",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "f1b678b73d56",
        "url": "https://www.london.gov.uk/motions/blair-peach-and-cass-report",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "58ff4387290d",
        "url": "https://www.london.gov.uk/motions/blair-peach-and-cass-report",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "1d06e5d3bae8",
        "url": "https://www.london.gov.uk/motions/blair-peach-and-cass-report",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "c1d1a339721d",
        "url": "https://www.london.gov.uk/motions/blair-peach-and-cass-report",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "13435f5d30e9",
        "url": "https://www.london.gov.uk/motions/child-and-adolescent-mental-health-services-camhs",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "b8ff2ae51a02",
        "url": "https://www.london.gov.uk/motions/child-and-adolescent-mental-health-services-camhs",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "2e886a0013c5",
        "url": "https://www.london.gov.uk/motions/child-and-adolescent-mental-health-services-camhs",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "9f9b1ac98ade",
        "url": "https://www.london.gov.uk/motions/child-and-adolescent-mental-health-services-camhs",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "e5ef5c3a7246",
        "url": "https://www.london.gov.uk/motions/coroner-report-cycling-fatalities",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "983ca2eac4df",
        "url": "https://www.london.gov.uk/motions/coroner-report-cycling-fatalities",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "fe7dc4fe9757",
        "url": "https://www.london.gov.uk/motions/coroner-report-cycling-fatalities",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "f260c859311b",
        "url": "https://www.london.gov.uk/motions/coroner-report-cycling-fatalities",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "334d48f1c39e",
        "url": "https://www.london.gov.uk/motions/coroner-report-cycling-fatalities-0",
        "ruleKey": "wcag:wcag111|light",
        "engine": "axe"
      },
      {
        "fingerprint": "eeb14624e738",
        "url": "https://www.london.gov.uk/motions/coroner-report-cycling-fatalities-0",
        "ruleKey": "rule:qw-act-r21|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "9b972149c611",
        "url": "https://www.london.gov.uk/motions/coroner-report-cycling-fatalities-0",
        "ruleKey": "rule:qw-act-r17|light",
        "engine": "qualweb"
      },
      {
        "fingerprint": "7225f28a59c4",
        "url": "https://www.london.gov.uk/motions/coroner-report-cycling-fatalities-0",
        "ruleKey": "rule:qw-act-r76|light",
        "engine": "qualweb"
      }
    ],
    "resolvedIssues": []
  }
}
