Manifest position 939 · CrUX rank bucket 1000

https://scratch.mit.edu

Coverage complete

Coverage-complete representative audit of seven public/guest paths. Authenticated account, moderation, studio-detail, profile, payment/donation completion, and project-save/share states were not covered because they require credentials, user mutation, or duplicate inspected templates.

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-condition screenshot is visually identical to the default; the computed probe reports colorScheme "normal" under a matching dark query.
F01 medium: The interface does not honor the system dark-color preference.
respect-user-preferences
respects-reduced-motion
passhighReduced-motion carousel recording produced one static frame over 3 seconds and the animation probe reported no running animations.
respect-user-preferences
respects-contrast
issueshighLighthouse reports color-contrast failures; the inspected CSS/probe exposed no high-contrast adaptation for the affected content.
F02 medium: Some text fails minimum contrast and there is no contrast-specific adaptation.
implement-natural-interactions
view-transitions
issueshighThe recorded Home to Explore journey shows navigation/loading frames without a continuity transition.
F03 low: Primary route changes are abrupt full-document swaps.
implement-natural-interactions
scroll-driven-animations
not-applicablehighNo scroll-linked storytelling, parallax, or reveal interaction was present on the representative templates, so there is no scroll-driven effect to implement.
implement-natural-interactions
physical-gestures
issueshighThe DOM/CSS capture contains Slick transform-driven carousel rules and custom arrow controls, with no scroll-snap evidence.
F04 low: Carousels use legacy scripted transforms rather than native snapping/gesture semantics.
provide-guided-navigation
scroll-state-aware-chrome
issueshighScreenshots and captured CSS show fixed/static navigation and scripted carousels but no scroll-state query, progress indicator, or responsive header state.
F05 low: Site chrome remains static rather than communicating scroll position.
provide-guided-navigation
anchored-positioning
not-applicablehighNo tooltip/popover/menu whose placement could be meaningfully tested was exposed in the representative guest paths.
provide-guided-navigation
directs-attention
passhighScreenshots show persistent labelled navigation, visually dominant primary actions, project title/context, and explicit editor tutorial controls.
maximize-content-reduce-noise
no-intrusive-interruptions
passhighThe donation banner pushes rather than overlays content, is clearly labelled, and exposes a visible 32x32 dismiss control on desktop and mobile.
maximize-content-reduce-noise
semantic-dismissible-primitives
issueshighThe join surface reports one role=dialog but zero native dialog elements across the inspected UI.
F06 low: Account onboarding uses a custom dialog layer instead of the native dialog primitive.
maximize-content-reduce-noise
reduced-chrome
passhighLanding, project, ideas, and editor screenshots devote the principal region to creation/discovery content with restrained navigation chrome.
adapt-to-the-form-factor
responsive-no-horizontal-scroll
issueshighLayout measured 130px horizontal overflow on the project page and 664px on the editor; the editor layout viewport expanded to 1024px.
F07 high: Primary project/editor surfaces force desktop widths on a 360px device.
adapt-to-the-form-factor
component-level-responsiveness
issueshighThe CSS capture contains repeated 480/768/942px media tiers and fixed .inner widths; the probe found zero CSS container rules.
F08 medium: Reusable components rely on viewport breakpoints and fixed-width tiers.
adapt-to-the-form-factor
input-modality-aware
issueshighLighthouse target-size fails; the UI probe measured visible controls as small as 32x32 and text links around 14-18px high.
F09 medium: Multiple controls and links are too small or too tightly spaced for touch.
support-core-task-success
clear-purpose-and-primary-action
passhighThe landing H1 states the purpose and Start Creating/Join are prominent; project exposes start/See inside; editor opens with a Getting Started tutorial.
support-core-task-success
primary-flow-completion
passhighThe guest Create link reached a functional editor with blocks, stage, start/stop controls and tutorial; Join reached a clear multi-step first screen.
support-core-task-success
clear-system-state-and-recovery
passhighEmpty Join submission produced three visible Required messages; the invalid-route screen explains the failure and offers search recovery.
be-fast-and-stable
good-core-web-vitals
issueshighLighthouse measured LCP 10.9s, CLS 0.781, and TBT 290ms; the independent mobile layout observer measured CLS 0.834.
F10 critical: The landing page is slow and highly unstable under lab load.
be-fast-and-stable
visual-stability
passhighDirect visual, DOM, Lighthouse, network, interaction, or responsive inspection across the representative paths found the expected outcome with no contrary signal.
be-fast-and-stable
efficient-main-thread
issueshighThe 360px editor layout capture recorded 723ms and 153ms long tasks after load; the project page recorded a 711ms task.
F11 high: The interactive editor blocks the main thread with long tasks.
be-fast-and-stable
efficient-resource-delivery
issueshighHAR recorded 43 requests and 4.24MB transferred, including 1.29MB splash.intl.js and an 830KB thumbnail; parser-inserted styles/scripts begin at high priority.
F12 high: The landing page ships a heavy, poorly prioritized resource set.
be-fast-and-stable
trim-unused-and-duplicate-code
issueshighHAR shows 1.97MB script transfer; Lighthouse flags large scripts without source maps and the locale bundle alone is 1.29MB.
F13 high: Large first-party and analytics scripts dominate startup.
be-inclusive
names-roles-labels
issueshighThe image audit found 17 of 18 images without alt; Lighthouse found unnamed links; editor canvases have no role, accessible name, or fallback content.
F14 high: Key visual and interactive content lacks robust accessible equivalents.
be-inclusive
sufficient-contrast
issueshighLighthouse accessibility audit reports color-contrast failures on the landing surface.
F16 medium: Some foreground/background combinations fail WCAG contrast.
be-inclusive
structure-and-focus
issueshighLighthouse reports aria-hidden slides containing focusable links, skipped heading order, and malformed definition-list structure.
F15 high: Hidden carousel slides remain focusable and document structure is invalid.
be-inclusive
legible-text
passhighVisual review across desktop/mobile found readable line lengths, clear hierarchy, and no clipped body copy on the landing, ideas, and Join templates.
be-inclusive
zoom-reflow-targets-and-media
issueshighThe editor has 664px overflow at a 360px visual viewport, project has 130px, and Lighthouse target-size fails.
F17 medium: Reflow and touch-target support is incomplete.
follow-best-practices
no-console-errors
issueshighLighthouse captured 404 console/network errors for /fonts/slick.woff and /fonts/slick.ttf.
F18 medium: The landing page logs failed font requests.
follow-best-practices
sound-document-and-assets
issueshighAll 18 audited images lack width/height attributes; Lighthouse reports incorrectly displayed gallery aspect ratios.
F19 medium: Image dimensions, aspect ratios, and delivery are unsound.
follow-best-practices
browser-platform-hygiene
issueshighLighthouse reports deprecated Shared Storage usage in polyfill.min.js and missing maps for large first-party bundles.
F20 low: Deprecated APIs and missing production source maps reduce platform hygiene.
be-discoverable
title-and-description
passhighHome, Explore, and project probes returned route-specific descriptive titles and meta descriptions.
be-discoverable
crawlable-and-mobile-friendly
issueshighDiscoverability measured only 3% raw-content coverage on home and 1% on the project, both empty #app shells; crawler screenshots are blank.
F21 high: Public content is effectively empty to crawlers that do not execute JavaScript.
be-discoverable
canonical-and-indexing-signals
issueshighThe platform probe found no canonical URL, while sitemap.xml exists and the public pages return 200.
F22 medium: Canonical indexing signals are incomplete.
be-discoverable
structured-and-shareable-metadata
issueshighThe metadata probe found Open Graph tags but zero JSON-LD blocks; public project content is a rich CreativeWork-like entity.
F23 medium: Rich project entities are not expressed as structured data.
be-private-and-secure
secure-transport-and-headers
issueshighHeaders show no CSP or nosniff; all three cookies lack Secure and two analytics cookies use SameSite=None for 400 days.
F24 high: Transport is HTTPS, but core response and cookie defenses are missing.
be-private-and-secure
data-minimisation-and-third-parties
issueshighTracker evidence records Google Tag Manager and Google Analytics; HAR attributes about 300KB to tag-manager scripts and cookies persist 400 days.
F25 high: A child-focused site loads Google tracking on first visit.
be-private-and-secure
in-context-permissions-and-modern-auth
issueshighThe inspected Join flow asks for password and confirmation with autocomplete disabled; inspected app signals exposed no WebAuthn/passkey path.
F26 medium: Account flows present password-only UI with no visible phishing-resistant option.
be-private-and-secure
defensive-browser-policies
issueshighHeaders include HSTS and SAMEORIGIN, but omit CSP/frame-ancestors policy, Referrer-Policy, Permissions-Policy, and nosniff.
F27 medium: Several browser-enforced defensive policies are absent.
be-resilient
progressive-enhancement
issueshighRaw HTML has an empty #app and only 1-3% of rendered words; crawler screenshots show a blank shell.
F28 high: Core public content depends entirely on JavaScript.
be-resilient
resilient-runtime-behaviour
passhighProject/player, editor tutorial, listing, and Join dialog rendered without cut-off overlays at desktop; repeated tutorial close/open remained operable.
be-resilient
offline-and-installable
issueshighThe platform probe found no manifest and no controlling service worker on the landing surface.
F29 medium: The app-like creation experience is neither installable nor offline-capable.
be-resilient
network-and-http-failure-states
passhighA deliberately invalid route returned a clear illustrated error, explanation, and search field rather than a blank shell.
be-internationalised
lang-dir-and-logical-properties
issueshighHTML uses lang=en-GB, but captured CSS repeatedly uses left/right, float:left/right, margin-left/right and fixed directional placement, with no dir declaration.
F30 medium: Language is declared, but layout CSS is heavily physical and not bidi-ready.
be-internationalised
locale-aware-data
not-applicablehighThe audited guest surfaces showed no dates, currency, numbers, or calendar data whose locale formatting could be judged.
be-internationalised
time-zone-correctness
not-applicablehighNo scheduled event or time-zone-sensitive workflow was present in the audited guest surfaces.
be-trustworthy
no-dark-patterns
passhighLanding donation is labelled and dismissible; Join says the account is free and its first step contains no preselected consent or disguised action.
be-trustworthy
humane-error-handling
passhighAfter an empty Next action, Join displayed contextual Required messages beside all three relevant inputs without blame or destructive state loss.
be-trustworthy
trustworthy-input-assistance
issueshighThe Join probe reports autocomplete="off" for username, password, and password confirmation.
F31 medium: Signup explicitly disables helpful autofill.
be-trustworthy
safe-commercial-and-account-flows
passhighThe audited signup entry states “It’s free”, asks only username/password on the first step, and presents one predictable Next action; authenticated account management was excluded.
be-sustainable
optimised-assets
issueshighImage audit found 14 oversized images, 15 legacy-format images, 16 without srcset, and 15 below-fold images not lazy-loaded.
F32 high: Most image bytes are oversized legacy PNGs with no responsive delivery.
be-sustainable
no-wasteful-work
issueshighHAR records 4.24MB on load, 21 cross-origin requests, large below-fold thumbnails, and analytics collection before interaction.
F33 high: Non-essential bytes and tracking work execute during initial load.
be-sustainable
third-party-and-media-budget
issueshigh2.54MB of 4.24MB transferred cross-origin; image payload is 2.26MB and tag-manager scripts add about 300KB.
F34 high: Third-party and media cost is disproportionate for the landing view.
be-agent-ready
structured-agent-capabilities
not-applicablehighThis emerging capability is contextual; Scratch exposes no declared agent-facing surface, so absence is an opportunity rather than a failure.
be-agent-ready
on-device-inference
not-applicablehighNo summarisation/language-model feature is part of the representative core journey, so on-device inference is not applicable.
be-memory-efficient
no-leak-under-repeated-interaction
passmediumAfter 10 tutorial close/open cycles, heap self-size rose from 97,187,667 to 98,592,843 bytes (1.45%); this bounded warm-up-sized delta does not establish unbounded retention.
be-memory-efficient
bounded-footprint
passmediumThe complex visual editor used about 89MB JS heap, 2,067 live DOM elements, and a 97.2MB heap snapshot; substantial but proportionate to blocks, canvas, tutorial, media, and VM UI.
be-memory-efficient
no-detached-dom-or-unbounded-listeners
passmediumBefore/after heap summaries contained no Detached* constructor among retained top constructors; repeated interaction caused only a small bounded total delta.

Provenance

Canonical report: results/atomic/reports/0939-scratch_mit_edu.json
Report SHA-256: 001fdce7d7980f91b195a713a9d1c6228cb5819305f56c0ef6fb5f3f8d40715c
Local retained report: runs/2026-07-17T17-27-24-856Z/atomic-reports/scratch_mit_edu/2026-07-24T00-33-57-126Z/report.json
Local evidence root: runs/2026-07-17T17-27-24-856Z/atomic-reports/scratch_mit_edu/2026-07-24T00-33-57-126Z
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.