Manifest position 475 · CrUX rank bucket 1000

https://www.thscore99.com

Coverage complete

Coverage-complete audit of six representative paths. Not covered: authenticated account state, destructive account actions, live notification permission prompts, checkout, and sports/templates that duplicate the audited score-list archetypes.

Attempts
1 / 3
Judged checks
58 / 58
Blocked
0
Not run
0
This report has no published overall score. Blocked and not-run checks are not passes. A coverage-complete report means every check has a judged outcome; it does not mean every check passed.

All 58 atomic check outcomes

Principle / checkStatusConfidenceEvidence or reason
respect-user-preferences
respects-color-scheme
issueshighThe dark-emulated screenshot is pixel-identical to the light screenshot; white score rows and pale chrome remain unchanged.
F01 medium: The site ignores the user’s dark color-scheme preference.
respect-user-preferences
respects-reduced-motion
issueshighThe reduced-motion probe reports matchMedia reduce=true while the timeMin animation remains running with an infinite iteration count; no reduced-motion CSS was found.
F02 medium: The loading animation continues under reduced-motion.
respect-user-preferences
respects-contrast
passhighForced-colors/high-contrast screenshot retains visible text, controls, borders and selected states against the black canvas.
implement-natural-interactions
view-transitions
issueshighThe platform probe found 53 javascript: links and zero View Transition CSS; homepage navigation and score tabs are custom onclick state changes.
F03 medium: Navigation is wired as abrupt JavaScript state changes rather than resilient, transition-aware navigation.
implement-natural-interactions
scroll-driven-animations
not-applicablehighDOM/CSS probe found no animation-timeline and screenshots show a static scrolling score list.
implement-natural-interactions
physical-gestures
not-applicablehighDOM/CSS and interaction recon found no representative physical gesture to judge.
provide-guided-navigation
scroll-state-aware-chrome
passhighLong mobile score pages retain compact primary navigation and a floating filter affordance while content scrolls.
provide-guided-navigation
anchored-positioning
not-applicablehighDOM probe found no popover/dialog/details and recon found no anchored overlay target.
provide-guided-navigation
directs-attention
passhighSelected score/result tabs and league sub-tabs use persistent contrasting state, and the league detail page clearly changes context.
maximize-content-reduce-noise
no-intrusive-interruptions
issueshighThe 360px homepage and results screenshots show full-width gambling banners inserted between small score rows, plus a dismissible domain banner above the primary UI. Prominent in-feed banners have empty accessible text; following /ad/1729.html redirects to a LINE add-friend QR page, while banners visibly promote betting/casino products.
F04 high: Advertising repeatedly interrupts the score list and dominates the content hierarchy.
F23 critical: Unlabelled score-page ads lead to gambling promotion and unrelated QR acquisition.
maximize-content-reduce-noise
semantic-dismissible-primitives
not-applicablehighDOM probe found zero dialog, popover, and details elements, and no applicable overlay flow.
maximize-content-reduce-noise
reduced-chrome
issueshighThe 360px homepage and results screenshots show full-width gambling banners inserted between small score rows, plus a dismissible domain banner above the primary UI.
F04 high: Advertising repeatedly interrupts the score list and dominates the content hierarchy.
adapt-to-the-form-factor
responsive-no-horizontal-scroll
passhighMobile layout metrics report scrollWidth=clientWidth=360 with 0 horizontal overflow; home, results and league screenshots reflow to 360px.
adapt-to-the-form-factor
component-level-responsiveness
issueshighThe CSS probe found 0 container-query rules and 479 physical left/right declarations; reused score rows and navigation are presented at materially different widths.
F05 medium: The complex score UI uses viewport-era physical CSS rather than component responsiveness.
adapt-to-the-form-factor
input-modality-aware
issueshighThe focus probe reports outline none on active score filters, while Lighthouse fails target-size and the mobile screenshot shows densely packed controls.
F06 high: Several primary controls lack visible focus and adequate target treatment.
support-core-task-success
clear-purpose-and-primary-action
passhighFirst viewport immediately presents live scores, sport switching and score status; title and highlighted tab identify the purpose.
support-core-task-success
primary-flow-completion
passhighHome, completed-results and league schedule paths all loaded usable score content without account gating or dead ends.
support-core-task-success
clear-system-state-and-recovery
passhighCrawler view exposes a loading state and the unknown route provides a clear Thai error with a prominent return-home action.
be-fast-and-stable
good-core-web-vitals
issueshighLighthouse measured LCP 13.0s and TBT 3,890ms (performance 0.30); the CDP trace corroborates LCP 5.39s and 1,968ms total blocking time.
F07 critical: The primary score page is very slow and blocks interaction.
be-fast-and-stable
visual-stability
passhighMobile layout observer measured CLS 0.093, within the good <=0.1 threshold, with reserved banner slots visible in screenshots.
be-fast-and-stable
efficient-main-thread
issueshighLighthouse measured LCP 13.0s and TBT 3,890ms (performance 0.30); the CDP trace corroborates LCP 5.39s and 1,968ms total blocking time. HAR shows 10 separate Google tag/gtag payloads among 25 scripts; the trace records six long tasks and 1,968ms blocking time.
F07 critical: The primary score page is very slow and blocks interaction.
F27 high: Duplicated background analytics performs disproportionate work.
be-fast-and-stable
efficient-resource-delivery
issueshighThe HAR records 99 requests/2.63MB, 25 scripts/1.80MB, 10 grounded render-blocking candidates and 51 third-party requests; Lighthouse estimates 712KiB unused JS and 70KiB unused CSS.
F08 high: The load ships render-blocking resources and duplicated heavy analytics code.
be-fast-and-stable
trim-unused-and-duplicate-code
issueshighThe HAR records 99 requests/2.63MB, 25 scripts/1.80MB, 10 grounded render-blocking candidates and 51 third-party requests; Lighthouse estimates 712KiB unused JS and 70KiB unused CSS. HAR shows 10 separate Google tag/gtag payloads among 25 scripts; the trace records six long tasks and 1,968ms blocking time.
F08 high: The load ships render-blocking resources and duplicated heavy analytics code.
F27 high: Duplicated background analytics performs disproportionate work.
be-inclusive
names-roles-labels
issueshighLighthouse reports 43 images without alt and 42 links without discernible names; the images primitive independently reports 44 missing alt attributes.
F09 high: The page lacks accessible names and alternatives at scale.
be-inclusive
sufficient-contrast
issueshighLighthouse reports two foreground/background contrast failures; dense pale metadata is visible in the mobile score screenshots.
F12 medium: Some text and controls fail minimum contrast.
be-inclusive
structure-and-focus
issueshighThe platform probe found zero headings and zero main/nav/header/footer landmarks; Lighthouse fails main-landmark and the focus probe shows outline:none on multiple controls.
F10 high: The document has no heading or landmark structure and focus is inconsistently suppressed.
be-inclusive
legible-text
issueshighThe 360px screenshots pack multiple teams, times and odds into narrow 28–40px rows with very small pale metadata and interleaved banners.
F13 medium: Dense score rows compromise reading comfort.
be-inclusive
zoom-reflow-targets-and-media
issueshighDOM evidence contains maximum-scale=1.0,user-scalable=0; Lighthouse fails meta-viewport and target-size.
F11 high: The viewport explicitly prevents user zoom and some targets are too small.
follow-best-practices
no-console-errors
passhighLighthouse console-errors audit passed; no uncaught exception finding was emitted during the audited load.
follow-best-practices
sound-document-and-assets
issueshighThe images primitive reports 58 images without dimensions, 56 oversized and 77 legacy-format images; Lighthouse corroborates 52 unsized images.
F14 medium: Image and document asset hygiene is weak.
follow-best-practices
browser-platform-hygiene
issueshighLighthouse reports two deprecated-API warnings, one BFCache failure reason and one DevTools inspector issue.
F15 medium: The page triggers deprecated API, BFCache and inspector issues.
be-discoverable
title-and-description
passhighDOM has a descriptive Thai title and a detailed meta description on the public homepage.
be-discoverable
crawlable-and-mobile-friendly
issueshighThe platform probe found 53 javascript: links; Lighthouse fails crawlable-anchors with 10 representative failures and flags robots.txt validity.
F16 high: Primary navigation and score actions are not crawlable.
be-discoverable
canonical-and-indexing-signals
issueshighManual fetch returned a sitemap index and canonical URL, but Lighthouse marks robots.txt invalid; robots.txt contains the nonstandard pattern Disallow: *-{$mid}.
F17 medium: The robots policy contains an invalid pattern despite otherwise useful sitemap/canonical signals.
be-discoverable
structured-and-shareable-metadata
passhighDOM contains two JSON-LD blocks plus Open Graph and Twitter title, description, image and URL metadata aligned to the score site.
be-private-and-secure
secure-transport-and-headers
issueshighThe headers primitive found no CSP, HSTS, nosniff, frame protection, Referrer-Policy or Permissions-Policy; all 14 observed cookies lack Secure and use SameSite=None.
F18 critical: Essential security headers and cookie protections are absent.
be-private-and-secure
data-minimisation-and-third-parties
issueshighTrackers found 11 third-party origins and four known trackers; HAR attributes 51 requests and 2.25MB to third parties, including about 1.60MB from Google Tag Manager.
F19 high: The page loads an excessive tracking and third-party footprint.
be-private-and-secure
in-context-permissions-and-modern-auth
issueshighThe login screenshot and DOM show email/password plus Google/Facebook login; no WebAuthn/passkey affordance is present.
F20 medium: Authentication is password/social-provider only, with no phishing-resistant option.
be-private-and-secure
defensive-browser-policies
issueshighThe headers primitive found no CSP, HSTS, nosniff, frame protection, Referrer-Policy or Permissions-Policy; all 14 observed cookies lack Secure and use SameSite=None.
F18 critical: Essential security headers and cookie protections are absent.
be-resilient
progressive-enhancement
issueshighDiscoverability measured only 52% raw/rendered word overlap; the crawler screenshot shows a permanent “loading data” card while the rendered screenshot contains scores.
F21 high: Live-score content is not available without JavaScript.
be-resilient
resilient-runtime-behaviour
passhighHome, result and league templates loaded without clipped page-level overlays; the 360px layouts remain within the viewport.
be-resilient
offline-and-installable
not-applicablehighPlatform probe found no manifest or active service worker; judged contextual rather than a failure for live data.
be-resilient
network-and-http-failure-states
passhighUnknown-route testing produced a dedicated, branded error page with a direct return-home control rather than a blank shell.
be-internationalised
lang-dir-and-logical-properties
issueshighThe document correctly declares lang=th, but the CSS probe found 0 logical-property uses and 479 physical left/right declarations.
F22 low: The stylesheet is not prepared for alternate writing directions.
be-internationalised
locale-aware-data
passhighThe Thai document renders Thai-localised competition labels, dates/times and score state consistently across home, results and league paths.
be-internationalised
time-zone-correctness
passhighThe live site sets a zone-offset preference and renders explicit event times consistently across score and league schedule views.
be-trustworthy
no-dark-patterns
issueshighProminent in-feed banners have empty accessible text; following /ad/1729.html redirects to a LINE add-friend QR page, while banners visibly promote betting/casino products.
F23 critical: Unlabelled score-page ads lead to gambling promotion and unrelated QR acquisition.
be-trustworthy
humane-error-handling
issueshighThe before and post-submit login screenshots are identical; no required-field guidance or actionable error appears.
F24 high: The login form gives no visible feedback after an empty submission.
be-trustworthy
trustworthy-input-assistance
issueshighLogin DOM uses autocomplete="account" and autocomplete="pwd" instead of username and current-password.
F25 medium: Login fields use invalid autocomplete tokens.
be-trustworthy
safe-commercial-and-account-flows
passhighLogin presents reset and registration alongside sign-in, with clearly separated Google/Facebook alternatives and no forced continuation observed.
be-sustainable
optimised-assets
issueshighImages evidence reports 56 oversized, 55 below-fold images without lazy loading, 77 legacy-format images and 58 without dimensions.
F26 high: The page transfers many unoptimised and eagerly loaded images.
be-sustainable
no-wasteful-work
issueshighHAR shows 10 separate Google tag/gtag payloads among 25 scripts; the trace records six long tasks and 1,968ms blocking time.
F27 high: Duplicated background analytics performs disproportionate work.
be-sustainable
third-party-and-media-budget
issueshighTrackers found 11 third-party origins and four known trackers; HAR attributes 51 requests and 2.25MB to third parties, including about 1.60MB from Google Tag Manager. Images evidence reports 56 oversized, 55 below-fold images without lazy loading, 77 legacy-format images and 58 without dimensions. HAR shows 10 separate Google tag/gtag payloads among 25 scripts; the trace records six long tasks and 1,968ms blocking time.
F19 high: The page loads an excessive tracking and third-party footprint.
F26 high: The page transfers many unoptimised and eagerly loaded images.
F27 high: Duplicated background analytics performs disproportionate work.
be-agent-ready
structured-agent-capabilities
not-applicablehighRecon found no agent tool surface; absence is not penalised under this contextual principle.
be-agent-ready
on-device-inference
not-applicablehighRecon found no summarisation or generative interaction whose absence harms the core score task.
be-memory-efficient
no-leak-under-repeated-interaction
passhighAfter 10 alternating sport-tab interactions, heap self-size was 44.3MB versus 43.3MB baseline (+2.3%); key LiveMatch count stayed exactly 229 and native self-size decreased.
be-memory-efficient
bounded-footprint
issueshighBaseline heap summary contains 706,318 nodes and 43.3MB self size; after repeated tab switching it contains 750,269 nodes and 44.3MB.
F28 medium: The initial memory footprint is high for a score listing.
be-memory-efficient
no-detached-dom-or-unbounded-listeners
passhighNeither heap summary exposes a Detached* constructor among retained leaders; native node count fell from 340,061 to 329,217 after repeated interaction.

Provenance

Canonical report: results/atomic/reports/0475-www_thscore99_com.json
Report SHA-256: 636a0b327dc390a4972e1af609c39b04a9cbb9cf4f66679084820f7fed4aadbc
Local retained report: runs/2026-07-17T17-27-24-856Z/atomic-reports/www_thscore99_com/2026-07-21T01-33-19-144Z/report.json
Local evidence root: runs/2026-07-17T17-27-24-856Z/atomic-reports/www_thscore99_com/2026-07-21T01-33-19-144Z
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.