DevTools Logo

Browser Compatibility & Baseline Cheat Sheet

Web platform Baseline status, feature detection, caniuse workflows, and cross-browser testing strategies.

Modern Frontend
browser
compatibility
baseline

Browser compatibility means a feature works across the browsers your users actually run. Baseline groups features by when they became widely available, so you can decide whether to ship or polyfill.

Baseline status

Table
StatusMeaning
Newly availableSupported in the latest stable of all core browsers.
Widely availableSupported for 30 months across core browsers.
Limited availabilityNot yet in every core browser.

Feature detection

Prefer runtime detection over user-agent sniffing.

js
if ("structuredClone" in window) {
  // native support
} else {
  // fallback / polyfill
}

if (CSS.supports("display", "grid")) {
  // grid available
}

caniuse workflow

  1. Search the feature on caniuse.com.
  2. Check the target browser matrix and usage percentage.
  3. Decide: ship, polyfill, or progressive enhancement.
  4. Add a fallback for unsupported browsers.

Progressive enhancement

Table
LayerApproach
HTMLContent works without JS.
CSSEnhance with @supports guards.
JSAdd interactivity only when supported.
css
@supports (display: grid) {
  .layout { display: grid; }
}

Testing matrix

Table
ToolPurpose
BrowserStack / Sauce LabsReal device/browser testing.
Playwright / PuppeteerAutomated cross-browser E2E.
caniuseFeature support lookup.
BrowserslistDefine target browsers in build config.

References