Manifest position 32 · CrUX rank bucket 1000
https://www.betway.co.za
Coverage complete
Complete 58-check audit. The requested South African host redirected to the UK experience; findings describe the observed redirect destination and original-host chain.
All 58 atomic check outcomes
| Principle / check | Status | Confidence | Evidence or reason |
|---|---|---|---|
respect-user-preferencesrespects-color-scheme | issues | high | The dark capture is visually unchanged and the DOM reports color-scheme: normal, so the site does not expose or adapt to the system scheme. F003 low: System color scheme is ignored |
respect-user-preferencesrespects-reduced-motion | issues | high | Four animations remained running under reduce, including a 12,000 ms hero progress animation. F004 medium: Reduced-motion preference leaves long animations running |
respect-user-preferencesrespects-contrast | issues | high | Lighthouse found the Login and Sign up controls at 3.16:1 instead of 4.5:1; the contrast preference did not change their styling. F005 medium: Primary account buttons fail text contrast |
implement-natural-interactionsview-transitions | issues | high | The probe found no view-transition usage; navigation and major state changes use abrupt replacement while only carousel chrome animates. F006 low: Route and state changes lack View Transitions |
implement-natural-interactionsscroll-driven-animations | pass | high | No animation-timeline or custom scroll-animation implementation was present, and mobile layouts scroll natively without horizontal overflow. |
implement-natural-interactionsphysical-gestures | pass | high | Carousel paging and horizontally arranged category controls use native buttons/links and remain operable at mobile width; no custom pointer-only surface was observed. |
provide-guided-navigationscroll-state-aware-chrome | pass | high | Persistent compact navigation remains visible on long sports/casino pages, and category state is visibly selected. |
provide-guided-navigationanchored-positioning | pass | high | The offer callout remains attached to the offer control and inside the viewport without clipping. |
provide-guided-navigationdirects-attention | pass | high | Active carousel dots, selected tabs and the sports onboarding callout provide visible state and attention cues. |
maximize-content-reduce-noiseno-intrusive-interruptions | issues | high | The sports path simultaneously dims the page for onboarding and covers the lower viewport with a cookie modal, leaving core betting content inaccessible on arrival. F007 high: Stacked onboarding and consent overlays obscure the core sports task |
maximize-content-reduce-noisesemantic-dismissible-primitives | issues | high | The hero is a custom role=dialog without an accessible name; no native dialog element is used, and Lighthouse flags aria-dialog-name. F008 medium: Custom promotional dialog has no accessible name |
maximize-content-reduce-noisereduced-chrome | issues | high | Stacked consent and onboarding chrome occupies or obscures most of the useful sports viewport before the user can inspect content. F007 high: Stacked onboarding and consent overlays obscure the core sports task |
adapt-to-the-form-factorresponsive-no-horizontal-scroll | pass | high | Both layout captures report scrollWidth=clientWidth=360 and horizontalOverflowPx=0. |
adapt-to-the-form-factorcomponent-level-responsiveness | pass | high | Components reflow from desktop rows to compact mobile navigation/cards without viewport overflow. |
adapt-to-the-form-factorinput-modality-aware | issues | high | Several carousel/team controls did not accept focus or expose no visible outline, although Lighthouse target-size passed. F009 medium: Landmark and focus treatment is inconsistent |
support-core-task-successclear-purpose-and-primary-action | pass | high | The welcome offer, Register/Join actions, sports markets, casino games and safer-gambling tools each communicate a clear purpose and next action. |
support-core-task-successprimary-flow-completion | issues | high | https://betway.com/gb/en/account/registration redirects to /gb/en/sports and renders no registration form, so the primary signup flow cannot start. F002 high: Registration route does not open registration |
support-core-task-successclear-system-state-and-recovery | pass | high | The error surface clearly says “Oops... page not found” and offers a return to the homepage. |
be-fast-and-stablegood-core-web-vitals | issues | high | Mobile Lighthouse measured LCP 3.62 s and FCP 3.11 s (needs improvement), despite low CLS 0.011 and TBT 32.5 ms. F011 medium: Mobile LCP needs improvement |
be-fast-and-stablevisual-stability | pass | high | CLS stayed low at 0.0118 on home and 0.0111 on sports with no horizontal overflow. |
be-fast-and-stableefficient-main-thread | issues | high | Lighthouse reports 2.2 s main-thread work and 9.2 s time-to-interactive; sports recorded five long tasks up to 183 ms. F012 medium: Sports template produces long main-thread tasks |
be-fast-and-stableefficient-resource-delivery | issues | high | The original URL takes four redirects (estimated 2.09 s), with four render-blocking stylesheets and Lighthouse estimating 150 ms render-blocking savings. F013 medium: Redirect chain and blocking CSS delay delivery |
be-fast-and-stabletrim-unused-and-duplicate-code | issues | high | Lighthouse estimates 244 KiB unused JavaScript and 19 KiB unused CSS; GTM, gtag, OneTrust and FullStory dominate waste. F014 medium: Large unused client payload ships on first load |
be-inclusivenames-roles-labels | issues | high | Lighthouse reports an unnamed role=dialog; the probe confirms the promotional dialog has no aria-label or aria-labelledby. F008 medium: Custom promotional dialog has no accessible name |
be-inclusivesufficient-contrast | issues | high | Login and Sign up controls are 3.16:1 against the required 4.5:1 for their text size. F005 medium: Primary account buttons fail text contrast |
be-inclusivestructure-and-focus | issues | high | The homepage has no main landmark, two H1s and several controls that either fail focus or show no visible focus indicator. F009 medium: Landmark and focus treatment is inconsistent |
be-inclusivelegible-text | pass | high | Body copy and primary headings remain readable without clipping on home, casino and safer-gambling mobile captures. |
be-inclusivezoom-reflow-targets-and-media | pass | high | Viewport zoom is not disabled, both measured mobile layouts reflow without overflow, and Lighthouse target-size passes. |
follow-best-practicesno-console-errors | pass | high | Lighthouse recorded no browser console errors during the audited load. |
follow-best-practicessound-document-and-assets | issues | high | Doctype and charset pass, but all 12 inspected images omit width/height attributes, weakening intrinsic sizing guarantees. F015 low: Images omit intrinsic width and height |
follow-best-practicesbrowser-platform-hygiene | pass | high | No permission request-on-load or console error was found; document doctype and charset are valid. |
be-discoverabletitle-and-description | pass | high | The final homepage has a descriptive title and meta description, both present in raw server HTML; Lighthouse passes both. |
be-discoverablecrawlable-and-mobile-friendly | pass | high | Links are crawlable, viewport metadata is present, and 92% of rendered content words exist in raw HTML. |
be-discoverablecanonical-and-indexing-signals | issues | high | The .co.za robots.txt and sitemap.xml requests redirect through the homepage chain to UK content; the final canonical is https://betway.com/en-gb/, not a South African locale. F001 high: South African domain redirects to UK locale |
be-discoverablestructured-and-shareable-metadata | issues | high | The homepage exposes zero JSON-LD blocks and no Open Graph properties, despite public offer/content pages that would benefit from share previews and structured identity. F017 medium: Public homepage lacks structured/share metadata |
be-private-and-securesecure-transport-and-headers | issues | high | HTTPS/HSTS/frame denial are present, but X-Content-Type-Options, Referrer-Policy and Permissions-Policy are missing; CSP only defines frame-ancestors. F018 medium: Defensive response policy is incomplete |
be-private-and-securedata-minimisation-and-third-parties | issues | high | The load contacts 11 third-party origins, including Google Tag Manager and FullStory; 69 requests and 1.47 MB are classified third-party relative to the requested .co.za origin. F019 high: Tracking and third-party code loads before consent choice |
be-private-and-securein-context-permissions-and-modern-auth | issues | high | No permission prompt fires on load, but no WebAuthn/passkey signal is present and the registration route redirects to sports instead of an auth surface. F020 low: Account surface exposes no modern authentication path |
be-private-and-securedefensive-browser-policies | issues | high | HSTS and X-Frame-Options are set, but the CSP lacks script restrictions and the response omits Referrer-Policy, Permissions-Policy and nosniff. F018 medium: Defensive response policy is incomplete |
be-resilientprogressive-enhancement | pass | high | The page is server-rendered rather than a JS shell, with 92% raw/rendered word coverage and title/H1/description preserved. |
be-resilientresilient-runtime-behaviour | pass | high | No console errors occurred, layouts avoid overflow, and the sports callout remains within the viewport. |
be-resilientoffline-and-installable | not-applicable | high | A manifest exists but no service worker is registered. Transactional betting requires live odds/account state, so offline completion is not a safe or meaningful expectation. |
be-resilientnetwork-and-http-failure-states | pass | high | The not-found state clearly explains the failure and provides a route back to the homepage. |
be-internationalisedlang-dir-and-logical-properties | issues | high | A South African .co.za request is redirected to en-GB content with html lang=en-gb, creating a locale mismatch for the requested market. F001 high: South African domain redirects to UK locale |
be-internationalisedlocale-aware-data | issues | high | The .co.za request lands on UK offers and pound-denominated amounts rather than South African locale/currency content. F001 high: South African domain redirects to UK locale |
be-internationalisedtime-zone-correctness | pass | high | Sports listings consistently present explicit dated/time-labelled events in the active locale; no contradictory time-zone rendering was observed. |
be-trustworthyno-dark-patterns | pass | high | Consent offers equally prominent Accept and Reject all controls, and safer-gambling controls are prominent and plainly labelled. |
be-trustworthyhumane-error-handling | pass | high | The 404-equivalent page uses plain language and offers a direct return to the homepage rather than blaming the user. |
be-trustworthytrustworthy-input-assistance | issues | high | The registration URL redirects to sports and exposes no form fields, so expected signup/autofill assistance is unavailable. F002 high: Registration route does not open registration |
be-trustworthysafe-commercial-and-account-flows | issues | high | The legal terms link renders “Oops... page not found” with an empty document title, while registration redirects to sports; key commercial/account assurances are inaccessible. F010 high: Terms & Conditions link leads to a not-found page F002 high: Registration route does not open registration |
be-sustainableoptimised-assets | issues | high | Seven of 12 inspected images use legacy formats and all 12 lack explicit dimensions, although responsive srcset is generally present. F021 low: Image delivery still relies on legacy formats |
be-sustainableno-wasteful-work | issues | high | Analytics/consent/session-replay scripts load on arrival; Lighthouse estimates 244 KiB unused JS and the tracker inventory finds FullStory and Google tags. F019 high: Tracking and third-party code loads before consent choice F014 medium: Large unused client payload ships on first load |
be-sustainablethird-party-and-media-budget | issues | high | The page transfers 1.47 MB across 71 requests; 69 requests are third-party relative to .co.za, led by GTM, gtag, OneTrust and FullStory. F019 high: Tracking and third-party code loads before consent choice |
be-agent-readystructured-agent-capabilities | not-applicable | high | No agent tool registration is exposed. Autonomous wagering is a sensitive high-risk action and no declared agent-facing intent exists. |
be-agent-readyon-device-inference | not-applicable | high | No on-device language-model or summarizer use is present, and the transactional gambling surfaces do not require local inference. |
be-memory-efficientno-leak-under-repeated-interaction | pass | high | Heap self size rose only 180,286 bytes (1.1%) and nodes 2,444 (0.8%) across independent equivalent loads, with no Detached constructor in either summary. |
be-memory-efficientbounded-footprint | pass | high | The homepage footprint is about 16.25 MB baseline and 16.43 MB post-interaction, proportionate to this media-rich page. |
be-memory-efficientno-detached-dom-or-unbounded-listeners | pass | high | Neither summary reports a Detached constructor and the small post-interaction growth does not indicate unbounded listener/DOM accumulation. |
Provenance
Canonical report: results/atomic/reports/0032-www_betway_co_za.json
Report SHA-256: 7b53b3607c1c71e0d20bf94a51a1d47e5c44ff7dc2320754c4916f739ab82501
Local retained report: runs/2026-07-17T17-27-24-856Z/atomic-reports/www_betway_co_za/2026-07-17T23-15-40-708Z/report.json
Local evidence root: runs/2026-07-17T17-27-24-856Z/atomic-reports/www_betway_co_za/2026-07-17T23-15-40-708Z
Catalog SHA-256: sha256:78ccfdb2d483f4c57d9dafed80fd86c6265585a56457c8dcfddc254b80fb44d7
Raw screenshots, HARs, traces, heaps, and other browser artifacts are retained at the local evidence root and intentionally are not committed. Artifact paths in the canonical report are relative to that root.