A pragmatic guide to browser support

A presentation at Pixel Pioneers in June 2026 in Bristol, UK by Rachel Andrew

Slide 1

Slide 1

A pragmatic guide to browser support Rachel Andrew | Google Chrome | https://rachelandrew.co.uk

Slide 2

Slide 2

Baseline Clarifying the language around browser support for features.

Slide 3

Slide 3

A Baseline Newly available feature is supported in: • Chrome (desktop and Android) • Edge • Firefox (desktop and Android) • Safari (macOS and iOS) After 30 months the feature becomes Baseline Widely available.

Slide 4

Slide 4

Container Queries Baseline Widely available as of 14 August 2025.

Slide 5

Slide 5

Slide 6

Slide 6

Choose your own Baseline Adopt a Baseline year that makes sense for your audience.

Slide 7

Slide 7

https://chrome.dev/google-analytics-baseline-checker

Slide 8

Slide 8

Your Baseline Widely available or the Baseline year that you’ve decided to adopt. Everything past that line can be used without fallbacks or polyfills.

Slide 9

Slide 9

Baseline doesn’t create a hard line, past which you can never go.

Slide 10

Slide 10

What’s the fallback? Some features make a straightforward progressive enhancement.

Slide 11

Slide 11

p{ text-wrap: pretty; } https://developer.chrome.com/blog/css-text-wrap-pretty

Slide 12

Slide 12

https://developer.chrome.com/blog/css-text-wrap-pretty

Slide 13

Slide 13

.scroller { scrollbar-color: hotpink blue; } https://developer.chrome.com/docs/css-ui/scrollbar-styling

Slide 14

Slide 14

Feature queries in CSS Some features can have a fallback to another CSS method, with a few lines of extra CSS wrapped in @supports.

Slide 15

Slide 15

@supports (grid-template-columns: subgrid) { .subgrid { grid-template-columns: subgrid; } }

Slide 16

Slide 16

Is there a polyfill? The most frequently asked of questions when introducing a new feature.

Slide 17

Slide 17

The search for gold standard polyfills The perfect polyfill is hard to find.

Slide 18

Slide 18

A polyfill that we can recommend for all cases is unusual. Most have some caveats, or require an understanding of the environment. • You have understanding of your site and how the polyfill is used. • You can test to check for performance issues. • You understand the team maintaining the site and whether you are able to address any issues that might arise later due to the polyfill.

Slide 19

Slide 19

https://gridlanes.webkit.org

Slide 20

Slide 20

.container { display: grid-lanes; grid-template-columns: repeat(4, 1fr); flow-tolerance: 1em; gap: 1ch; }

Slide 21

Slide 21

Slide 22

Slide 22

// Check if CSS Grid Lanes is NOT supported if (!CSS.supports(‘display’, ‘grid-lanes’)) { // Dynamically load masonry.js const script = document.createElement(‘script’); script.src = ‘https://unpkg.com/masonry- layout@4/dist/masonry.pkgd.min.js’; script.onload = function() { // Use Masonry.js after the script loads new Masonry(‘.grid’, { itemSelector: ‘.grid-item’, columnWidth: 200, }); }; document.head.appendChild(script); } https://webkit.org/blog/17758/when-will-css-grid-lanes-arrive-how-long-until-we-can-use-it/

Slide 23

Slide 23

What’s the path to Baseline? How long will it take for people to have this feature?

Slide 24

Slide 24

Newly available features These features are already interoperable, they haven’t reached your Baseline yet.

Slide 25

Slide 25

Slide 26

Slide 26

@property —myColor { syntax: ‘<color>’; inherits: false; initial-value: hotpink; }

Slide 27

Slide 27

How are you using the feature? Even with one feature, some uses may be easier to fallback.

Slide 28

Slide 28

https://web.dev/blog/at-property-baseline

Slide 29

Slide 29

Look into the future of browser support Baseline gives you a way to know “how long until I can use?”

