{
  "title": "The Ontario Practice Website Index",
  "edition": "2026-10",
  "collectedFrom": "2026-10-08T19:27:07.960Z",
  "collectedTo": "2026-10-08T20:20:57.418Z",
  "n": 74,
  "nBySector": {
    "law": 25,
    "clinic": 23,
    "accounting": 26
  },
  "methodology": [
    "2026-10-08 — Sampling frame. A convenience sample, not a random one: practices listed with a website in the public member directories of four Ontario business associations — London Chamber of Commerce, Ottawa Board of Trade, Barrie Chamber of Commerce (all GrowthZone directories) and the Hamilton Chamber of Commerce (WordPress directory). Listing pages were filtered by sector keywords on the listing name and description, de-duplicated by domain, and national or multinational networks were removed. Each sector was capped at 30 sites, taken in SHA-1(domain) order, which spreads the cap across cities without hand-picking.",
    "2026-10-08 — Politeness. Every directory page and every firm host was checked against robots.txt (our token \"UXProPracticeIndex\", else \"*\") before any request; disallowed hosts were dropped, and a robots.txt that failed with a 5xx or network error was treated as \"disallow all\". Requests were limited to about one per second per host and identified as \"UXProPracticeIndex/1.0 (+https://uxpro.ca/research/ontario-practice-website-index)\". Per site we fetched only the homepage, /llms.txt and at most one contact or booking page. No form was ever submitted.",
    "2026-10-08 — Verification. A site stayed in the sample only if its own homepage text reads as a practice in the sector (e.g. lawyer/law firm/barrister; patient/dental/clinic/physiotherapy; accountant/CPA/bookkeeping/tax). Ontario location comes from the directory listing's address (Ontario only) and is cross-checked against an Ontario address cue on the site; rows without that cue say so in notes. Bot challenges, unreachable sites and non-practices were excluded; the exclusion list is kept with the scripts.",
    "2026-10-08 — Performance. Each homepage was run through Lighthouse 13.5 (npx), performance category only, mobile form factor, default simulated throttling, attached to a fresh headless Chrome 154 profile per site. Page weight is total-byte-weight; LCP is largest-contentful-paint. Median Lighthouse run time was 16 s per site. Lighthouse's LCP is a simulation from one run, so single-site values are noisy; the medians are the point.",
    "2026-10-08 — Markup and accessibility. In the same Chrome, a separate tab emulated a 390x844 phone (DPR 2, touch, mobile UA), loaded the homepage, scrolled it top to bottom, and read the rendered DOM for tap-to-call links, the viewport meta, JSON-LD and microdata types, <html lang>, <img> alt coverage, the price heuristic, forms, and text contrast. The contrast check reuses the alpha-compositing and WCAG luminance logic of the studio's own contrast gate, with WCAG 2.1's standard large-text thresholds.",
    "2026-10-08 — Statistics. Medians and shares are computed over the sites where a metric could be measured; each summary metric reports its denominator (n) and the number of nulls."
  ],
  "limitations": [
    "Convenience sample drawn from chamber-of-commerce member directories in four cities (London, Ottawa, Barrie, Hamilton); members of business associations may differ from practices that are not members. Results do not generalise to all Ontario practices.",
    "The Law Society of Ontario, RCDSO/ODA and CPA Ontario finders were not used: they are search-driven applications rather than crawlable listings with website links, so they could not supply a frame politely within the time budget.",
    "One run per site, from a single machine and network connection on 2026-10-08; Lighthouse simulated LCP varies run to run.",
    "Sites behind bot protection that served a challenge to headless Chrome were excluded, which biases the sample slightly away from heavily protected sites.",
    "Price, sensitive-form and sector checks are text heuristics. The price rule is deliberately conservative (it will miss prices written without '$' or on inner pages). The sensitive-form flag reads field labels only and cannot see forms embedded in third-party iframes (e.g. online-booking widgets).",
    "/llms.txt presence mostly reflects SEO-plugin defaults: of the files spot-checked, most were generated automatically by WordPress SEO plugins (Yoast SEO, All in One SEO) rather than written by the practice.",
    "Contrast is checked on text over solid colours only; text over images or gradients is skipped, so failures are a floor, not a ceiling.",
    "Clinic includes dental, medical, physiotherapy, chiropractic, foot-care, hearing, mental-health and similar private practices found in the 'health' categories; the mix is not balanced across professions."
  ],
  "fields": [
    {
      "key": "domain",
      "label": "Domain",
      "unit": null,
      "description": "Registrable hostname of the practice website (www. stripped). No person or firm names are stored."
    },
    {
      "key": "sector",
      "label": "Sector",
      "unit": null,
      "description": "law | clinic | accounting, from the directory category and the firm's own homepage text."
    },
    {
      "key": "city",
      "label": "City",
      "unit": null,
      "description": "City from the directory listing address, where given."
    },
    {
      "key": "https",
      "label": "HTTPS",
      "unit": "boolean",
      "description": "https://<domain>/ (or https://www.<domain>/) loads with a 2xx and the final URL is https."
    },
    {
      "key": "httpRedirectsToHttps",
      "label": "HTTP redirects to HTTPS",
      "unit": "boolean",
      "description": "Requesting http://<domain>/ ends, after redirects, on an https URL with a 2xx."
    },
    {
      "key": "viewport",
      "label": "Viewport meta",
      "unit": "boolean",
      "description": "Rendered DOM has <meta name=viewport> whose content sets width=."
    },
    {
      "key": "tapToCall",
      "label": "Tap-to-call",
      "unit": "boolean",
      "description": "Rendered mobile homepage has at least one <a href=\"tel:...\">."
    },
    {
      "key": "schemaTypes",
      "label": "Schema types",
      "unit": "list",
      "description": "@type values from all JSON-LD blocks (recursively, incl. @graph) plus microdata itemtype names, on the rendered homepage."
    },
    {
      "key": "llmsTxt",
      "label": "/llms.txt",
      "unit": "boolean",
      "description": "GET /llms.txt returns 200, a non-HTML content type, a non-empty body that does not start with '<', and was not redirected elsewhere (rules out soft-404s)."
    },
    {
      "key": "pricesVisible",
      "label": "Prices on homepage",
      "unit": "boolean",
      "description": "Conservative heuristic: a $ amount between $1 and $9,999 in visible homepage text with a fee word (fee, flat fee/rate, price, pricing, cost, rate, starting at, per hour/session/visit/month/return, consultation, assessment, package) within 60 characters, and no brag/limit word (recovered, settlement, award, million, limit, up to, claim, value, save, worth, grant, rebate, credit, refund, compensation, damages, deposit, gift, prize, win/won) in the same window."
    },
    {
      "key": "formFound",
      "label": "Contact form found",
      "unit": "boolean",
      "description": "A <form> with 2+ fillable fields (not search, login or a single-field newsletter box) on the homepage, or on the one same-site contact/booking page linked from it. Forms inside third-party iframes are not inspected."
    },
    {
      "key": "sensitiveFirstTouchForm",
      "label": "Asks for health/case details on first touch",
      "unit": "boolean",
      "description": "FLAG only (PHIPA / LSO sensitivity). True if any field of a found form is labelled (label, aria-label, placeholder, name, id or builder wrapper label) with medical/health condition, symptom, diagnosis, health card/OHIP, injury, reason for visit, medication, allergy, pain, case details/description, legal matter/issue, nature of the matter/claim, accident or incident. A generic 'Message', 'How can we help?' or 'Nature of inquiry' field is NOT flagged. Null when no form was found."
    },
    {
      "key": "htmlLang",
      "label": "<html lang>",
      "unit": "boolean",
      "description": "The root element has a non-empty lang attribute."
    },
    {
      "key": "imgCount",
      "label": "Images",
      "unit": "count",
      "description": "Number of <img> elements in the rendered homepage after scrolling."
    },
    {
      "key": "altCoverage",
      "label": "Alt coverage",
      "unit": "share 0–1",
      "description": "Share of <img> elements that carry an alt attribute (non-empty, or alt=\"\" marking decoration). Null when the page has no <img>."
    },
    {
      "key": "contrastFailures",
      "label": "Contrast failures",
      "unit": "count",
      "description": "Visible text elements below WCAG 2.1 SC 1.4.3 (4.5:1; 3:1 for >= 24px or >= 18.66px bold), alpha-composited against the ancestor background chain. Text on background images, faded (opacity < 1) or hidden text is skipped."
    },
    {
      "key": "contrastChecked",
      "label": "Text elements checked",
      "unit": "count",
      "description": "Denominator for contrastFailures."
    },
    {
      "key": "weightBytes",
      "label": "Mobile page weight",
      "unit": "bytes",
      "description": "Lighthouse 13 total-byte-weight (transferred bytes) for the homepage, mobile form factor."
    },
    {
      "key": "lcpMs",
      "label": "Mobile LCP",
      "unit": "ms",
      "description": "Lighthouse 13 largest-contentful-paint, mobile form factor with Lighthouse's default simulated throttling (slow 4G, 4x CPU)."
    },
    {
      "key": "measuredAt",
      "label": "Measured at",
      "unit": "ISO 8601",
      "description": "When the site was measured."
    },
    {
      "key": "notes",
      "label": "Notes",
      "unit": null,
      "description": "Fallbacks used and caveats for this row."
    },
    {
      "key": "sourceUrl",
      "label": "Directory source",
      "unit": "URL",
      "description": "The public directory listing page through which the practice was found."
    }
  ],
  "summary": {
    "overall": {
      "n": 74,
      "weightBytes": {
        "median": 2437018.5,
        "n": 74,
        "nulls": 0
      },
      "lcpMs": {
        "median": 8990,
        "n": 74,
        "nulls": 0
      },
      "altCoverage": {
        "median": 1,
        "n": 73,
        "nulls": 1
      },
      "contrastFailures": {
        "median": 10,
        "n": 74,
        "nulls": 0
      },
      "https": {
        "share": 1,
        "yes": 74,
        "n": 74,
        "nulls": 0
      },
      "httpRedirectsToHttps": {
        "share": 0.986,
        "yes": 72,
        "n": 73,
        "nulls": 1
      },
      "viewport": {
        "share": 1,
        "yes": 74,
        "n": 74,
        "nulls": 0
      },
      "tapToCall": {
        "share": 0.797,
        "yes": 59,
        "n": 74,
        "nulls": 0
      },
      "anySchema": {
        "share": 0.838,
        "yes": 62,
        "n": 74,
        "nulls": 0
      },
      "llmsTxt": {
        "share": 0.27,
        "yes": 20,
        "n": 74,
        "nulls": 0
      },
      "pricesVisible": {
        "share": 0.014,
        "yes": 1,
        "n": 74,
        "nulls": 0
      },
      "formFound": {
        "share": 0.699,
        "yes": 51,
        "n": 73,
        "nulls": 1
      },
      "sensitiveFirstTouchForm": {
        "share": 0.02,
        "yes": 1,
        "n": 51,
        "nulls": 23
      },
      "htmlLang": {
        "share": 0.973,
        "yes": 72,
        "n": 74,
        "nulls": 0
      },
      "lcpOver2500": {
        "share": 0.919,
        "yes": 68,
        "n": 74,
        "nulls": 0
      },
      "anyContrastFailure": {
        "share": 0.878,
        "yes": 65,
        "n": 74,
        "nulls": 0
      },
      "fullAltCoverage": {
        "share": 0.781,
        "yes": 57,
        "n": 73,
        "nulls": 1
      }
    },
    "law": {
      "n": 25,
      "weightBytes": {
        "median": 2171365,
        "n": 25,
        "nulls": 0
      },
      "lcpMs": {
        "median": 7474,
        "n": 25,
        "nulls": 0
      },
      "altCoverage": {
        "median": 1,
        "n": 25,
        "nulls": 0
      },
      "contrastFailures": {
        "median": 10,
        "n": 25,
        "nulls": 0
      },
      "https": {
        "share": 1,
        "yes": 25,
        "n": 25,
        "nulls": 0
      },
      "httpRedirectsToHttps": {
        "share": 1,
        "yes": 25,
        "n": 25,
        "nulls": 0
      },
      "viewport": {
        "share": 1,
        "yes": 25,
        "n": 25,
        "nulls": 0
      },
      "tapToCall": {
        "share": 0.84,
        "yes": 21,
        "n": 25,
        "nulls": 0
      },
      "anySchema": {
        "share": 0.92,
        "yes": 23,
        "n": 25,
        "nulls": 0
      },
      "llmsTxt": {
        "share": 0.28,
        "yes": 7,
        "n": 25,
        "nulls": 0
      },
      "pricesVisible": {
        "share": 0,
        "yes": 0,
        "n": 25,
        "nulls": 0
      },
      "formFound": {
        "share": 0.833,
        "yes": 20,
        "n": 24,
        "nulls": 1
      },
      "sensitiveFirstTouchForm": {
        "share": 0.05,
        "yes": 1,
        "n": 20,
        "nulls": 5
      },
      "htmlLang": {
        "share": 1,
        "yes": 25,
        "n": 25,
        "nulls": 0
      },
      "lcpOver2500": {
        "share": 0.96,
        "yes": 24,
        "n": 25,
        "nulls": 0
      },
      "anyContrastFailure": {
        "share": 0.84,
        "yes": 21,
        "n": 25,
        "nulls": 0
      },
      "fullAltCoverage": {
        "share": 0.72,
        "yes": 18,
        "n": 25,
        "nulls": 0
      }
    },
    "clinic": {
      "n": 23,
      "weightBytes": {
        "median": 3315565,
        "n": 23,
        "nulls": 0
      },
      "lcpMs": {
        "median": 10210,
        "n": 23,
        "nulls": 0
      },
      "altCoverage": {
        "median": 1,
        "n": 22,
        "nulls": 1
      },
      "contrastFailures": {
        "median": 11,
        "n": 23,
        "nulls": 0
      },
      "https": {
        "share": 1,
        "yes": 23,
        "n": 23,
        "nulls": 0
      },
      "httpRedirectsToHttps": {
        "share": 0.955,
        "yes": 21,
        "n": 22,
        "nulls": 1
      },
      "viewport": {
        "share": 1,
        "yes": 23,
        "n": 23,
        "nulls": 0
      },
      "tapToCall": {
        "share": 0.783,
        "yes": 18,
        "n": 23,
        "nulls": 0
      },
      "anySchema": {
        "share": 0.826,
        "yes": 19,
        "n": 23,
        "nulls": 0
      },
      "llmsTxt": {
        "share": 0.348,
        "yes": 8,
        "n": 23,
        "nulls": 0
      },
      "pricesVisible": {
        "share": 0,
        "yes": 0,
        "n": 23,
        "nulls": 0
      },
      "formFound": {
        "share": 0.609,
        "yes": 14,
        "n": 23,
        "nulls": 0
      },
      "sensitiveFirstTouchForm": {
        "share": 0,
        "yes": 0,
        "n": 14,
        "nulls": 9
      },
      "htmlLang": {
        "share": 0.957,
        "yes": 22,
        "n": 23,
        "nulls": 0
      },
      "lcpOver2500": {
        "share": 0.87,
        "yes": 20,
        "n": 23,
        "nulls": 0
      },
      "anyContrastFailure": {
        "share": 0.87,
        "yes": 20,
        "n": 23,
        "nulls": 0
      },
      "fullAltCoverage": {
        "share": 0.773,
        "yes": 17,
        "n": 22,
        "nulls": 1
      }
    },
    "accounting": {
      "n": 26,
      "weightBytes": {
        "median": 2344300.5,
        "n": 26,
        "nulls": 0
      },
      "lcpMs": {
        "median": 8874,
        "n": 26,
        "nulls": 0
      },
      "altCoverage": {
        "median": 1,
        "n": 26,
        "nulls": 0
      },
      "contrastFailures": {
        "median": 12,
        "n": 26,
        "nulls": 0
      },
      "https": {
        "share": 1,
        "yes": 26,
        "n": 26,
        "nulls": 0
      },
      "httpRedirectsToHttps": {
        "share": 1,
        "yes": 26,
        "n": 26,
        "nulls": 0
      },
      "viewport": {
        "share": 1,
        "yes": 26,
        "n": 26,
        "nulls": 0
      },
      "tapToCall": {
        "share": 0.769,
        "yes": 20,
        "n": 26,
        "nulls": 0
      },
      "anySchema": {
        "share": 0.769,
        "yes": 20,
        "n": 26,
        "nulls": 0
      },
      "llmsTxt": {
        "share": 0.192,
        "yes": 5,
        "n": 26,
        "nulls": 0
      },
      "pricesVisible": {
        "share": 0.038,
        "yes": 1,
        "n": 26,
        "nulls": 0
      },
      "formFound": {
        "share": 0.654,
        "yes": 17,
        "n": 26,
        "nulls": 0
      },
      "sensitiveFirstTouchForm": {
        "share": 0,
        "yes": 0,
        "n": 17,
        "nulls": 9
      },
      "htmlLang": {
        "share": 0.962,
        "yes": 25,
        "n": 26,
        "nulls": 0
      },
      "lcpOver2500": {
        "share": 0.923,
        "yes": 24,
        "n": 26,
        "nulls": 0
      },
      "anyContrastFailure": {
        "share": 0.923,
        "yes": 24,
        "n": 26,
        "nulls": 0
      },
      "fullAltCoverage": {
        "share": 0.846,
        "yes": 22,
        "n": 26,
        "nulls": 0
      }
    }
  },
  "schemaTypeCounts": {
    "WebSite": 54,
    "Organization": 41,
    "SearchAction": 36,
    "WebPage": 35,
    "ImageObject": 32,
    "BreadcrumbList": 28,
    "ListItem": 28,
    "EntryPoint": 28,
    "PostalAddress": 27,
    "PropertyValueSpecification": 24,
    "ReadAction": 24,
    "Person": 15,
    "GeoCoordinates": 13,
    "LocalBusiness": 12,
    "OpeningHoursSpecification": 11,
    "Place": 10,
    "AggregateRating": 9,
    "LegalService": 8,
    "SiteNavigationElement": 7,
    "Article": 7,
    "City": 7,
    "Rating": 6,
    "Review": 6,
    "WPFooter": 5,
    "WPHeader": 5,
    "Brand": 5,
    "ContactPoint": 5,
    "AdministrativeArea": 4,
    "Answer": 4,
    "FAQPage": 4,
    "Question": 4,
    "Product": 4,
    "CreativeWork": 4,
    "Corporation": 3,
    "MedicalBusiness": 3,
    "AccountingService": 3,
    "QuantitativeValue": 2,
    "Offer": 2,
    "Service": 2,
    "MedicalProcedure": 2,
    "Physician": 2,
    "OfferCatalog": 2,
    "ItemList": 1,
    "Attorney": 1,
    "Blog": 1,
    "BlogPosting": 1,
    "InteractionCounter": 1,
    "PodiatryClinic": 1,
    "MedicalTherapy": 1,
    "Dentist": 1,
    "AboutPage": 1,
    "MedicalClinic": 1,
    "Reservation": 1,
    "ReserveAction": 1,
    "SpeakableSpecification": 1,
    "Country": 1,
    "Thing": 1,
    "VideoObject": 1,
    "ImageGallery": 1
  },
  "sources": [
    "https://business.londonchamber.com/list/ql/legal-318",
    "https://business.londonchamber.com/list/ql/health-care-314",
    "https://business.londonchamber.com/list/category/accounting-taxation-bookkeeping-2394",
    "https://business.ottawabot.ca/list/ql/professional-services-8",
    "https://business.ottawabot.ca/list/ql/financial-services-5",
    "https://business.ottawabot.ca/list/ql/health-wellness-7",
    "https://business.barriechamber.com/list/ql/legal-14",
    "https://business.barriechamber.com/list/ql/health-care-11",
    "https://business.barriechamber.com/list/category/accounting-75",
    "https://www.hamiltonchamber.ca/directory/categories/?member_categories=1057",
    "https://www.hamiltonchamber.ca/directory/categories/?member_categories=1054",
    "https://www.hamiltonchamber.ca/directory/categories/?member_categories=1042"
  ],
  "samplingFrame": "Convenience sample: practices listed with a website in the public member directories of four Ontario chambers of commerce / boards of trade (London, Ottawa, Barrie, Hamilton), filtered by sector keywords, de-duplicated by domain, national/multinational networks removed, capped at 30 per sector by SHA-1(domain) order. Not random; not representative of all Ontario practices.",
  "excluded": [
    {
      "domain": "harrisonpensa.com",
      "sector": "law",
      "reason": "homepage serves a bot challenge to headless Chrome and plain HTTP (403)",
      "stage": "frame"
    },
    {
      "domain": "iris.ca",
      "sector": "clinic",
      "reason": "national optical retail chain",
      "stage": "frame"
    },
    {
      "domain": "musictherapybarrie.ca",
      "sector": "clinic",
      "reason": "music therapy, not a clinic",
      "stage": "frame"
    },
    {
      "domain": "quickpill.ca",
      "sector": "clinic",
      "reason": "pharmacy, not a clinic",
      "stage": "frame"
    },
    {
      "domain": "stepmediators.com",
      "sector": "law",
      "reason": "mediation service, not a law firm",
      "stage": "frame"
    },
    {
      "domain": "acorncounselling.org",
      "sector": "clinic",
      "reason": "non-profit counselling agency",
      "stage": "frame"
    },
    {
      "domain": "payworks.ca",
      "sector": "accounting",
      "reason": "payroll software company",
      "stage": "frame"
    },
    {
      "domain": "legatelaw.ca",
      "sector": "law",
      "reason": "over the per-sector cap of 30 (ordered by SHA-1 of domain)",
      "stage": "frame"
    },
    {
      "domain": "moucklaw.ca",
      "sector": "law",
      "reason": "over the per-sector cap of 30 (ordered by SHA-1 of domain)",
      "stage": "frame"
    },
    {
      "domain": "sanctuarylawyers.com",
      "sector": "law",
      "reason": "over the per-sector cap of 30 (ordered by SHA-1 of domain)",
      "stage": "frame"
    },
    {
      "domain": "mmhlabourlaw.ca",
      "sector": "law",
      "reason": "over the per-sector cap of 30 (ordered by SHA-1 of domain)",
      "stage": "frame"
    },
    {
      "domain": "marshalllawgroup.ca",
      "sector": "law",
      "reason": "over the per-sector cap of 30 (ordered by SHA-1 of domain)",
      "stage": "frame"
    },
    {
      "domain": "inchlaw.com",
      "sector": "law",
      "reason": "over the per-sector cap of 30 (ordered by SHA-1 of domain)",
      "stage": "frame"
    },
    {
      "domain": "brazeauseller.com",
      "sector": "law",
      "reason": "over the per-sector cap of 30 (ordered by SHA-1 of domain)",
      "stage": "frame"
    },
    {
      "domain": "sheppardlaw.ca",
      "sector": "law",
      "reason": "over the per-sector cap of 30 (ordered by SHA-1 of domain)",
      "stage": "frame"
    },
    {
      "domain": "playtiscameronlaw.com",
      "sector": "law",
      "reason": "over the per-sector cap of 30 (ordered by SHA-1 of domain)",
      "stage": "frame"
    },
    {
      "domain": "valaw.ca",
      "sector": "law",
      "reason": "over the per-sector cap of 30 (ordered by SHA-1 of domain)",
      "stage": "frame"
    },
    {
      "domain": "barristonlaw.com",
      "sector": "law",
      "reason": "over the per-sector cap of 30 (ordered by SHA-1 of domain)",
      "stage": "frame"
    },
    {
      "domain": "sbpartners.ca",
      "sector": "accounting",
      "reason": "over the per-sector cap of 30 (ordered by SHA-1 of domain)",
      "stage": "frame"
    },
    {
      "domain": "valentecpas.com",
      "sector": "accounting",
      "reason": "over the per-sector cap of 30 (ordered by SHA-1 of domain)",
      "stage": "frame"
    },
    {
      "domain": "ggfl.ca",
      "sector": "accounting",
      "reason": "over the per-sector cap of 30 (ordered by SHA-1 of domain)",
      "stage": "frame"
    },
    {
      "domain": "lbmbooks.org",
      "sector": "accounting",
      "reason": "over the per-sector cap of 30 (ordered by SHA-1 of domain)",
      "stage": "frame"
    },
    {
      "domain": "kanatatax.ca",
      "sector": "accounting",
      "reason": "over the per-sector cap of 30 (ordered by SHA-1 of domain)",
      "stage": "frame"
    },
    {
      "domain": "accountapotamus.com",
      "sector": "accounting",
      "reason": "over the per-sector cap of 30 (ordered by SHA-1 of domain)",
      "stage": "frame"
    },
    {
      "domain": "breedon.ca",
      "sector": "law",
      "stage": "verify",
      "reason": "homepage text does not read as a law practice (or a bot challenge was served)"
    },
    {
      "domain": "rossmcbride.com",
      "sector": "law",
      "stage": "verify",
      "reason": "homepage text does not read as a law practice (or a bot challenge was served)"
    },
    {
      "domain": "sginjurylaw.ca",
      "sector": "law",
      "stage": "verify",
      "reason": "homepage text does not read as a law practice (or a bot challenge was served)"
    },
    {
      "domain": "cybintaxlaw.ca",
      "sector": "law",
      "stage": "verify",
      "reason": "homepage text does not read as a law practice (or a bot challenge was served)"
    },
    {
      "domain": "lazarlaw.ca",
      "sector": "law",
      "stage": "verify",
      "reason": "homepage text does not read as a law practice (or a bot challenge was served)"
    },
    {
      "domain": "vaultmentalhealth.com",
      "sector": "clinic",
      "stage": "verify",
      "reason": "homepage text does not read as a clinic practice (or a bot challenge was served)"
    },
    {
      "domain": "barriefht.ca",
      "sector": "clinic",
      "stage": "verify",
      "reason": "homepage text does not read as a clinic practice (or a bot challenge was served)"
    },
    {
      "domain": "bentleyhearing.com",
      "sector": "clinic",
      "stage": "verify",
      "reason": "homepage text does not read as a clinic practice (or a bot challenge was served)"
    },
    {
      "domain": "rootedinhealth.ca",
      "sector": "clinic",
      "stage": "verify",
      "reason": "homepage text does not read as a clinic practice (or a bot challenge was served)"
    },
    {
      "domain": "julienutrition.com",
      "sector": "clinic",
      "stage": "verify",
      "reason": "homepage text does not read as a clinic practice (or a bot challenge was served)"
    },
    {
      "domain": "nrservices.ca",
      "sector": "clinic",
      "stage": "verify",
      "reason": "national nutritional-rehabilitation service (\"across Canada\"), not a local clinic practice"
    },
    {
      "domain": "imkoza.ca",
      "sector": "accounting",
      "stage": "verify",
      "reason": "homepage text does not read as a accounting practice (or a bot challenge was served)"
    },
    {
      "domain": "stevebrazier.ca",
      "sector": "accounting",
      "stage": "verify",
      "reason": "homepage text does not read as a accounting practice (or a bot challenge was served)"
    },
    {
      "domain": "gbtaxaccounting.com",
      "sector": "accounting",
      "stage": "verify",
      "reason": "homepage text does not read as a accounting practice (or a bot challenge was served)"
    },
    {
      "domain": "financegroup-global.com",
      "sector": "accounting",
      "stage": "verify",
      "reason": "fractional-CFO firm serving Canada and the U.S., not an Ontario accounting/bookkeeping practice"
    }
  ],
  "sites": [
    {
      "domain": "devrylaw.ca",
      "sector": "law",
      "city": "Barrie",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [
        "AggregateRating",
        "BreadcrumbList",
        "GeoCoordinates",
        "ImageObject",
        "ItemList",
        "ListItem",
        "LocalBusiness",
        "OpeningHoursSpecification",
        "Organization",
        "PostalAddress",
        "QuantitativeValue",
        "WebPage",
        "WebSite"
      ],
      "llmsTxt": true,
      "pricesVisible": false,
      "formFound": null,
      "sensitiveFirstTouchForm": null,
      "htmlLang": true,
      "imgCount": 7,
      "altCoverage": 1,
      "contrastFailures": 10,
      "contrastChecked": 72,
      "weightBytes": 1667530,
      "lcpMs": 5365,
      "measuredAt": "2026-10-08T19:27:07.960Z",
      "notes": "contact page: net::ERR_HTTP2_PROTOCOL_ERROR; contact page failed to load; form fields recorded as null",
      "sourceUrl": "https://business.barriechamber.com/list/ql/legal-14"
    },
    {
      "domain": "fosterinjurylaw.ca",
      "sector": "law",
      "city": "Barrie",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [
        "AdministrativeArea",
        "Answer",
        "FAQPage",
        "Organization",
        "Person",
        "Question",
        "WebSite"
      ],
      "llmsTxt": true,
      "pricesVisible": false,
      "formFound": false,
      "sensitiveFirstTouchForm": null,
      "htmlLang": true,
      "imgCount": 5,
      "altCoverage": 1,
      "contrastFailures": 13,
      "contrastChecked": 157,
      "weightBytes": 1690445,
      "lcpMs": 8801,
      "measuredAt": "2026-10-08T19:28:21.792Z",
      "notes": "no contact/booking form found on homepage or one contact page",
      "sourceUrl": "https://business.barriechamber.com/list/ql/legal-14"
    },
    {
      "domain": "hometownlaw.ca",
      "sector": "law",
      "city": "Hamilton",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [
        "BreadcrumbList",
        "ListItem",
        "Organization",
        "WebPage"
      ],
      "llmsTxt": false,
      "pricesVisible": false,
      "formFound": true,
      "sensitiveFirstTouchForm": false,
      "htmlLang": true,
      "imgCount": 15,
      "altCoverage": 0.867,
      "contrastFailures": 11,
      "contrastChecked": 28,
      "weightBytes": 3001617,
      "lcpMs": 12397,
      "measuredAt": "2026-10-08T19:29:19.396Z",
      "notes": "form inspected on homepage",
      "sourceUrl": "https://www.hamiltonchamber.ca/directory/categories/?member_categories=1057"
    },
    {
      "domain": "cookreynolds.ca",
      "sector": "law",
      "city": "Hamilton",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [
        "LocalBusiness",
        "Organization",
        "WebSite"
      ],
      "llmsTxt": false,
      "pricesVisible": false,
      "formFound": true,
      "sensitiveFirstTouchForm": false,
      "htmlLang": true,
      "imgCount": 7,
      "altCoverage": 1,
      "contrastFailures": 40,
      "contrastChecked": 56,
      "weightBytes": 2396242,
      "lcpMs": 6035,
      "measuredAt": "2026-10-08T19:30:15.788Z",
      "notes": "form inspected on homepage",
      "sourceUrl": "https://www.hamiltonchamber.ca/directory/categories/?member_categories=1057"
    },
    {
      "domain": "hukamlaw.ca",
      "sector": "law",
      "city": "Barrie",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": false,
      "schemaTypes": [
        "BreadcrumbList",
        "EntryPoint",
        "ImageObject",
        "ListItem",
        "Organization",
        "PropertyValueSpecification",
        "ReadAction",
        "SearchAction",
        "SiteNavigationElement",
        "WPFooter",
        "WPHeader",
        "WebPage",
        "WebSite"
      ],
      "llmsTxt": false,
      "pricesVisible": false,
      "formFound": true,
      "sensitiveFirstTouchForm": false,
      "htmlLang": true,
      "imgCount": 2,
      "altCoverage": 1,
      "contrastFailures": 1,
      "contrastChecked": 26,
      "weightBytes": 1738717,
      "lcpMs": 6064,
      "measuredAt": "2026-10-08T19:30:39.300Z",
      "notes": "form inspected on contact",
      "sourceUrl": "https://business.barriechamber.com/list/ql/legal-14"
    },
    {
      "domain": "galbraithfamilylaw.com",
      "sector": "law",
      "city": "Barrie",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [
        "BreadcrumbList",
        "EntryPoint",
        "ImageObject",
        "ListItem",
        "Organization",
        "PropertyValueSpecification",
        "ReadAction",
        "SearchAction",
        "WebPage",
        "WebSite"
      ],
      "llmsTxt": false,
      "pricesVisible": false,
      "formFound": true,
      "sensitiveFirstTouchForm": false,
      "htmlLang": true,
      "imgCount": 13,
      "altCoverage": 0.692,
      "contrastFailures": 28,
      "contrastChecked": 111,
      "weightBytes": 6475365,
      "lcpMs": 24338,
      "measuredAt": "2026-10-08T19:31:26.798Z",
      "notes": "form inspected on contact",
      "sourceUrl": "https://business.barriechamber.com/list/ql/legal-14"
    },
    {
      "domain": "benmor.com",
      "sector": "law",
      "city": "Toronto",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [
        "BreadcrumbList",
        "EntryPoint",
        "ImageObject",
        "LegalService",
        "ListItem",
        "PostalAddress",
        "PropertyValueSpecification",
        "ReadAction",
        "SearchAction",
        "WebPage",
        "WebSite"
      ],
      "llmsTxt": false,
      "pricesVisible": false,
      "formFound": true,
      "sensitiveFirstTouchForm": false,
      "htmlLang": true,
      "imgCount": 18,
      "altCoverage": 1,
      "contrastFailures": 1,
      "contrastChecked": 79,
      "weightBytes": 1105569,
      "lcpMs": 7403,
      "measuredAt": "2026-10-08T19:32:05.469Z",
      "notes": "form inspected on homepage",
      "sourceUrl": "https://www.hamiltonchamber.ca/directory/categories/?member_categories=1057"
    },
    {
      "domain": "abidelaw.ca",
      "sector": "law",
      "city": "Mississauga",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [],
      "llmsTxt": true,
      "pricesVisible": false,
      "formFound": true,
      "sensitiveFirstTouchForm": false,
      "htmlLang": true,
      "imgCount": 52,
      "altCoverage": 0.904,
      "contrastFailures": 8,
      "contrastChecked": 208,
      "weightBytes": 2047561,
      "lcpMs": 6966,
      "measuredAt": "2026-10-08T19:33:55.452Z",
      "notes": "form inspected on homepage",
      "sourceUrl": "https://business.barriechamber.com/list/ql/legal-14"
    },
    {
      "domain": "beckettinjurylawyers.com",
      "sector": "law",
      "city": "London",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [
        "Article",
        "Brand",
        "ContactPoint",
        "GeoCoordinates",
        "ImageObject",
        "LegalService",
        "Organization",
        "Person",
        "Place",
        "PostalAddress",
        "SearchAction",
        "WebPage",
        "WebSite"
      ],
      "llmsTxt": false,
      "pricesVisible": false,
      "formFound": true,
      "sensitiveFirstTouchForm": false,
      "htmlLang": true,
      "imgCount": 18,
      "altCoverage": 1,
      "contrastFailures": 5,
      "contrastChecked": 77,
      "weightBytes": 6813586,
      "lcpMs": 32030,
      "measuredAt": "2026-10-08T19:35:13.342Z",
      "notes": "form inspected on contact",
      "sourceUrl": "https://business.londonchamber.com/list/ql/legal-318"
    },
    {
      "domain": "castillolawchambers.com",
      "sector": "law",
      "city": "London",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [
        "EntryPoint",
        "ImageObject",
        "LocalBusiness",
        "Organization",
        "PostalAddress",
        "SearchAction",
        "WebSite"
      ],
      "llmsTxt": false,
      "pricesVisible": false,
      "formFound": false,
      "sensitiveFirstTouchForm": null,
      "htmlLang": true,
      "imgCount": 3,
      "altCoverage": 1,
      "contrastFailures": 14,
      "contrastChecked": 33,
      "weightBytes": 1596039,
      "lcpMs": 9120,
      "measuredAt": "2026-10-08T19:35:44.251Z",
      "notes": "no contact/booking form found on homepage or one contact page",
      "sourceUrl": "https://business.londonchamber.com/list/ql/legal-318"
    },
    {
      "domain": "ahinjurylaw.com",
      "sector": "law",
      "city": "Toronto",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [
        "AggregateRating",
        "Answer",
        "BreadcrumbList",
        "City",
        "EntryPoint",
        "FAQPage",
        "GeoCoordinates",
        "ImageObject",
        "LegalService",
        "ListItem",
        "OpeningHoursSpecification",
        "Person",
        "PostalAddress",
        "PropertyValueSpecification",
        "Question",
        "Rating",
        "ReadAction",
        "Review",
        "SearchAction",
        "WebPage",
        "WebSite"
      ],
      "llmsTxt": false,
      "pricesVisible": false,
      "formFound": true,
      "sensitiveFirstTouchForm": false,
      "htmlLang": true,
      "imgCount": 100,
      "altCoverage": 1,
      "contrastFailures": 10,
      "contrastChecked": 282,
      "weightBytes": 1268986,
      "lcpMs": 3307,
      "measuredAt": "2026-10-08T19:36:13.083Z",
      "notes": "form inspected on homepage",
      "sourceUrl": "https://business.londonchamber.com/list/ql/legal-318"
    },
    {
      "domain": "therileyfirm.ca",
      "sector": "law",
      "city": "Hamilton",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [
        "Answer",
        "FAQPage",
        "GeoCoordinates",
        "LegalService",
        "Organization",
        "Place",
        "PostalAddress",
        "Question",
        "SearchAction",
        "WebSite"
      ],
      "llmsTxt": true,
      "pricesVisible": false,
      "formFound": true,
      "sensitiveFirstTouchForm": false,
      "htmlLang": true,
      "imgCount": 61,
      "altCoverage": 1,
      "contrastFailures": 10,
      "contrastChecked": 188,
      "weightBytes": 33978984,
      "lcpMs": 5292,
      "measuredAt": "2026-10-08T19:36:40.829Z",
      "notes": "form inspected on homepage",
      "sourceUrl": "https://www.hamiltonchamber.ca/directory/categories/?member_categories=1057"
    },
    {
      "domain": "werhun.ca",
      "sector": "law",
      "city": "Hamilton",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [],
      "llmsTxt": false,
      "pricesVisible": false,
      "formFound": true,
      "sensitiveFirstTouchForm": false,
      "htmlLang": true,
      "imgCount": 4,
      "altCoverage": 0.5,
      "contrastFailures": 0,
      "contrastChecked": 17,
      "weightBytes": 1285577,
      "lcpMs": 6884,
      "measuredAt": "2026-10-08T19:37:13.338Z",
      "notes": "form inspected on contact",
      "sourceUrl": "https://www.hamiltonchamber.ca/directory/categories/?member_categories=1057"
    },
    {
      "domain": "dooleylucenti.ca",
      "sector": "law",
      "city": "Barrie",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [
        "AggregateRating",
        "Brand",
        "Person",
        "Product",
        "Rating",
        "Review",
        "WebSite"
      ],
      "llmsTxt": false,
      "pricesVisible": false,
      "formFound": true,
      "sensitiveFirstTouchForm": false,
      "htmlLang": true,
      "imgCount": 21,
      "altCoverage": 1,
      "contrastFailures": 80,
      "contrastChecked": 95,
      "weightBytes": 229287310,
      "lcpMs": 18479,
      "measuredAt": "2026-10-08T19:38:27.097Z",
      "notes": "form inspected on homepage",
      "sourceUrl": "https://business.barriechamber.com/list/ql/legal-14"
    },
    {
      "domain": "widdringtonlegal.ca",
      "sector": "law",
      "city": "Barrie",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [
        "Article",
        "ImageObject",
        "Organization",
        "Person",
        "SearchAction",
        "SiteNavigationElement",
        "WebPage",
        "WebSite"
      ],
      "llmsTxt": false,
      "pricesVisible": false,
      "formFound": true,
      "sensitiveFirstTouchForm": false,
      "htmlLang": true,
      "imgCount": 5,
      "altCoverage": 1,
      "contrastFailures": 4,
      "contrastChecked": 57,
      "weightBytes": 3200303,
      "lcpMs": 16378,
      "measuredAt": "2026-10-08T19:39:05.814Z",
      "notes": "form inspected on contact",
      "sourceUrl": "https://business.barriechamber.com/list/ql/legal-14"
    },
    {
      "domain": "simpsonwigle.com",
      "sector": "law",
      "city": "Hamilton",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [
        "ImageObject",
        "LocalBusiness",
        "Organization",
        "PostalAddress",
        "SearchAction",
        "WebPage",
        "WebSite"
      ],
      "llmsTxt": false,
      "pricesVisible": false,
      "formFound": true,
      "sensitiveFirstTouchForm": false,
      "htmlLang": true,
      "imgCount": 7,
      "altCoverage": 1,
      "contrastFailures": 0,
      "contrastChecked": 17,
      "weightBytes": 682593,
      "lcpMs": 4118,
      "measuredAt": "2026-10-08T19:39:40.472Z",
      "notes": "no Ontario address text on the pages read; Ontario location from the directory listing address; form inspected on homepage",
      "sourceUrl": "https://www.hamiltonchamber.ca/directory/categories/?member_categories=1057"
    },
    {
      "domain": "mannlawyers.com",
      "sector": "law",
      "city": "Ottawa",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [
        "AggregateRating",
        "BreadcrumbList",
        "EntryPoint",
        "GeoCoordinates",
        "ImageObject",
        "ListItem",
        "LocalBusiness",
        "OpeningHoursSpecification",
        "Organization",
        "PostalAddress",
        "PropertyValueSpecification",
        "ReadAction",
        "SearchAction",
        "WebPage",
        "WebSite"
      ],
      "llmsTxt": true,
      "pricesVisible": false,
      "formFound": true,
      "sensitiveFirstTouchForm": false,
      "htmlLang": true,
      "imgCount": 33,
      "altCoverage": 1,
      "contrastFailures": 0,
      "contrastChecked": 44,
      "weightBytes": 1334327,
      "lcpMs": 1214,
      "measuredAt": "2026-10-08T19:40:03.483Z",
      "notes": "form inspected on contact",
      "sourceUrl": "https://business.ottawabot.ca/list/ql/professional-services-8"
    },
    {
      "domain": "mgllawyers.ca",
      "sector": "law",
      "city": "Ottawa",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": false,
      "schemaTypes": [
        "LocalBusiness",
        "WebSite"
      ],
      "llmsTxt": false,
      "pricesVisible": false,
      "formFound": true,
      "sensitiveFirstTouchForm": false,
      "htmlLang": true,
      "imgCount": 12,
      "altCoverage": 1,
      "contrastFailures": 15,
      "contrastChecked": 20,
      "weightBytes": 2171365,
      "lcpMs": 14495,
      "measuredAt": "2026-10-08T19:40:35.220Z",
      "notes": "form inspected on homepage",
      "sourceUrl": "https://business.ottawabot.ca/list/ql/professional-services-8"
    },
    {
      "domain": "mckenzielake.com",
      "sector": "law",
      "city": "London",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [
        "BreadcrumbList",
        "EntryPoint",
        "GeoCoordinates",
        "ImageObject",
        "LegalService",
        "ListItem",
        "OpeningHoursSpecification",
        "Organization",
        "PostalAddress",
        "PropertyValueSpecification",
        "ReadAction",
        "SearchAction",
        "WebPage",
        "WebSite"
      ],
      "llmsTxt": false,
      "pricesVisible": false,
      "formFound": true,
      "sensitiveFirstTouchForm": false,
      "htmlLang": true,
      "imgCount": 30,
      "altCoverage": 0.933,
      "contrastFailures": 1,
      "contrastChecked": 14,
      "weightBytes": 3417685,
      "lcpMs": 7849,
      "measuredAt": "2026-10-08T19:41:10.349Z",
      "notes": "form inspected on contact",
      "sourceUrl": "https://business.londonchamber.com/list/ql/legal-318"
    },
    {
      "domain": "shlaw.ca",
      "sector": "law",
      "city": "Hamilton",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [
        "BreadcrumbList",
        "EntryPoint",
        "ImageObject",
        "ListItem",
        "Organization",
        "PropertyValueSpecification",
        "ReadAction",
        "SearchAction",
        "WebPage",
        "WebSite"
      ],
      "llmsTxt": true,
      "pricesVisible": false,
      "formFound": true,
      "sensitiveFirstTouchForm": false,
      "htmlLang": true,
      "imgCount": 10,
      "altCoverage": 1,
      "contrastFailures": 0,
      "contrastChecked": 47,
      "weightBytes": 2029002,
      "lcpMs": 4687,
      "measuredAt": "2026-10-08T19:41:54.294Z",
      "notes": "form inspected on contact",
      "sourceUrl": "https://www.hamiltonchamber.ca/directory/categories/?member_categories=1057"
    },
    {
      "domain": "lexcor.ca",
      "sector": "law",
      "city": "London",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [
        "LocalBusiness",
        "PostalAddress",
        "WebSite"
      ],
      "llmsTxt": true,
      "pricesVisible": false,
      "formFound": false,
      "sensitiveFirstTouchForm": null,
      "htmlLang": true,
      "imgCount": 7,
      "altCoverage": 1,
      "contrastFailures": 7,
      "contrastChecked": 45,
      "weightBytes": 1365057,
      "lcpMs": 8191,
      "measuredAt": "2026-10-08T19:42:32.875Z",
      "notes": "no contact/booking form found on homepage or one contact page",
      "sourceUrl": "https://business.londonchamber.com/list/ql/legal-318"
    },
    {
      "domain": "blaze-ip.ca",
      "sector": "law",
      "city": "Hamilton",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [
        "Organization"
      ],
      "llmsTxt": false,
      "pricesVisible": false,
      "formFound": false,
      "sensitiveFirstTouchForm": null,
      "htmlLang": true,
      "imgCount": 5,
      "altCoverage": 0.8,
      "contrastFailures": 1,
      "contrastChecked": 46,
      "weightBytes": 11030992,
      "lcpMs": 11946,
      "measuredAt": "2026-10-08T19:43:19.525Z",
      "notes": "no contact/booking form found on homepage or one contact page",
      "sourceUrl": "https://www.hamiltonchamber.ca/directory/categories/?member_categories=1057"
    },
    {
      "domain": "findlaylaw.ca",
      "sector": "law",
      "city": "Hamilton",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [
        "AggregateRating",
        "BreadcrumbList",
        "City",
        "EntryPoint",
        "ImageObject",
        "LegalService",
        "ListItem",
        "Organization",
        "Person",
        "PostalAddress",
        "PropertyValueSpecification",
        "Rating",
        "ReadAction",
        "Review",
        "SearchAction",
        "WebPage",
        "WebSite"
      ],
      "llmsTxt": false,
      "pricesVisible": false,
      "formFound": true,
      "sensitiveFirstTouchForm": true,
      "htmlLang": true,
      "imgCount": 31,
      "altCoverage": 0.968,
      "contrastFailures": 66,
      "contrastChecked": 134,
      "weightBytes": 10095149,
      "lcpMs": 7474,
      "measuredAt": "2026-10-08T19:44:00.241Z",
      "notes": "form inspected on homepage",
      "sourceUrl": "https://www.hamiltonchamber.ca/directory/categories/?member_categories=1057"
    },
    {
      "domain": "felitigation.com",
      "sector": "law",
      "city": "Barrie",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": false,
      "schemaTypes": [
        "AdministrativeArea",
        "Attorney",
        "Blog",
        "BlogPosting",
        "BreadcrumbList",
        "CreativeWork",
        "EntryPoint",
        "ImageObject",
        "InteractionCounter",
        "LegalService",
        "ListItem",
        "Offer",
        "OpeningHoursSpecification",
        "Organization",
        "Person",
        "Place",
        "PostalAddress",
        "PropertyValueSpecification",
        "ReadAction",
        "SearchAction",
        "Service",
        "SiteNavigationElement",
        "WPFooter",
        "WPHeader",
        "WebPage",
        "WebSite"
      ],
      "llmsTxt": false,
      "pricesVisible": false,
      "formFound": true,
      "sensitiveFirstTouchForm": false,
      "htmlLang": true,
      "imgCount": 78,
      "altCoverage": 1,
      "contrastFailures": 18,
      "contrastChecked": 82,
      "weightBytes": 3901463,
      "lcpMs": 6150,
      "measuredAt": "2026-10-08T19:44:29.620Z",
      "notes": "form inspected on homepage",
      "sourceUrl": "https://business.barriechamber.com/list/ql/legal-14"
    },
    {
      "domain": "drakelaw.ca",
      "sector": "law",
      "city": "London",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": false,
      "schemaTypes": [
        "AdministrativeArea",
        "City",
        "LegalService",
        "LocalBusiness",
        "OpeningHoursSpecification",
        "Organization",
        "PostalAddress",
        "WebSite"
      ],
      "llmsTxt": false,
      "pricesVisible": false,
      "formFound": true,
      "sensitiveFirstTouchForm": false,
      "htmlLang": true,
      "imgCount": 35,
      "altCoverage": 1,
      "contrastFailures": 47,
      "contrastChecked": 96,
      "weightBytes": 2182885,
      "lcpMs": 10984,
      "measuredAt": "2026-10-08T19:45:00.502Z",
      "notes": "form inspected on contact",
      "sourceUrl": "https://business.londonchamber.com/list/ql/legal-318"
    },
    {
      "domain": "firststepmenstherapy.com",
      "sector": "clinic",
      "city": "Ottawa",
      "https": true,
      "httpRedirectsToHttps": null,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [
        "WebSite"
      ],
      "llmsTxt": true,
      "pricesVisible": false,
      "formFound": true,
      "sensitiveFirstTouchForm": false,
      "htmlLang": true,
      "imgCount": 85,
      "altCoverage": 1,
      "contrastFailures": 23,
      "contrastChecked": 235,
      "weightBytes": 3447602,
      "lcpMs": 10210,
      "measuredAt": "2026-10-08T19:45:55.682Z",
      "notes": "form inspected on homepage",
      "sourceUrl": "https://business.ottawabot.ca/list/ql/health-wellness-7"
    },
    {
      "domain": "completefootcarelondon.com",
      "sector": "clinic",
      "city": "London",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [
        "AdministrativeArea",
        "AggregateRating",
        "Answer",
        "Article",
        "Brand",
        "City",
        "ContactPoint",
        "CreativeWork",
        "FAQPage",
        "GeoCoordinates",
        "ImageObject",
        "OpeningHoursSpecification",
        "Organization",
        "Person",
        "Place",
        "PodiatryClinic",
        "PostalAddress",
        "Product",
        "Question",
        "Rating",
        "Review",
        "SearchAction",
        "WebPage",
        "WebSite"
      ],
      "llmsTxt": false,
      "pricesVisible": false,
      "formFound": true,
      "sensitiveFirstTouchForm": false,
      "htmlLang": true,
      "imgCount": 14,
      "altCoverage": 1,
      "contrastFailures": 16,
      "contrastChecked": 68,
      "weightBytes": 1789753,
      "lcpMs": 12846,
      "measuredAt": "2026-10-08T19:46:32.560Z",
      "notes": "form inspected on homepage",
      "sourceUrl": "https://business.londonchamber.com/list/ql/health-care-314"
    },
    {
      "domain": "cataniachiropractic.com",
      "sector": "clinic",
      "city": "London",
      "https": true,
      "httpRedirectsToHttps": false,
      "viewport": true,
      "tapToCall": false,
      "schemaTypes": [],
      "llmsTxt": false,
      "pricesVisible": false,
      "formFound": false,
      "sensitiveFirstTouchForm": null,
      "htmlLang": true,
      "imgCount": 0,
      "altCoverage": null,
      "contrastFailures": 0,
      "contrastChecked": 11,
      "weightBytes": 613986,
      "lcpMs": 5448,
      "measuredAt": "2026-10-08T19:47:03.316Z",
      "notes": "no Ontario address text on the pages read; Ontario location from the directory listing address; no contact/booking form found on homepage or one contact page",
      "sourceUrl": "https://business.londonchamber.com/list/ql/health-care-314"
    },
    {
      "domain": "simcoelakesidemassage.ca",
      "sector": "clinic",
      "city": "Barrie",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [
        "BreadcrumbList",
        "ContactPoint",
        "Corporation",
        "CreativeWork",
        "EntryPoint",
        "GeoCoordinates",
        "ImageObject",
        "ListItem",
        "OpeningHoursSpecification",
        "Organization",
        "Place",
        "PostalAddress",
        "PropertyValueSpecification",
        "QuantitativeValue",
        "ReadAction",
        "SearchAction",
        "SiteNavigationElement",
        "WPFooter",
        "WPHeader",
        "WebPage",
        "WebSite"
      ],
      "llmsTxt": false,
      "pricesVisible": false,
      "formFound": true,
      "sensitiveFirstTouchForm": false,
      "htmlLang": true,
      "imgCount": 7,
      "altCoverage": 1,
      "contrastFailures": 8,
      "contrastChecked": 88,
      "weightBytes": 5059015,
      "lcpMs": 9040,
      "measuredAt": "2026-10-08T19:47:53.845Z",
      "notes": "form inspected on contact",
      "sourceUrl": "https://business.barriechamber.com/list/ql/health-care-11"
    },
    {
      "domain": "thestrideclinic.com",
      "sector": "clinic",
      "city": "Barrie",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": false,
      "schemaTypes": [
        "BreadcrumbList",
        "EntryPoint",
        "ImageObject",
        "ListItem",
        "Organization",
        "PropertyValueSpecification",
        "ReadAction",
        "SearchAction",
        "SiteNavigationElement",
        "WPFooter",
        "WPHeader",
        "WebPage",
        "WebSite"
      ],
      "llmsTxt": false,
      "pricesVisible": false,
      "formFound": false,
      "sensitiveFirstTouchForm": null,
      "htmlLang": true,
      "imgCount": 16,
      "altCoverage": 0.938,
      "contrastFailures": 15,
      "contrastChecked": 40,
      "weightBytes": 2790996,
      "lcpMs": 17445,
      "measuredAt": "2026-10-08T19:48:29.343Z",
      "notes": "no contact/booking form found on homepage or one contact page",
      "sourceUrl": "https://business.barriechamber.com/list/ql/health-care-11"
    },
    {
      "domain": "groundupchiro.ca",
      "sector": "clinic",
      "city": "Hamilton",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [],
      "llmsTxt": false,
      "pricesVisible": false,
      "formFound": true,
      "sensitiveFirstTouchForm": false,
      "htmlLang": true,
      "imgCount": 23,
      "altCoverage": 1,
      "contrastFailures": 102,
      "contrastChecked": 168,
      "weightBytes": 12271423,
      "lcpMs": 17126,
      "measuredAt": "2026-10-08T19:49:03.791Z",
      "notes": "form inspected on contact",
      "sourceUrl": "https://www.hamiltonchamber.ca/directory/categories/?member_categories=1054"
    },
    {
      "domain": "conceptofmovement.com",
      "sector": "clinic",
      "city": "Barrie",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [
        "LocalBusiness",
        "Organization",
        "PostalAddress",
        "WebPage"
      ],
      "llmsTxt": true,
      "pricesVisible": false,
      "formFound": true,
      "sensitiveFirstTouchForm": false,
      "htmlLang": true,
      "imgCount": 81,
      "altCoverage": 1,
      "contrastFailures": 0,
      "contrastChecked": 38,
      "weightBytes": 15821187,
      "lcpMs": 2407,
      "measuredAt": "2026-10-08T19:52:03.703Z",
      "notes": "plain HTTP client answered 403; scheme checks done in Chrome; llms.txt checked with an in-page fetch; form inspected on contact",
      "sourceUrl": "https://business.barriechamber.com/list/ql/health-care-11"
    },
    {
      "domain": "groverdentalcare.com",
      "sector": "clinic",
      "city": "Hamilton",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [
        "BreadcrumbList",
        "EntryPoint",
        "ImageObject",
        "ListItem",
        "MedicalBusiness",
        "MedicalProcedure",
        "Organization",
        "Person",
        "Physician",
        "PostalAddress",
        "PropertyValueSpecification",
        "ReadAction",
        "SearchAction",
        "WebPage",
        "WebSite"
      ],
      "llmsTxt": false,
      "pricesVisible": false,
      "formFound": false,
      "sensitiveFirstTouchForm": null,
      "htmlLang": true,
      "imgCount": 28,
      "altCoverage": 1,
      "contrastFailures": 53,
      "contrastChecked": 114,
      "weightBytes": 7186801,
      "lcpMs": 1988,
      "measuredAt": "2026-10-08T19:52:52.782Z",
      "notes": "no contact/booking form found on homepage or one contact page",
      "sourceUrl": "https://www.hamiltonchamber.ca/directory/categories/?member_categories=1054"
    },
    {
      "domain": "lotuscare.ca",
      "sector": "clinic",
      "city": "Ottawa",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [
        "BreadcrumbList",
        "ListItem",
        "Organization",
        "WebPage",
        "WebSite"
      ],
      "llmsTxt": true,
      "pricesVisible": false,
      "formFound": false,
      "sensitiveFirstTouchForm": null,
      "htmlLang": true,
      "imgCount": 2,
      "altCoverage": 1,
      "contrastFailures": 37,
      "contrastChecked": 82,
      "weightBytes": 446440,
      "lcpMs": 2292,
      "measuredAt": "2026-10-08T19:53:59.979Z",
      "notes": "no contact/booking form found on homepage or one contact page",
      "sourceUrl": "https://business.ottawabot.ca/list/ql/health-wellness-7"
    },
    {
      "domain": "barrieanxietyclinic.com",
      "sector": "clinic",
      "city": "Barrie",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": false,
      "schemaTypes": [
        "WebSite"
      ],
      "llmsTxt": false,
      "pricesVisible": false,
      "formFound": false,
      "sensitiveFirstTouchForm": null,
      "htmlLang": true,
      "imgCount": 1,
      "altCoverage": 1,
      "contrastFailures": 4,
      "contrastChecked": 30,
      "weightBytes": 1153436,
      "lcpMs": 8207,
      "measuredAt": "2026-10-08T19:55:00.942Z",
      "notes": "form/booking only in third-party iframe (calendly.com) — not inspected; no contact/booking form found on homepage or one contact page",
      "sourceUrl": "https://business.barriechamber.com/list/ql/health-care-11"
    },
    {
      "domain": "rocadermclinic.com",
      "sector": "clinic",
      "city": "Ottawa",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [
        "City",
        "EntryPoint",
        "LocalBusiness",
        "MedicalBusiness",
        "MedicalTherapy",
        "Offer",
        "OfferCatalog",
        "OpeningHoursSpecification",
        "PostalAddress",
        "SearchAction",
        "Service",
        "WebSite"
      ],
      "llmsTxt": true,
      "pricesVisible": false,
      "formFound": true,
      "sensitiveFirstTouchForm": false,
      "htmlLang": true,
      "imgCount": 59,
      "altCoverage": 1,
      "contrastFailures": 8,
      "contrastChecked": 45,
      "weightBytes": 4787853,
      "lcpMs": 12576,
      "measuredAt": "2026-10-08T19:55:42.736Z",
      "notes": "no Ontario address text on the pages read; Ontario location from the directory listing address; form inspected on homepage",
      "sourceUrl": "https://business.ottawabot.ca/list/ql/health-wellness-7"
    },
    {
      "domain": "crescenthealth.ca",
      "sector": "clinic",
      "city": "Barrie",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [
        "AggregateRating",
        "Brand",
        "Person",
        "Product",
        "Rating",
        "Review"
      ],
      "llmsTxt": false,
      "pricesVisible": false,
      "formFound": true,
      "sensitiveFirstTouchForm": false,
      "htmlLang": true,
      "imgCount": 20,
      "altCoverage": 0.85,
      "contrastFailures": 7,
      "contrastChecked": 53,
      "weightBytes": 8469894,
      "lcpMs": 11377,
      "measuredAt": "2026-10-08T19:56:32.617Z",
      "notes": "form inspected on contact",
      "sourceUrl": "https://business.barriechamber.com/list/ql/health-care-11"
    },
    {
      "domain": "myodynamic.ca",
      "sector": "clinic",
      "city": "Barrie",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [
        "AggregateRating",
        "Brand",
        "Person",
        "Product",
        "Rating",
        "Review"
      ],
      "llmsTxt": false,
      "pricesVisible": false,
      "formFound": true,
      "sensitiveFirstTouchForm": false,
      "htmlLang": true,
      "imgCount": 29,
      "altCoverage": 0.379,
      "contrastFailures": 11,
      "contrastChecked": 58,
      "weightBytes": 5518937,
      "lcpMs": 21946,
      "measuredAt": "2026-10-08T19:57:10.035Z",
      "notes": "form inspected on contact",
      "sourceUrl": "https://business.barriechamber.com/list/ql/health-care-11"
    },
    {
      "domain": "embodiedresilience.ca",
      "sector": "clinic",
      "city": "London",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [
        "BreadcrumbList",
        "EntryPoint",
        "ImageObject",
        "ListItem",
        "Organization",
        "PropertyValueSpecification",
        "ReadAction",
        "SearchAction",
        "WebPage",
        "WebSite"
      ],
      "llmsTxt": true,
      "pricesVisible": false,
      "formFound": true,
      "sensitiveFirstTouchForm": false,
      "htmlLang": true,
      "imgCount": 83,
      "altCoverage": 1,
      "contrastFailures": 33,
      "contrastChecked": 106,
      "weightBytes": 7967076,
      "lcpMs": 12188,
      "measuredAt": "2026-10-08T19:57:51.754Z",
      "notes": "form inspected on homepage",
      "sourceUrl": "https://business.londonchamber.com/list/ql/health-care-314"
    },
    {
      "domain": "dunnaudiology.ca",
      "sector": "clinic",
      "city": "London",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [
        "BreadcrumbList",
        "EntryPoint",
        "ImageObject",
        "ListItem",
        "Organization",
        "PropertyValueSpecification",
        "ReadAction",
        "SearchAction",
        "WebPage",
        "WebSite"
      ],
      "llmsTxt": false,
      "pricesVisible": false,
      "formFound": true,
      "sensitiveFirstTouchForm": false,
      "htmlLang": true,
      "imgCount": 27,
      "altCoverage": 0.926,
      "contrastFailures": 11,
      "contrastChecked": 56,
      "weightBytes": 12194941,
      "lcpMs": 46575,
      "measuredAt": "2026-10-08T19:58:21.122Z",
      "notes": "form inspected on homepage",
      "sourceUrl": "https://business.londonchamber.com/list/ql/health-care-314"
    },
    {
      "domain": "fairmontdental.ca",
      "sector": "clinic",
      "city": "London",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [
        "AggregateRating",
        "BreadcrumbList",
        "City",
        "Dentist",
        "EntryPoint",
        "GeoCoordinates",
        "ListItem",
        "OpeningHoursSpecification",
        "Place",
        "PostalAddress",
        "SearchAction",
        "WebSite"
      ],
      "llmsTxt": true,
      "pricesVisible": false,
      "formFound": true,
      "sensitiveFirstTouchForm": false,
      "htmlLang": true,
      "imgCount": 12,
      "altCoverage": 1,
      "contrastFailures": 5,
      "contrastChecked": 145,
      "weightBytes": 1333931,
      "lcpMs": 9098,
      "measuredAt": "2026-10-08T19:58:59.711Z",
      "notes": "form inspected on homepage",
      "sourceUrl": "https://business.londonchamber.com/list/ql/health-care-314"
    },
    {
      "domain": "excitephysio.com",
      "sector": "clinic",
      "city": "Barrie",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [
        "AboutPage",
        "GeoCoordinates",
        "ImageObject",
        "MedicalBusiness",
        "Organization",
        "Place",
        "PostalAddress",
        "SearchAction",
        "WebSite"
      ],
      "llmsTxt": true,
      "pricesVisible": false,
      "formFound": false,
      "sensitiveFirstTouchForm": null,
      "htmlLang": true,
      "imgCount": 8,
      "altCoverage": 1,
      "contrastFailures": 3,
      "contrastChecked": 38,
      "weightBytes": 3045310,
      "lcpMs": 11040,
      "measuredAt": "2026-10-08T19:59:23.164Z",
      "notes": "no contact/booking form found on homepage or one contact page",
      "sourceUrl": "https://business.barriechamber.com/list/ql/health-care-11"
    },
    {
      "domain": "befm.ca",
      "sector": "clinic",
      "city": "Barrie",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": false,
      "schemaTypes": [
        "WebSite"
      ],
      "llmsTxt": false,
      "pricesVisible": false,
      "formFound": false,
      "sensitiveFirstTouchForm": null,
      "htmlLang": true,
      "imgCount": 5,
      "altCoverage": 1,
      "contrastFailures": 2,
      "contrastChecked": 12,
      "weightBytes": 1331136,
      "lcpMs": 9388,
      "measuredAt": "2026-10-08T19:59:55.931Z",
      "notes": "no contact/booking form found on homepage or one contact page",
      "sourceUrl": "https://business.barriechamber.com/list/ql/health-care-11"
    },
    {
      "domain": "ariaorthodontics.com",
      "sector": "clinic",
      "city": "Barrie",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [
        "WebSite"
      ],
      "llmsTxt": true,
      "pricesVisible": false,
      "formFound": true,
      "sensitiveFirstTouchForm": false,
      "htmlLang": true,
      "imgCount": 14,
      "altCoverage": 1,
      "contrastFailures": 14,
      "contrastChecked": 58,
      "weightBytes": 2477795,
      "lcpMs": 12419,
      "measuredAt": "2026-10-08T20:00:56.592Z",
      "notes": "form inspected on contact",
      "sourceUrl": "https://business.barriechamber.com/list/ql/health-care-11"
    },
    {
      "domain": "bodywiseancaster.ca",
      "sector": "clinic",
      "city": "Ancaster",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [],
      "llmsTxt": false,
      "pricesVisible": false,
      "formFound": false,
      "sensitiveFirstTouchForm": null,
      "htmlLang": true,
      "imgCount": 32,
      "altCoverage": 1,
      "contrastFailures": 16,
      "contrastChecked": 99,
      "weightBytes": 5313217,
      "lcpMs": 10426,
      "measuredAt": "2026-10-08T20:01:36.436Z",
      "notes": "form/booking only in third-party iframe (form.jotform.com) — not inspected; no contact/booking form found on homepage or one contact page",
      "sourceUrl": "https://www.hamiltonchamber.ca/directory/categories/?member_categories=1054"
    },
    {
      "domain": "drweber.ca",
      "sector": "clinic",
      "city": "Barrie",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [
        "City",
        "EntryPoint",
        "MedicalClinic",
        "MedicalProcedure",
        "OpeningHoursSpecification",
        "Physician",
        "PostalAddress",
        "Reservation",
        "ReserveAction"
      ],
      "llmsTxt": false,
      "pricesVisible": false,
      "formFound": true,
      "sensitiveFirstTouchForm": false,
      "htmlLang": false,
      "imgCount": 15,
      "altCoverage": 0.867,
      "contrastFailures": 52,
      "contrastChecked": 81,
      "weightBytes": 3315565,
      "lcpMs": 7813,
      "measuredAt": "2026-10-08T20:03:57.001Z",
      "notes": "form inspected on homepage",
      "sourceUrl": "https://business.barriechamber.com/list/ql/health-care-11"
    },
    {
      "domain": "atriumdentureclinic.com",
      "sector": "clinic",
      "city": "Barrie",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": false,
      "schemaTypes": [
        "WebSite"
      ],
      "llmsTxt": false,
      "pricesVisible": false,
      "formFound": true,
      "sensitiveFirstTouchForm": false,
      "htmlLang": true,
      "imgCount": 9,
      "altCoverage": 1,
      "contrastFailures": 0,
      "contrastChecked": 44,
      "weightBytes": 1465506,
      "lcpMs": 9881,
      "measuredAt": "2026-10-08T20:04:23.908Z",
      "notes": "form inspected on contact",
      "sourceUrl": "https://business.barriechamber.com/list/ql/health-care-11"
    },
    {
      "domain": "londonfamilyfootclinic.com",
      "sector": "clinic",
      "city": "London",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [],
      "llmsTxt": false,
      "pricesVisible": false,
      "formFound": false,
      "sensitiveFirstTouchForm": null,
      "htmlLang": true,
      "imgCount": 16,
      "altCoverage": 1,
      "contrastFailures": 6,
      "contrastChecked": 49,
      "weightBytes": 1486976,
      "lcpMs": 8071,
      "measuredAt": "2026-10-08T20:04:51.489Z",
      "notes": "no contact/booking form found on homepage or one contact page",
      "sourceUrl": "https://business.londonchamber.com/list/ql/health-care-314"
    },
    {
      "domain": "ledgerly.ca",
      "sector": "accounting",
      "city": "Barrie",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [],
      "llmsTxt": false,
      "pricesVisible": false,
      "formFound": true,
      "sensitiveFirstTouchForm": false,
      "htmlLang": true,
      "imgCount": 16,
      "altCoverage": 1,
      "contrastFailures": 15,
      "contrastChecked": 46,
      "weightBytes": 750098,
      "lcpMs": 2312,
      "measuredAt": "2026-10-08T20:05:40.148Z",
      "notes": "1 unparseable JSON-LD block(s); no Ontario address text on the pages read; Ontario location from the directory listing address; form inspected on contact",
      "sourceUrl": "https://business.barriechamber.com/list/category/accounting-75"
    },
    {
      "domain": "cbmca.com",
      "sector": "accounting",
      "city": "Hamilton",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [],
      "llmsTxt": false,
      "pricesVisible": false,
      "formFound": true,
      "sensitiveFirstTouchForm": false,
      "htmlLang": true,
      "imgCount": 23,
      "altCoverage": 1,
      "contrastFailures": 0,
      "contrastChecked": 58,
      "weightBytes": 1838876,
      "lcpMs": 10475,
      "measuredAt": "2026-10-08T20:06:36.162Z",
      "notes": "form inspected on homepage",
      "sourceUrl": "https://www.hamiltonchamber.ca/directory/categories/?member_categories=1042"
    },
    {
      "domain": "nbgcpa.ca",
      "sector": "accounting",
      "city": "Hamilton",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [
        "AccountingService",
        "Article",
        "GeoCoordinates",
        "ImageObject",
        "Organization",
        "Person",
        "Place",
        "PostalAddress",
        "SearchAction",
        "SpeakableSpecification",
        "WebPage",
        "WebSite"
      ],
      "llmsTxt": false,
      "pricesVisible": false,
      "formFound": true,
      "sensitiveFirstTouchForm": false,
      "htmlLang": true,
      "imgCount": 66,
      "altCoverage": 1,
      "contrastFailures": 28,
      "contrastChecked": 134,
      "weightBytes": 1538757,
      "lcpMs": 10299,
      "measuredAt": "2026-10-08T20:07:30.355Z",
      "notes": "form inspected on homepage",
      "sourceUrl": "https://www.hamiltonchamber.ca/directory/categories/?member_categories=1042"
    },
    {
      "domain": "orioncpa.ca",
      "sector": "accounting",
      "city": "Barrie",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [
        "BreadcrumbList",
        "EntryPoint",
        "ImageObject",
        "ListItem",
        "Organization",
        "PropertyValueSpecification",
        "ReadAction",
        "SearchAction",
        "WebPage",
        "WebSite"
      ],
      "llmsTxt": false,
      "pricesVisible": false,
      "formFound": true,
      "sensitiveFirstTouchForm": false,
      "htmlLang": true,
      "imgCount": 20,
      "altCoverage": 1,
      "contrastFailures": 1,
      "contrastChecked": 36,
      "weightBytes": 1453932,
      "lcpMs": 4671,
      "measuredAt": "2026-10-08T20:08:00.902Z",
      "notes": "form inspected on contact",
      "sourceUrl": "https://business.barriechamber.com/list/category/accounting-75"
    },
    {
      "domain": "iatshamilton.com",
      "sector": "accounting",
      "city": "Hamilton",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [],
      "llmsTxt": true,
      "pricesVisible": true,
      "formFound": false,
      "sensitiveFirstTouchForm": null,
      "htmlLang": true,
      "imgCount": 9,
      "altCoverage": 1,
      "contrastFailures": 140,
      "contrastChecked": 156,
      "weightBytes": 4527485,
      "lcpMs": 8776,
      "measuredAt": "2026-10-08T20:08:30.404Z",
      "notes": "no contact/booking form found on homepage or one contact page",
      "sourceUrl": "https://www.hamiltonchamber.ca/directory/categories/?member_categories=1042"
    },
    {
      "domain": "hwpartners.ca",
      "sector": "accounting",
      "city": "Ottawa",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [
        "BreadcrumbList",
        "EntryPoint",
        "ImageObject",
        "ListItem",
        "Organization",
        "PropertyValueSpecification",
        "ReadAction",
        "SearchAction",
        "WebPage",
        "WebSite"
      ],
      "llmsTxt": false,
      "pricesVisible": false,
      "formFound": false,
      "sensitiveFirstTouchForm": null,
      "htmlLang": true,
      "imgCount": 44,
      "altCoverage": 0.977,
      "contrastFailures": 2,
      "contrastChecked": 60,
      "weightBytes": 1668089,
      "lcpMs": 6544,
      "measuredAt": "2026-10-08T20:09:00.203Z",
      "notes": "plain HTTP client answered 403; scheme checks done in Chrome; llms.txt checked with an in-page fetch; no contact/booking form found on homepage or one contact page",
      "sourceUrl": "https://business.ottawabot.ca/list/ql/professional-services-8"
    },
    {
      "domain": "zenbooks.ca",
      "sector": "accounting",
      "city": "Ottawa",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [
        "Country",
        "OfferCatalog",
        "Organization",
        "Person",
        "PostalAddress",
        "Thing"
      ],
      "llmsTxt": false,
      "pricesVisible": false,
      "formFound": false,
      "sensitiveFirstTouchForm": null,
      "htmlLang": true,
      "imgCount": 86,
      "altCoverage": 0.953,
      "contrastFailures": 68,
      "contrastChecked": 136,
      "weightBytes": 6748994,
      "lcpMs": 8275,
      "measuredAt": "2026-10-08T20:09:36.050Z",
      "notes": "form/booking only in third-party iframe (calendly.com) — not inspected; no contact/booking form found on homepage or one contact page",
      "sourceUrl": "https://business.ottawabot.ca/list/ql/professional-services-8"
    },
    {
      "domain": "outsourcedfinance.ca",
      "sector": "accounting",
      "city": "London",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [
        "Article",
        "ContactPoint",
        "ImageObject",
        "Organization",
        "Person",
        "Place",
        "PostalAddress",
        "SearchAction",
        "VideoObject",
        "WebPage",
        "WebSite"
      ],
      "llmsTxt": false,
      "pricesVisible": false,
      "formFound": true,
      "sensitiveFirstTouchForm": false,
      "htmlLang": true,
      "imgCount": 38,
      "altCoverage": 1,
      "contrastFailures": 17,
      "contrastChecked": 85,
      "weightBytes": 9846295,
      "lcpMs": 8972,
      "measuredAt": "2026-10-08T20:10:19.762Z",
      "notes": "form inspected on contact",
      "sourceUrl": "https://business.londonchamber.com/list/category/accounting-taxation-bookkeeping-2394"
    },
    {
      "domain": "yorksimcoe.com",
      "sector": "accounting",
      "city": "Barrie",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [
        "BreadcrumbList",
        "EntryPoint",
        "ListItem",
        "PropertyValueSpecification",
        "ReadAction",
        "SearchAction",
        "WebPage",
        "WebSite"
      ],
      "llmsTxt": false,
      "pricesVisible": false,
      "formFound": true,
      "sensitiveFirstTouchForm": false,
      "htmlLang": true,
      "imgCount": 10,
      "altCoverage": 1,
      "contrastFailures": 22,
      "contrastChecked": 46,
      "weightBytes": 4494358,
      "lcpMs": 24413,
      "measuredAt": "2026-10-08T20:10:47.905Z",
      "notes": "form inspected on homepage",
      "sourceUrl": "https://business.barriechamber.com/list/category/accounting-75"
    },
    {
      "domain": "fullerllp.com",
      "sector": "accounting",
      "city": "Hamilton",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [
        "AccountingService",
        "BreadcrumbList",
        "EntryPoint",
        "ImageObject",
        "ListItem",
        "Organization",
        "PostalAddress",
        "PropertyValueSpecification",
        "ReadAction",
        "SearchAction",
        "WebPage",
        "WebSite"
      ],
      "llmsTxt": false,
      "pricesVisible": false,
      "formFound": true,
      "sensitiveFirstTouchForm": false,
      "htmlLang": true,
      "imgCount": 9,
      "altCoverage": 0.333,
      "contrastFailures": 5,
      "contrastChecked": 149,
      "weightBytes": 1056801,
      "lcpMs": 4087,
      "measuredAt": "2026-10-08T20:11:12.760Z",
      "notes": "form inspected on homepage",
      "sourceUrl": "https://www.hamiltonchamber.ca/directory/categories/?member_categories=1042"
    },
    {
      "domain": "morrisoncpa.ca",
      "sector": "accounting",
      "city": "Innisfil",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [
        "AccountingService",
        "Article",
        "GeoCoordinates",
        "ImageObject",
        "Organization",
        "Person",
        "Place",
        "PostalAddress",
        "SearchAction",
        "WebPage",
        "WebSite"
      ],
      "llmsTxt": false,
      "pricesVisible": false,
      "formFound": false,
      "sensitiveFirstTouchForm": null,
      "htmlLang": true,
      "imgCount": 50,
      "altCoverage": 1,
      "contrastFailures": 41,
      "contrastChecked": 87,
      "weightBytes": 7644009,
      "lcpMs": 10077,
      "measuredAt": "2026-10-08T20:11:36.022Z",
      "notes": "form/booking only in third-party iframe (api.leadconnectorhq.com) — not inspected; no contact/booking form found on homepage or one contact page",
      "sourceUrl": "https://business.barriechamber.com/list/category/accounting-75"
    },
    {
      "domain": "falconsightaccountinginc.ca",
      "sector": "accounting",
      "city": "London",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": false,
      "schemaTypes": [
        "LocalBusiness",
        "Organization",
        "WebSite"
      ],
      "llmsTxt": false,
      "pricesVisible": false,
      "formFound": true,
      "sensitiveFirstTouchForm": false,
      "htmlLang": true,
      "imgCount": 21,
      "altCoverage": 1,
      "contrastFailures": 33,
      "contrastChecked": 100,
      "weightBytes": 4607536,
      "lcpMs": 12576,
      "measuredAt": "2026-10-08T20:12:55.575Z",
      "notes": "form inspected on homepage",
      "sourceUrl": "https://business.londonchamber.com/list/category/accounting-taxation-bookkeeping-2394"
    },
    {
      "domain": "keaccounting.ca",
      "sector": "accounting",
      "city": "Barrie",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [
        "WebSite"
      ],
      "llmsTxt": true,
      "pricesVisible": false,
      "formFound": true,
      "sensitiveFirstTouchForm": false,
      "htmlLang": true,
      "imgCount": 5,
      "altCoverage": 1,
      "contrastFailures": 5,
      "contrastChecked": 47,
      "weightBytes": 2260277,
      "lcpMs": 7321,
      "measuredAt": "2026-10-08T20:13:19.017Z",
      "notes": "form inspected on homepage",
      "sourceUrl": "https://business.barriechamber.com/list/category/accounting-75"
    },
    {
      "domain": "taylorleibow.com",
      "sector": "accounting",
      "city": "Hamilton",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [
        "BreadcrumbList",
        "EntryPoint",
        "ListItem",
        "PropertyValueSpecification",
        "ReadAction",
        "SearchAction",
        "WebPage",
        "WebSite"
      ],
      "llmsTxt": false,
      "pricesVisible": false,
      "formFound": true,
      "sensitiveFirstTouchForm": false,
      "htmlLang": true,
      "imgCount": 30,
      "altCoverage": 1,
      "contrastFailures": 8,
      "contrastChecked": 148,
      "weightBytes": 3373510,
      "lcpMs": 9008,
      "measuredAt": "2026-10-08T20:13:42.906Z",
      "notes": "form inspected on contact",
      "sourceUrl": "https://www.hamiltonchamber.ca/directory/categories/?member_categories=1042"
    },
    {
      "domain": "mbspc.ca",
      "sector": "accounting",
      "city": "Burlington",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": false,
      "schemaTypes": [
        "WebSite"
      ],
      "llmsTxt": false,
      "pricesVisible": false,
      "formFound": false,
      "sensitiveFirstTouchForm": null,
      "htmlLang": true,
      "imgCount": 25,
      "altCoverage": 1,
      "contrastFailures": 17,
      "contrastChecked": 30,
      "weightBytes": 2380386,
      "lcpMs": 14103,
      "measuredAt": "2026-10-08T20:14:23.351Z",
      "notes": "no contact/booking form found on homepage or one contact page",
      "sourceUrl": "https://www.hamiltonchamber.ca/directory/categories/?member_categories=1042"
    },
    {
      "domain": "welchllp.com",
      "sector": "accounting",
      "city": "Ottawa",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": false,
      "schemaTypes": [
        "Article",
        "BreadcrumbList",
        "EntryPoint",
        "ImageObject",
        "ListItem",
        "Organization",
        "PropertyValueSpecification",
        "ReadAction",
        "SearchAction",
        "WebPage",
        "WebSite"
      ],
      "llmsTxt": false,
      "pricesVisible": false,
      "formFound": false,
      "sensitiveFirstTouchForm": null,
      "htmlLang": true,
      "imgCount": 45,
      "altCoverage": 1,
      "contrastFailures": 10,
      "contrastChecked": 108,
      "weightBytes": 10340055,
      "lcpMs": 13143,
      "measuredAt": "2026-10-08T20:14:51.999Z",
      "notes": "no contact/booking form found on homepage or one contact page",
      "sourceUrl": "https://business.ottawabot.ca/list/ql/professional-services-8"
    },
    {
      "domain": "luckyfinancial.ca",
      "sector": "accounting",
      "city": "Hannon",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [
        "Corporation",
        "GeoCoordinates",
        "LocalBusiness",
        "PostalAddress",
        "WebSite"
      ],
      "llmsTxt": true,
      "pricesVisible": false,
      "formFound": true,
      "sensitiveFirstTouchForm": false,
      "htmlLang": true,
      "imgCount": 28,
      "altCoverage": 1,
      "contrastFailures": 21,
      "contrastChecked": 88,
      "weightBytes": 3821988,
      "lcpMs": 9581,
      "measuredAt": "2026-10-08T20:15:20.999Z",
      "notes": "form inspected on homepage",
      "sourceUrl": "https://www.hamiltonchamber.ca/directory/categories/?member_categories=1042"
    },
    {
      "domain": "djb.com",
      "sector": "accounting",
      "city": "Hamilton",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": false,
      "schemaTypes": [
        "BreadcrumbList",
        "EntryPoint",
        "ImageObject",
        "ListItem",
        "Organization",
        "PropertyValueSpecification",
        "ReadAction",
        "SearchAction",
        "WebPage",
        "WebSite"
      ],
      "llmsTxt": false,
      "pricesVisible": false,
      "formFound": true,
      "sensitiveFirstTouchForm": false,
      "htmlLang": true,
      "imgCount": 47,
      "altCoverage": 1,
      "contrastFailures": 1,
      "contrastChecked": 170,
      "weightBytes": 6761268,
      "lcpMs": 26872,
      "measuredAt": "2026-10-08T20:15:48.345Z",
      "notes": "form inspected on homepage",
      "sourceUrl": "https://www.hamiltonchamber.ca/directory/categories/?member_categories=1042"
    },
    {
      "domain": "masonmiller.ca",
      "sector": "accounting",
      "city": "Barrie",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [],
      "llmsTxt": false,
      "pricesVisible": false,
      "formFound": false,
      "sensitiveFirstTouchForm": null,
      "htmlLang": true,
      "imgCount": 6,
      "altCoverage": 1,
      "contrastFailures": 12,
      "contrastChecked": 36,
      "weightBytes": 1205285,
      "lcpMs": 1709,
      "measuredAt": "2026-10-08T20:16:12.467Z",
      "notes": "form/booking only in third-party iframe (556731.tctm.co) — not inspected; no contact/booking form found on homepage or one contact page",
      "sourceUrl": "https://business.barriechamber.com/list/category/accounting-75"
    },
    {
      "domain": "ronallencpa.ca",
      "sector": "accounting",
      "city": "Ottawa",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": false,
      "schemaTypes": [],
      "llmsTxt": true,
      "pricesVisible": false,
      "formFound": true,
      "sensitiveFirstTouchForm": false,
      "htmlLang": true,
      "imgCount": 11,
      "altCoverage": 1,
      "contrastFailures": 20,
      "contrastChecked": 26,
      "weightBytes": 984643,
      "lcpMs": 5363,
      "measuredAt": "2026-10-08T20:16:38.656Z",
      "notes": "form inspected on contact",
      "sourceUrl": "https://business.ottawabot.ca/list/ql/professional-services-8"
    },
    {
      "domain": "beauregardaccounting.ca",
      "sector": "accounting",
      "city": "Burlington",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [
        "ImageGallery"
      ],
      "llmsTxt": false,
      "pricesVisible": false,
      "formFound": true,
      "sensitiveFirstTouchForm": false,
      "htmlLang": true,
      "imgCount": 7,
      "altCoverage": 1,
      "contrastFailures": 7,
      "contrastChecked": 39,
      "weightBytes": 663805,
      "lcpMs": 4703,
      "measuredAt": "2026-10-08T20:17:06.734Z",
      "notes": "form inspected on homepage",
      "sourceUrl": "https://www.hamiltonchamber.ca/directory/categories/?member_categories=1042"
    },
    {
      "domain": "batemanmackay.com",
      "sector": "accounting",
      "city": "Burlington",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [
        "ContactPoint",
        "Corporation",
        "Organization",
        "SiteNavigationElement",
        "WebSite"
      ],
      "llmsTxt": true,
      "pricesVisible": false,
      "formFound": false,
      "sensitiveFirstTouchForm": null,
      "htmlLang": true,
      "imgCount": 23,
      "altCoverage": 1,
      "contrastFailures": 9,
      "contrastChecked": 104,
      "weightBytes": 12807117,
      "lcpMs": 24145,
      "measuredAt": "2026-10-08T20:17:27.564Z",
      "notes": "form/booking only in third-party iframe (api.leadconnectorhq.com) — not inspected; no contact/booking form found on homepage or one contact page",
      "sourceUrl": "https://www.hamiltonchamber.ca/directory/categories/?member_categories=1042"
    },
    {
      "domain": "turnermoore.com",
      "sector": "accounting",
      "city": "London",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": false,
      "schemaTypes": [
        "BreadcrumbList",
        "EntryPoint",
        "ImageObject",
        "ListItem",
        "Organization",
        "PropertyValueSpecification",
        "ReadAction",
        "SearchAction",
        "WebPage",
        "WebSite"
      ],
      "llmsTxt": false,
      "pricesVisible": false,
      "formFound": true,
      "sensitiveFirstTouchForm": false,
      "htmlLang": true,
      "imgCount": 6,
      "altCoverage": 1,
      "contrastFailures": 8,
      "contrastChecked": 57,
      "weightBytes": 2289483,
      "lcpMs": 6163,
      "measuredAt": "2026-10-08T20:18:41.618Z",
      "notes": "form inspected on contact",
      "sourceUrl": "https://business.londonchamber.com/list/category/accounting-taxation-bookkeeping-2394"
    },
    {
      "domain": "brownlowcas.com",
      "sector": "accounting",
      "city": "Ancaster",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [
        "BreadcrumbList",
        "CreativeWork",
        "EntryPoint",
        "ImageObject",
        "ListItem",
        "Organization",
        "PropertyValueSpecification",
        "ReadAction",
        "SearchAction",
        "SiteNavigationElement",
        "WPFooter",
        "WPHeader",
        "WebPage",
        "WebSite"
      ],
      "llmsTxt": false,
      "pricesVisible": false,
      "formFound": true,
      "sensitiveFirstTouchForm": false,
      "htmlLang": true,
      "imgCount": 7,
      "altCoverage": 1,
      "contrastFailures": 0,
      "contrastChecked": 28,
      "weightBytes": 1431664,
      "lcpMs": 2885,
      "measuredAt": "2026-10-08T20:19:09.208Z",
      "notes": "form inspected on contact",
      "sourceUrl": "https://www.hamiltonchamber.ca/directory/categories/?member_categories=1042"
    },
    {
      "domain": "booksmarts.ca",
      "sector": "accounting",
      "city": "Barrie",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [
        "BreadcrumbList",
        "EntryPoint",
        "ImageObject",
        "ListItem",
        "Organization",
        "PropertyValueSpecification",
        "ReadAction",
        "SearchAction",
        "WebPage",
        "WebSite"
      ],
      "llmsTxt": false,
      "pricesVisible": false,
      "formFound": true,
      "sensitiveFirstTouchForm": false,
      "htmlLang": true,
      "imgCount": 12,
      "altCoverage": 1,
      "contrastFailures": 22,
      "contrastChecked": 41,
      "weightBytes": 3021691,
      "lcpMs": 7864,
      "measuredAt": "2026-10-08T20:19:55.375Z",
      "notes": "form inspected on contact",
      "sourceUrl": "https://business.barriechamber.com/list/category/accounting-75"
    },
    {
      "domain": "powelljones.ca",
      "sector": "accounting",
      "city": "Barrie",
      "https": true,
      "httpRedirectsToHttps": true,
      "viewport": true,
      "tapToCall": true,
      "schemaTypes": [],
      "llmsTxt": false,
      "pricesVisible": false,
      "formFound": false,
      "sensitiveFirstTouchForm": null,
      "htmlLang": false,
      "imgCount": 17,
      "altCoverage": 0,
      "contrastFailures": 12,
      "contrastChecked": 38,
      "weightBytes": 2308215,
      "lcpMs": 9771,
      "measuredAt": "2026-10-08T20:20:57.418Z",
      "notes": "no contact/booking form found on homepage or one contact page",
      "sourceUrl": "https://business.barriechamber.com/list/category/accounting-75"
    }
  ]
}
