Trust

Browser support

Which browser engines the Crosstabs test suite runs against, and which features depend on specific browser capabilities. This page lists only what the test configuration and code show.
Published by crosstabs.com · Last updated ·
How results are checkedNamed statistical review pending. Selected automated reference cases are published on the validation page.

Crosstabs runs in the browser and needs JavaScript. The automated test suite uses the Chromium, Firefox and WebKit engines, with phone emulation for mobile layouts. Saving projects needs IndexedDB, or localStorage with Web Locks; imports of files over 1 MB need Web Workers.

Browser engines in the test suite

Playwright test configurations
Test setEngines and devicesWhat it coversWhen it runs
Release smoke testChromium (desktop Chrome profile)Core release journeyEvery CI run
Cross-engine project handoffChromium → Firefox → WebKit → Chromium (desktop profiles)A project package created in one engine is verified and imported in the nextWeekly scheduled workflow
Main end-to-end suiteChromium (desktop Chrome profile)Upload, tables, exports, saved projects and other workspace journeysConfigured; run on demand
Project portabilityFirefox and WebKit (desktop profiles)Project package verification and importConfigured; run on demand
Upload matrixChromium, Firefox and WebKit (desktop); Pixel 7 and iPhone 13 emulation for mobile casesCSV, XLSX and SPSS .sav upload, labels, comparisons and CSV exportConfigured; run on demand
Localized discoveryChromium, Firefox and WebKit (desktop); iPhone 13 emulation on WebKitLocalized pages lead to the workspace; mobile layout stays within the viewportConfigured; run on demand

Tests use Playwright's builds of Chromium, Firefox and WebKit. WebKit is the engine behind Safari, but these runs are not Safari itself, and mobile cases are emulated phone profiles rather than physical devices.

Browsers and engines not listed may work, but are not covered by the test suite.

Features that depend on browser capabilities

Browser capabilities used by Crosstabs
CapabilityUsed forIf unavailable
Web WorkersImports and large tables run in background workers so the page stays responsive.Without workers, files larger than 1 MB cannot be imported; smaller files are imported on the page.
IndexedDBSaved projects are stored in a versioned IndexedDB database.Falls back to per-project localStorage, which requires the Web Locks API. Without either, saving projects is unavailable; analysis and exports still work.
Web Crypto (SHA-256)Project packages (.ctproj) are checksummed, and the PDF font is verified before use.Without it, project packages cannot be created or verified.
Storage managerReports whether storage is persistent and how much quota is used, for storage diagnostics.Optional. When unavailable, persistence and usage are shown as unknown.
Async ClipboardCopy table text and copy table as image.Image copy needs ClipboardItem support; otherwise the PNG is downloaded instead.
TextDecoderReads UTF-8 and BOM-marked UTF-16 text files strictly, rejecting invalid bytes.Required for importing text files.
CanvasCreates PNG images of tables and publication figures.Required for PNG and figure PDF export.

Offline use, private windows and storage

A loaded tab can keep working after the network drops. Crosstabs does not ship a service worker, so a fresh load or refresh needs a connection.

Saved projects live in this browser profile's storage. Clearing site data, a profile that discards storage (as private windows typically do), or browser storage policies can remove them, and quotas differ between browsers and devices. Export important projects as .ctproj packages. See local mode for details.

Performance depends on the device. You can measure it on yours with the in-browser benchmark.