Slide 30

Slide 30

https://web-platform-dx.github.io/web-features-explorer/features/subgrid

Slide 31

Slide 31

Single-browser implementations How to think about features that are only in one browser.

Slide 32

Slide 32

https://developer.mozilla.org /docs/Web/API/Background_Fetch_API

Slide 33

Slide 33

Single-browser implementations need to be carefully considered. Use them if: • You are happy with the fallback strategy. • You are able to watch out for changes to the feature as it progresses to more than one engine. Avoid these features when handing the site over to a client who might not have the ability to make updates.

Slide 34

Slide 34

Slide 35

Slide 35

Is the feature on a standards track? This means that it’s being developed within a standards organization—for example a CSS Working Group working draft.

Slide 36

Slide 36

https://wpt.fyi/interop-2026

Slide 37

Slide 37

Understand standards positions If a feature has a negative standards position from one browser, it’s unlikely they will implement it until something changes.

Slide 38

Slide 38

Missing in one browser So close! Not experimental, but also not Baseline.

Slide 39

Slide 39

https://webstatus.dev/features/contrast-color

Slide 40

Slide 40

https://webstatus.dev/stats

Slide 41

Slide 41

ul li::marker { color: red; font-size: 1.5em; }

Slide 42

Slide 42

ul li::marker { color: red; font-size: 1.5em; }

Slide 43

Slide 43

li.cat::marker { content: ” “; } li.dog::marker { content: ” “; } li.panda::marker { content: ” ” }

Slide 44

Slide 44

Slide 45

Slide 45

const today = Temporal.Now.plainDateISO(); console.log(today.toString()); // 2026-06-18 Temporal API

Slide 46

Slide 46

https://piccalil.li/blog/date-is-out-and-temporal-is-in/

Slide 47

Slide 47

#progress { position: fixed; left: 0; top: 0; width: 100%; height: 1em; background: red; transform-origin: 0 50%; animation: grow-progress auto linear; animation-timeline: scroll(); } https://developer.chrome.com/docs/css-ui/scroll-driven-animations

Slide 48

Slide 48

https://developer.chrome.com/docs/css-ui/scroll-driven-animations

Slide 49

Slide 49

scroll-driven-animations.style

Slide 50

Slide 50

Two implementations more stability If two engines have implemented it’s far less likely the specification will change.

Slide 51

Slide 51

https://web-platform-dx.github.io/web-features-explorer/features/scheduler

Slide 52

Slide 52

Give browsers your use cases! Showing why you need a feature can help to get it prioritized.

Slide 53

Slide 53

AI and coding agents Do agents understand how to use new features?

Slide 54

Slide 54

https://developer.chrome.com/docs/modern-web-guidance

Slide 55

Slide 55

Browser support We can’t get away from “it depends” but we can make decisions based on data and knowledge of our audience and constraints.

Slide 56

Slide 56

Define your Baseline Use your audience data to pick a Baseline year, or use Widely available as your Baseline.

Slide 57

Slide 57

Who will maintain the site in future? This can help you know how conservative you should be when it comes to experimental features or the use of polyfills.

Slide 58

Slide 58

Understand a feature’s path to Baseline Is it Newly available, implemented in two browsers, or a single browser implementation?

Slide 59

Slide 59

What’s the fallback? If you’ve decided to use a feature not in Baseline, what’s the experience for users who don’t have the feature.

Slide 60

Slide 60

What’s the future? If you use a polyfill, do you have a removal strategy when the feature becomes part of your Baseline? If using an experimental feature, how are you tracking potential changes to it?

Slide 61

Slide 61

Use tools to support your decisions Whether coding agents or Chrome DevTools, Browserslist or ESLint. Tools can help you stay on track.

Slide 62

Slide 62

Use Baseline and the data around it to feel more confident when using features that are not yet part of your Baseline.

Slide 63

Slide 63

Thank you