Manifest position 379 · CrUX rank bucket 1000
https://www.canva.com
Coverage complete
Coverage-complete representative audit of five public archetypes. Authenticated editor, checkout completion, localized variants and every template URL were out of scope.
All 58 atomic check outcomes
| Principle / check | Status | Confidence | Evidence or reason |
|---|---|---|---|
respect-user-preferencesrespects-color-scheme | issues | high | The dark-emulated screenshot is pixel-identical in appearance to the light capture, and the structure probe reports computed colorScheme “light”. CANVA-001 medium: The public landing page does not adapt to the user’s dark color-scheme preference. |
respect-user-preferencesrespects-reduced-motion | issues | high | Under prefers-reduced-motion: reduce, getAnimations() returned 42 running animations, each with 1400 ms duration and an infinite iteration count (serialized as null). CANVA-002 high: Continuous hero motion remains active when reduced motion is requested. |
respect-user-preferencesrespects-contrast | pass | medium | Lighthouse accessibility scored 100 and color-contrast passed on the rendered homepage; the UI remained legible across sampled screenshots. |
implement-natural-interactionsview-transitions | issues | high | Rendered DOM/CSS inspection found no view-transition-name or ::view-transition usage across the homepage snapshot, while the page presents carousels, menus and cross-page journeys. CANVA-015 low: State and route changes do not expose View Transition styling on the sampled public pages. |
implement-natural-interactionsscroll-driven-animations | pass | medium | Rendered CSS contained animation-timeline declarations; layout/trace evidence found no sustained scroll task problem on the sampled landing page. |
implement-natural-interactionsphysical-gestures | pass | medium | Rendered CSS contained scroll-snap and overscroll-behavior rules for carousel/scroll surfaces, providing platform-native gesture behavior. |
provide-guided-navigationscroll-state-aware-chrome | pass | medium | Desktop and mobile screenshots show compact, persistent navigation chrome that maintains orientation without covering the primary heading. |
provide-guided-navigationanchored-positioning | pass | medium | No tooltip-style floating anchored surface was present in the sampled first-load states; menus did not visibly drift or clip. |
provide-guided-navigationdirects-attention | pass | medium | The landing and detail screenshots use a single prominent heading/CTA, and the presentation detail includes a Home > Presentations breadcrumb. |
maximize-content-reduce-noiseno-intrusive-interruptions | issues | high | Desktop and mobile screenshots show the cookie panel covering roughly half the viewport and hiding the primary call to action/content on home, templates, presentation and pricing pages. CANVA-003 medium: The first-load cookie panel obscures most of the primary content on every sampled marketing page. |
maximize-content-reduce-noisesemantic-dismissible-primitives | issues | high | The rendered DOM contains zero dialog and zero popover elements while the screenshot shows a blocking overlay. CANVA-004 medium: The blocking consent overlay is not exposed with a native dialog or popover primitive. |
maximize-content-reduce-noisereduced-chrome | pass | medium | Screenshots show border-light content-led layouts with a compact header; outside consent, decorative visuals support the product message. |
adapt-to-the-form-factorresponsive-no-horizontal-scroll | pass | medium | At 360x800, home and templates reported scrollWidth 360, clientWidth 360 and zero horizontal overflow; viewport metadata is present. |
adapt-to-the-form-factorcomponent-level-responsiveness | pass | medium | DOM/CSS inspection found an @container rule, and 360px evidence shows components reflow without horizontal overflow. |
adapt-to-the-form-factorinput-modality-aware | pass | medium | Lighthouse target-size passed; focus probing found native/3px focus treatments on representative links and controls. |
support-core-task-successclear-purpose-and-primary-action | pass | medium | The first viewport states “Bring your ideas to life” and exposes “Start creating”; detail/listing pages have specific H1s. |
support-core-task-successprimary-flow-completion | pass | medium | Representative navigation targets for templates, presentation creation, pricing and help all loaded successfully with clear continuation controls. |
support-core-task-successclear-system-state-and-recovery | pass | medium | The sampled invalid sitemap endpoint rendered a branded roadblock state with a “Go to home” recovery link and error identifier. |
be-fast-and-stablegood-core-web-vitals | issues | high | Lighthouse measured LCP 4.168 s, FCP 3.31 s and TTI 7.241 s; the first-party trace corroborated two long tasks and 92.97 ms total blocking time. CANVA-006 high: Throttled load performance misses the good LCP range. |
be-fast-and-stablevisual-stability | issues | high | The 360x800 layout observer measured CLS 0.2157, including a 0.21285 shift at about 6.18 seconds, above the 0.1 good threshold. CANVA-005 high: The mobile templates listing has poor visual stability. |
be-fast-and-stableefficient-main-thread | pass | medium | First-party trace measured only two long tasks and 92.97 ms TBT; Lighthouse TBT was 93 ms, within the good range. |
be-fast-and-stableefficient-resource-delivery | pass | medium | Assets were compressed and mostly cacheable; trace LCP was 1.20 s in the unthrottled capture, though overall delivery issues are recorded under related checks. |
be-fast-and-stabletrim-unused-and-duplicate-code | issues | high | HAR recorded 60 requests and 3.27 MB transferred; Lighthouse estimated 277 KiB unused JavaScript and 62 KiB unused CSS, with four individual JS resources around 31–61% unused. CANVA-007 high: The anonymous homepage ships a large amount of avoidable code and network weight. |
be-inclusivenames-roles-labels | pass | medium | Lighthouse accessibility scored 100; button-name and link-name audits passed, and the template search input has an accessible label. |
be-inclusivesufficient-contrast | pass | medium | Lighthouse color-contrast passed and sampled screenshots remain legible. |
be-inclusivestructure-and-focus | pass | medium | Lighthouse heading-order passed; DOM contains header/nav/main/footer landmarks; focus probe found focus treatments. |
be-inclusivelegible-text | pass | medium | Desktop/mobile screenshots show large readable headings, comfortable body line-height and no clipped main copy outside the separately reported consent overlap. |
be-inclusivezoom-reflow-targets-and-media | pass | medium | Meta viewport allows scaling, Lighthouse target-size and viewport audits passed, and mobile layouts had no horizontal overflow. |
follow-best-practicesno-console-errors | pass | medium | Lighthouse errors-in-console audit passed with no logged console errors. |
follow-best-practicessound-document-and-assets | pass | medium | DOM has HTML5 doctype and UTF-8; Lighthouse image aspect-ratio and responsive-size audits passed. Unsized delivery is separately reported. |
follow-best-practicesbrowser-platform-hygiene | issues | high | Lighthouse found an unload listener in sentry_browser.js and four BFCache failure reasons, including the unload handler and no-store responses. CANVA-009 medium: Deprecated unload handling prevents back/forward cache restoration. |
be-discoverabletitle-and-description | pass | medium | Home and templates expose descriptive rendered titles and meta descriptions; the template probe records “Free templates | Canva”. |
be-discoverablecrawlable-and-mobile-friendly | issues | high | Discoverability measured only 4% raw/rendered word coverage on home, 2% on templates and 4% on the presentation page; each was classified as a JS shell and raw HTML lacked title and h1. CANVA-011 high: Core public content is largely absent from raw server HTML. |
be-discoverablecanonical-and-indexing-signals | pass | medium | Rendered home has canonical URL and 107 hreflang entries; robots.txt allows core paths and declares two sitemap indexes; sampled pages returned HTTP 200. |
be-discoverablestructured-and-shareable-metadata | pass | medium | Home includes JSON-LD plus eight Open Graph tags and a canonical URL matching visible Canva organization/product content. |
be-private-and-securesecure-transport-and-headers | pass | medium | Page uses HTTPS with HSTS preload, nosniff, frame protection, strict-origin referrer policy and CSP; no client secrets were found. |
be-private-and-securedata-minimisation-and-third-parties | pass | medium | Consent offers reject/manage choices before optional analytics; tracker probe found one known error-monitoring origin and no third-party cookies. |
be-private-and-securein-context-permissions-and-modern-auth | pass | medium | No browser permission prompt appeared on load; login is user-initiated and Google identity is available. No inappropriate prompt was observed. |
be-private-and-securedefensive-browser-policies | issues | high | Headers inspection found CSP unsafe-eval and no Permissions-Policy. Cookie inspection found g_state without Secure and four of five cookies flagged, including SameSite=None cookies. CANVA-010 medium: Browser security policy and cookie posture have avoidable gaps. |
be-resilientprogressive-enhancement | issues | high | Raw HTML comparisons across three representative public templates retained only 2–4% of rendered words and omitted title/h1, despite the pages having substantial public content. CANVA-012 high: Public content and primary discovery journeys do not progressively enhance without JavaScript. |
be-resilientresilient-runtime-behaviour | pass | medium | Five representative routes loaded without clipped navigation or blank runtime states; the help route retained usable high-contrast chrome. |
be-resilientoffline-and-installable | not-applicable | high | Canva’s core editor is intrinsically online and collaborative; offline/installability was not treated as required for these public marketing surfaces. |
be-resilientnetwork-and-http-failure-states | pass | medium | The sampled invalid URL returned a branded roadblock with explicit home recovery rather than a blank shell. |
be-internationalisedlang-dir-and-logical-properties | pass | medium | Home reports lang=en-GB and dir=ltr, templates lang=en, 107 hreflang links, and rendered markup includes logical inline properties. |
be-internationalisedlocale-aware-data | not-applicable | high | The sampled public surfaces display no dates, currencies, durations or locale-sensitive numeric data requiring an Intl formatting judgment. |
be-internationalisedtime-zone-correctness | not-applicable | high | The sampled public surfaces contain no event scheduling or time-zone-sensitive values. |
be-trustworthyno-dark-patterns | pass | medium | Consent presents Accept, Reject and Manage as direct choices without confirmshaming; sampled pricing copy did not show disguised commitments. |
be-trustworthyhumane-error-handling | pass | medium | No required multi-field form was present on sampled public paths; template search is optional and does not produce premature validation. |
be-trustworthytrustworthy-input-assistance | pass | medium | The only sampled input is a labelled search field; autocomplete=off is appropriate for dynamic template-query suggestions. |
be-trustworthysafe-commercial-and-account-flows | pass | medium | Pricing and login entry points are clearly labelled; no forced continuity or hidden default was observed in the sampled anonymous states. |
be-sustainableoptimised-assets | issues | high | The image probe found all 13 images without width/height, 11 without srcset, 8 below-fold images not lazy-loaded and 9 legacy-format assets; Lighthouse independently failed the unsized-images audit. CANVA-008 medium: Homepage imagery is not delivered responsively or with stable intrinsic sizing. |
be-sustainableno-wasteful-work | pass | medium | Trace showed bounded TBT and trackers recorded only a small telemetry/error-monitoring request footprint before consent. |
be-sustainablethird-party-and-media-budget | pass | medium | No autoplay video/audio was present; transferred media was dominated by product imagery, though optimization issues are separately recorded. |
be-agent-readystructured-agent-capabilities | issues | medium | The platform probe found no WebMCP/model-context registration on the public product surface; agents must infer actions from a large rendered UI. CANVA-016 low: Canva’s agent-relevant productivity capabilities are not exposed as structured browser tools. |
be-agent-readyon-device-inference | not-applicable | high | The sampled public marketing and discovery surfaces expose no bounded inference task where built-in local inference is necessary to complete the user journey. |
be-memory-efficientno-leak-under-repeated-interaction | issues | medium | The baseline heap summary was 67.15 MB across 1.52M nodes; after 20 menu toggles it was 88.60 MB across 2.06M nodes, about 32% more bytes and 36% more nodes. Separate page sessions add variance, so this is a leak signal requiring allocation-retainer confirmation. CANVA-013 medium: Repeated navigation-menu toggling produced substantial retained-heap growth. |
be-memory-efficientbounded-footprint | issues | high | A post-load heap summary contained about 1.52M heap nodes, 8.77M edges and 67.15 MB self size before entering the editor. CANVA-014 medium: The initial memory footprint is disproportionate for a marketing landing page. |
be-memory-efficientno-detached-dom-or-unbounded-listeners | pass | medium | Neither heap summary listed Detached* constructors among the dominant retained constructors; the stronger growth signal is separately recorded. |
Provenance
Canonical report: results/atomic/reports/0379-www_canva_com.json
Report SHA-256: 51edfd0778a070ba5630619797f0cc8ef190b9ce8fc4d6153ec37d88f9dcf7dc
Local retained report: runs/2026-07-17T17-27-24-856Z/atomic-reports/www_canva_com/2026-07-20T08-57-17-484Z/report.json
Local evidence root: runs/2026-07-17T17-27-24-856Z/atomic-reports/www_canva_com/2026-07-20T08-57-17-484Z
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.