{"ai_role":"AI (Anthropic Claude) is used only to narrate evidence-based findings and produce executive summaries on top of deterministic scores. AI does not generate or modify scores.","dimensions":[{"data_sources":["deterministic.accessibility"],"description":"WCAG 2.2 AA compliance, alt text, contrast, keyboard navigation, ARIA semantics.","id":"accessibility","label":"Accessibility","weight_pct":14.0},{"data_sources":["deterministic.usability","deterministic.visual_design"],"description":"Nielsen heuristics, error prevention, recognition over recall, consistency.","id":"usability","label":"Usability","weight_pct":16.0},{"data_sources":["scanner.navigation"],"description":"Information architecture, breadcrumbs, search, sitemap, mega-menu, mobile nav.","id":"navigation","label":"Navigation","weight_pct":11.0},{"data_sources":["deterministic.performance","scanner.resilience.weight"],"description":"Page weight, lazy loading, critical CSS, asset optimisation.","id":"performance","label":"Performance","weight_pct":10.0},{"data_sources":["deterministic.content"],"description":"Reading level, scannability, F-pattern adherence, CTA copy clarity.","id":"content","label":"Content","weight_pct":9.0},{"data_sources":["deterministic.trust","scanner.privacy.trackers"],"description":"HTTPS, contact clarity, social proof, third-party tracker exposure.","id":"trust","label":"Trust & Security","weight_pct":8.0},{"data_sources":["deterministic.mobile","scanner.navigation.mobile"],"description":"Touch targets, viewport meta, text legibility, mobile nav patterns.","id":"mobile","label":"Mobile","weight_pct":11.0},{"data_sources":["deterministic.conversion_readiness"],"description":"CTA hierarchy, above-fold value prop, friction signals, decision support.","id":"conversion","label":"Conversion Readiness","weight_pct":9.0},{"data_sources":["scanner.privacy","scanner.resilience"],"description":"POPIA/GDPR consent, DSAR mechanisms, PWA, service worker, graceful degradation.","id":"regulatory_resilience","label":"Regulatory & Resilience","weight_pct":12.0}],"grade_boundaries":[{"grade":"A+","min_score":90},{"grade":"A","min_score":80},{"grade":"B","min_score":70},{"grade":"C","min_score":55},{"grade":"D","min_score":40},{"grade":"F","min_score":0}],"scoring_principle":"Every dimension score is computed from real, evidence-backed scanner output. Where a dimension cannot be scored due to insufficient data, it is reported as null with a stated reason \u2014 never silently filled with a default value.","version":"1.0"}
