{
  "exported_at": "2026-09-30T10:02:38.451237Z",
  "kind": "page",
  "target": "https://qa-bugs.lab980.com",
  "run_id": "5ee55535b1f34c28af1c061edd2cdfe0",
  "status": "done",
  "stats": {
    "pages": 1,
    "templates": 1,
    "findings_by_severity": {
      "critical": 1,
      "serious": 3,
      "info": 2,
      "moderate": 1
    },
    "duration_secs": 28.58,
    "tokens": {
      "input": 3681,
      "output": 740,
      "cache_read": 0,
      "cache_write": 0
    },
    "tokens_by_model": {
      "claude-haiku-4-5": {
        "input": 1214,
        "output": 305,
        "cache_read": 0,
        "cache_write": 0
      },
      "claude-sonnet-5": {
        "input": 2467,
        "output": 435,
        "cache_read": 0,
        "cache_write": 0
      }
    },
    "estimated_cost_usd": 0.0167
  },
  "findings": [
    {
      "type": "finding",
      "id": 2836,
      "url": "https://qa-bugs.lab980.com",
      "pipeline": "wcag",
      "tier": 0,
      "rule": "button-name",
      "severity": "critical",
      "title": "Buttons must have discernible text",
      "detail": "Ensure buttons have discernible text https://dequeuniversity.com/rules/axe/4.10/button-name?application=axeAPI",
      "evidence": {
        "impact": "critical",
        "nodes": [
          {
            "selector": "button[data-testid=\"nav-dashboard\"]",
            "snippet": "<button data-testid=\"nav-dashboard\"></button>"
          },
          {
            "selector": "button[data-testid=\"nav-login\"]",
            "snippet": "<button data-testid=\"nav-login\"></button>"
          },
          {
            "selector": "button[data-testid=\"nav-forms\"]",
            "snippet": "<button data-testid=\"nav-forms\"></button>"
          },
          {
            "selector": "button[data-testid=\"nav-grid\"]",
            "snippet": "<button data-testid=\"nav-grid\"></button>"
          },
          {
            "selector": "button[data-testid=\"nav-async\"]",
            "snippet": "<button data-testid=\"nav-async\"></button>"
          }
        ],
        "node_count": 5,
        "tags": [
          "cat.name-role-value",
          "wcag2a",
          "wcag412",
          "section508",
          "section508.22.a",
          "TTv5",
          "TT6.a",
          "EN-301-549",
          "EN-9.4.1.2",
          "ACT"
        ]
      }
    },
    {
      "type": "finding",
      "id": 2837,
      "url": "https://qa-bugs.lab980.com",
      "pipeline": "wcag",
      "tier": 0,
      "rule": "color-contrast",
      "severity": "serious",
      "title": "Elements must meet minimum color contrast ratio thresholds",
      "detail": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds https://dequeuniversity.com/rules/axe/4.10/color-contrast?application=axeAPI",
      "evidence": {
        "impact": "serious",
        "nodes": [
          {
            "selector": "h1",
            "snippet": "<h1 data-testid=\"app-title\">QA KSink Site</h1>"
          }
        ],
        "node_count": 1,
        "tags": [
          "cat.color",
          "wcag2aa",
          "wcag143",
          "TTv5",
          "TT13.c",
          "EN-301-549",
          "EN-9.1.4.3",
          "ACT"
        ]
      }
    },
    {
      "type": "finding",
      "id": 2838,
      "url": "https://qa-bugs.lab980.com",
      "pipeline": "wcag",
      "tier": 0,
      "rule": "html-has-lang",
      "severity": "serious",
      "title": "<html> element must have a lang attribute",
      "detail": "Ensure every HTML document has a lang attribute https://dequeuniversity.com/rules/axe/4.10/html-has-lang?application=axeAPI",
      "evidence": {
        "impact": "serious",
        "nodes": [
          {
            "selector": "html",
            "snippet": "<html>"
          }
        ],
        "node_count": 1,
        "tags": [
          "cat.language",
          "wcag2a",
          "wcag311",
          "TTv5",
          "TT11.a",
          "EN-301-549",
          "EN-9.3.1.1",
          "ACT"
        ]
      }
    },
    {
      "type": "finding",
      "id": 2839,
      "url": "https://qa-bugs.lab980.com",
      "pipeline": "ux",
      "tier": 0,
      "rule": "ux/lighthouse/performance",
      "severity": "info",
      "title": "Lighthouse Performance score: 1",
      "detail": "Lighthouse category 'Performance' scored 1 (0-1 scale).",
      "evidence": {
        "category": "performance",
        "score": 1
      }
    },
    {
      "type": "finding",
      "id": 2840,
      "url": "https://qa-bugs.lab980.com",
      "pipeline": "ux",
      "tier": 0,
      "rule": "ux/lighthouse/accessibility",
      "severity": "moderate",
      "title": "Lighthouse Accessibility score: 0.56",
      "detail": "Lighthouse category 'Accessibility' scored 0.56 (0-1 scale).",
      "evidence": {
        "category": "accessibility",
        "score": 0.56
      }
    },
    {
      "type": "finding",
      "id": 2841,
      "url": "https://qa-bugs.lab980.com",
      "pipeline": "ux",
      "tier": 0,
      "rule": "ux/lighthouse/best-practices",
      "severity": "info",
      "title": "Lighthouse Best Practices score: 1",
      "detail": "Lighthouse category 'Best Practices' scored 1 (0-1 scale).",
      "evidence": {
        "category": "best-practices",
        "score": 1
      }
    },
    {
      "type": "finding",
      "id": 2842,
      "url": "https://qa-bugs.lab980.com",
      "pipeline": "wcag",
      "tier": 2,
      "rule": "wcag/1.4.3",
      "severity": "serious",
      "title": "Insufficient color contrast on page elements",
      "detail": "Low-vision and visually impaired users may be unable to read text where foreground/background contrast falls below the required 4.5:1 ratio for normal text (3:1 for large text). Without a specific selector snapshot, this cannot be conclusively confirmed as intentional design vs. a genuine failure; however, given the 'serious' triage severity and confidence, it likely affects body text, nav buttons, or card labels in the Dashboard section. Fix: verify actual rendered colors via automated contrast checker (e.g., axe, Lighthouse) against the specific text/background pairs, and adjust palette (e.g., darken text or lighten background) to meet WCAG AA thresholds. If this was an intentional stylistic choice, it still must be remediated to comply with 1.4.3 unless the text qualifies as decorative or is part of a logo (exempt).",
      "evidence": {
        "selector": "unknown - requires runtime inspection",
        "note": "Skeleton does not expose CSS colors; recommend re-scanning with computed style data to pinpoint exact failing elements (e.g., nav buttons, article headings, body text)."
      }
    }
  ],
  "errors": []
}