{
  "kit": {
    "name": "accessibility-verification-kit",
    "version": "1.0.0",
    "runner_sha256_lf": "5e1db1c4a6dadc02d2bc08716d195f54a3e92886c4879259f2eafb625e238bb7"
  },
  "ran_at": "2026-09-28T03:12:52-04:00",
  "command": "node verify.mjs https://opethon.com/ --attach 9222 --out receipts",
  "target": {
    "requested": "https://opethon.com/",
    "url": "https://opethon.com/",
    "served_from_file": null,
    "http_status": 200,
    "final_url": "https://opethon.com/"
  },
  "engines": {
    "axe": {
      "version": "4.13.0",
      "sha256": "c24f097bd2f451d4f933e8bc7d8d539f8672a2ebcb5cc9f9f3eec8ca9470a0c1",
      "pinned_sha256": "c24f097bd2f451d4f933e8bc7d8d539f8672a2ebcb5cc9f9f3eec8ca9470a0c1",
      "match": "exact",
      "tags": [
        "wcag2a",
        "wcag2aa",
        "wcag21a",
        "wcag21aa",
        "wcag22aa"
      ]
    },
    "contract": {
      "package": "designesy-score",
      "version": "1.0.4",
      "scope": "universal"
    }
  },
  "parameters": {
    "viewports": [
      {
        "label": "desktop",
        "width": 1280,
        "height": 900
      },
      {
        "label": "reflow",
        "width": 320,
        "height": 640
      }
    ],
    "readiness_budget_s": 6,
    "settle_s": 3,
    "browser": "attached to a browser session the person opened; its cookies and sign-ins apply"
  },
  "environment": {
    "node": "24.15.0",
    "os": "win32 x64",
    "browser": "Chrome/153.0.8010.54"
  },
  "wcag": {
    "headline": {
      "violations_at_worst_width": 0,
      "per_width": [
        {
          "width": 1280,
          "violations": 0,
          "applicable_rules": 21,
          "needs_review": 0
        },
        {
          "width": 320,
          "violations": 0,
          "applicable_rules": 21,
          "needs_review": 0
        }
      ],
      "provenance": "observed"
    },
    "viewports": [
      {
        "label": "desktop",
        "width": 1280,
        "height": 900,
        "load_event": true,
        "readiness": {
          "readyState": "complete",
          "bodyElements": 116,
          "settled": true
        },
        "http": {
          "status": 200,
          "url": "https://opethon.com/"
        },
        "status": "reported",
        "final_url": "https://opethon.com/",
        "violations": 0,
        "applicable_rules": 21,
        "passes": 21,
        "needs_review": 0,
        "inapplicable": 42,
        "by_impact": {},
        "violation_detail": [],
        "needs_review_detail": [],
        "rule_ids": {
          "passes": [
            "aria-allowed-attr",
            "aria-conditional-attr",
            "aria-deprecated-role",
            "aria-hidden-body",
            "aria-hidden-focus",
            "aria-prohibited-attr",
            "aria-required-attr",
            "aria-required-children",
            "aria-roles",
            "aria-valid-attr-value",
            "aria-valid-attr",
            "bypass",
            "color-contrast",
            "document-title",
            "duplicate-id-aria",
            "html-has-lang",
            "html-lang-valid",
            "link-name",
            "listitem",
            "meta-viewport",
            "target-size"
          ],
          "violations": [],
          "incomplete": [],
          "inapplicable": [
            "area-alt",
            "aria-braille-equivalent",
            "aria-command-name",
            "aria-input-field-name",
            "aria-meter-name",
            "aria-progressbar-name",
            "aria-required-parent",
            "aria-tab-name",
            "aria-toggle-field-name",
            "aria-tooltip-name",
            "autocomplete-valid",
            "avoid-inline-spacing",
            "blink",
            "button-name",
            "definition-list",
            "dlitem",
            "form-field-multiple-labels",
            "frame-focusable-content",
            "frame-title-unique",
            "frame-title",
            "html-xml-lang-mismatch",
            "image-alt",
            "input-button-name",
            "input-image-alt",
            "label",
            "link-in-text-block",
            "list",
            "marquee",
            "meta-refresh",
            "nested-interactive",
            "object-alt",
            "role-img-alt",
            "scrollable-region-focusable",
            "select-name",
            "server-side-image-map",
            "summary-name",
            "svg-img-alt",
            "td-headers-attr",
            "th-has-data-cells",
            "valid-lang",
            "video-caption",
            "no-autoplay-audio"
          ]
        },
        "page_exceptions": 0,
        "measured": {
          "targets": 13,
          "targets_below_24": [],
          "targets_below_44": [
            {
              "tag": "a",
              "text": "Opethon",
              "w": 77,
              "h": 40,
              "inline_exempt": false
            },
            {
              "tag": "a",
              "text": "The idea",
              "w": 85,
              "h": 40,
              "inline_exempt": false
            },
            {
              "tag": "a",
              "text": "Three domains",
              "w": 129,
              "h": 40,
              "inline_exempt": false
            },
            {
              "tag": "a",
              "text": "How it works",
              "w": 116,
              "h": 40,
              "inline_exempt": false
            },
            {
              "tag": "a",
              "text": "The basics",
              "w": 100,
              "h": 40,
              "inline_exempt": false
            },
            {
              "tag": "a",
              "text": "Sponsors",
              "w": 91,
              "h": 40,
              "inline_exempt": false
            },
            {
              "tag": "a",
              "text": "Sponsor Opethon\n(message us on X)",
              "w": 160,
              "h": 40,
              "inline_exempt": false
            }
          ],
          "inline_exempt": 3,
          "inputs": [],
          "textEntry": 0,
          "frames": 0,
          "paragraphs": 14,
          "proseOver75": [],
          "viewport": {
            "w": 1280,
            "h": 900
          },
          "overflowX": 0,
          "lang": "en",
          "title": "Opethon: a 30-day open-source hackathon"
        },
        "motion": {
          "as_loaded": {
            "reduceMatches": false,
            "running": 0,
            "infinite": 0,
            "scrollBehavior": "smooth",
            "sample": []
          },
          "reduced_motion_requested": {
            "reduceMatches": true,
            "running": 0,
            "infinite": 0,
            "scrollBehavior": "auto",
            "sample": []
          }
        }
      },
      {
        "label": "reflow",
        "width": 320,
        "height": 640,
        "load_event": true,
        "readiness": {
          "readyState": "complete",
          "bodyElements": 116,
          "settled": true
        },
        "http": {
          "status": 200,
          "url": "https://opethon.com/"
        },
        "status": "reported",
        "final_url": "https://opethon.com/",
        "violations": 0,
        "applicable_rules": 21,
        "passes": 21,
        "needs_review": 0,
        "inapplicable": 42,
        "by_impact": {},
        "violation_detail": [],
        "needs_review_detail": [],
        "rule_ids": {
          "passes": [
            "aria-allowed-attr",
            "aria-conditional-attr",
            "aria-deprecated-role",
            "aria-hidden-body",
            "aria-hidden-focus",
            "aria-prohibited-attr",
            "aria-required-attr",
            "aria-required-children",
            "aria-roles",
            "aria-valid-attr-value",
            "aria-valid-attr",
            "bypass",
            "color-contrast",
            "document-title",
            "duplicate-id-aria",
            "html-has-lang",
            "html-lang-valid",
            "link-name",
            "listitem",
            "meta-viewport",
            "target-size"
          ],
          "violations": [],
          "incomplete": [],
          "inapplicable": [
            "area-alt",
            "aria-braille-equivalent",
            "aria-command-name",
            "aria-input-field-name",
            "aria-meter-name",
            "aria-progressbar-name",
            "aria-required-parent",
            "aria-tab-name",
            "aria-toggle-field-name",
            "aria-tooltip-name",
            "autocomplete-valid",
            "avoid-inline-spacing",
            "blink",
            "button-name",
            "definition-list",
            "dlitem",
            "form-field-multiple-labels",
            "frame-focusable-content",
            "frame-title-unique",
            "frame-title",
            "html-xml-lang-mismatch",
            "image-alt",
            "input-button-name",
            "input-image-alt",
            "label",
            "link-in-text-block",
            "list",
            "marquee",
            "meta-refresh",
            "nested-interactive",
            "object-alt",
            "role-img-alt",
            "scrollable-region-focusable",
            "select-name",
            "server-side-image-map",
            "summary-name",
            "svg-img-alt",
            "td-headers-attr",
            "th-has-data-cells",
            "valid-lang",
            "video-caption",
            "no-autoplay-audio"
          ]
        },
        "page_exceptions": 0,
        "measured": {
          "targets": 8,
          "targets_below_24": [],
          "targets_below_44": [
            {
              "tag": "a",
              "text": "Opethon",
              "w": 77,
              "h": 40,
              "inline_exempt": false
            },
            {
              "tag": "a",
              "text": "Sponsor Opethon\n(message us on X)",
              "w": 160,
              "h": 40,
              "inline_exempt": false
            }
          ],
          "inline_exempt": 3,
          "inputs": [],
          "textEntry": 0,
          "frames": 0,
          "paragraphs": 14,
          "proseOver75": [],
          "viewport": {
            "w": 320,
            "h": 640
          },
          "overflowX": 0,
          "lang": "en",
          "title": "Opethon: a 30-day open-source hackathon"
        },
        "motion": {
          "as_loaded": {
            "reduceMatches": false,
            "running": 0,
            "infinite": 0,
            "scrollBehavior": "smooth",
            "sample": []
          },
          "reduced_motion_requested": {
            "reduceMatches": true,
            "running": 0,
            "infinite": 0,
            "scrollBehavior": "auto",
            "sample": []
          }
        }
      }
    ]
  },
  "contract": {
    "status": "reported",
    "command": "npx --yes designesy-score@1.0.4 https://opethon.com/ --scope universal --json",
    "engine": "designesy-score 1.0.4",
    "contract_version": "v0.4.0",
    "scope": "universal",
    "score": 99.1,
    "grade": "A",
    "checks_total": 40,
    "checks_scored": 27,
    "counts": {
      "pass": 24,
      "warn": 3,
      "fail": 0,
      "skip": 10,
      "not_measured_by_engine": 3
    },
    "flags_raised": 3,
    "flag_outcomes": {
      "confirmed": 0,
      "rejected": 2,
      "not_settled": 0,
      "not_re_measured": 1
    },
    "flags": [
      {
        "id": "v14",
        "category": "cadence",
        "status": "WARN",
        "item": "Cadence typography rules present (font-synthesis, underline-position, skip-ink)",
        "detail": "missing: font-synthesis: none, text-underline-position: from-font, text-decoration-skip-ink: auto",
        "settled_by_measurement": false,
        "disposition": "not re-measured: reported as the engine raised it"
      },
      {
        "id": "v24",
        "category": "accessibility",
        "status": "WARN",
        "item": "Touch targets ≥ 44px (WCAG 2.5.8)",
        "detail": "5 min-height(s) found but none ≥44px: 3, 2, 3, 2, 1",
        "settled_by_measurement": true,
        "disposition": "rejected on re-measurement"
      },
      {
        "id": "v34",
        "category": "accessibility",
        "status": "WARN",
        "item": "AI disclosure for chatbots/agents (EU AI Act Art 50)",
        "detail": "AI-related text found but no disclosure marker (aria-label, meta generator, or badge)",
        "settled_by_measurement": true,
        "disposition": "rejected: not applicable to this page"
      }
    ],
    "engine_did_not_measure": [
      {
        "id": "v02",
        "item": "Routes render without horizontal overflow at 375px, 720px, 860px, 1080px+"
      },
      {
        "id": "v04",
        "item": "Sound toggle flips aria-pressed and applies the audio preference"
      },
      {
        "id": "v21",
        "item": "Core Web Vitals plausible: LCP < 2.5s, INP < 200ms, CLS < 0.1"
      }
    ],
    "cross_checks": [
      {
        "id": "v24",
        "item": "Touch targets ≥ 44px (WCAG 2.5.8)",
        "engine_status": "WARN",
        "engine_detail": "5 min-height(s) found but none ≥44px: 3, 2, 3, 2, 1",
        "measured": "pass",
        "disposition": "rejected on re-measurement",
        "evidence": [
          {
            "width": 1280,
            "axe_target_size": "pass",
            "boxes_under_24_before_spacing_exception": 0,
            "boxes_under_44_aaa_advice": 7
          },
          {
            "width": 320,
            "axe_target_size": "pass",
            "boxes_under_24_before_spacing_exception": 0,
            "boxes_under_44_aaa_advice": 2
          }
        ]
      },
      {
        "id": "v34",
        "item": "AI disclosure for chatbots/agents (EU AI Act Art 50)",
        "engine_status": "WARN",
        "engine_detail": "AI-related text found but no disclosure marker (aria-label, meta generator, or badge)",
        "measured": "not applicable",
        "disposition": "rejected: not applicable to this page",
        "evidence": [
          {
            "width": 1280,
            "text_entry": 0,
            "frames": 0
          },
          {
            "width": 320,
            "text_entry": 0,
            "frames": 0
          }
        ]
      },
      {
        "id": "v27",
        "item": "Input font-size ≥ 16px (prevent iOS auto-zoom)",
        "engine_status": "PASS",
        "engine_detail": "no input font-size rules found (likely using rem from body)",
        "measured": "not applicable",
        "disposition": "agrees: nothing to test on this page",
        "evidence": {
          "inputs": 0,
          "under_16px": 0
        }
      },
      {
        "id": "v28",
        "item": "Reading width constrained (max-width in ch units)",
        "engine_status": "PASS",
        "engine_detail": "max-width in ch found: max-width: 30ch",
        "measured": "pass",
        "disposition": "agrees",
        "evidence": {
          "width": 1280,
          "paragraphs": 14,
          "over_75": 0,
          "longest": null
        }
      },
      {
        "id": "v05",
        "item": "@media (prefers-reduced-motion) block present",
        "engine_status": "PASS",
        "engine_detail": "prefers-reduced-motion media query found",
        "measured": "pass",
        "disposition": "agrees",
        "evidence": [
          {
            "width": 1280,
            "running_as_loaded": 0,
            "running_with_reduce": 0,
            "infinite_with_reduce": 0,
            "smooth_scroll_with_reduce": false,
            "media_query_took_effect": true
          },
          {
            "width": 320,
            "running_as_loaded": 0,
            "running_with_reduce": 0,
            "infinite_with_reduce": 0,
            "smooth_scroll_with_reduce": false,
            "media_query_took_effect": true
          }
        ]
      }
    ]
  },
  "misfire_rate": {
    "value": null,
    "provenance": null,
    "reason": "a URL has no input method of its own; for entries that ship one, measure it with access-conformance (METHOD.md 1.4)"
  },
  "not_measured": [
    "whether people using assistive technology can complete the task the entry exists for",
    "whether text alternatives, headings, labels and error messages mean what they say",
    "anything behind an interaction: menus, dialogs, forms, states after sign-in",
    "pages other than the one scanned",
    "keyboard use across a whole task: focus order, traps, visible focus",
    "what a screen reader announces",
    "cognitive load, plain language, captions quality",
    "speed (Core Web Vitals need field data)"
  ]
}
