Skip to content

Latest commit

 

History

History
100 lines (73 loc) · 6.5 KB

browser-support.reference.md

File metadata and controls

100 lines (73 loc) · 6.5 KB
kind title
📌 Docs/References
Browser support

Browser support reference

This project targets modern browsers.

What do we mean by modern browsers?

Our subjective definition is: current AND previous stable versions of Chrome logo Chrome, Firefox logo Firefox and Safari logo Safari.

In the real world, browsers evolve at different speeds. Many browsers are based on Chromium now, and they often land Web features early. On the other side, Safari often lands Web features last. Because of this, we maintain a more explicit list of such modern browsers and we update it every 6 months, a few months after a new Safari release gets out.

Browser Version Comments
Chrome logo Chrome >=86 Desktop & Android details
Firefox logo Firefox >=81 Desktop & Android details
Safari logo Safari >=14 macOS, iOS + WebView based browsers details
browsers based on chromium...
Brave logo Brave >=1.15 Based on Chromium 86 details
Edge logo Edge >=86 Based on Chromium 86 details
Opera logo Opera >=72 Based on Chromium 86 details
Samsung Internet logo Samsung Internet >=14 Based on Chromium 87 details
Vivaldi logo Vivaldi >=3.4 Based on Chromium 86 details

ℹ️ The above list is based on browser versions that were out when Safari 14 was released in september 2020.

What does it mean for contributors?

As a contributor of this component library, you need to make sure a given Web feature (HTML, CSS, JS, SVG, browser API...) is supported by modern browsers before using it.

When it comes to CSS features, we're not using autoprefixer yet. This could change in the future. For now, this means you really need to wait for native support in modern browsers.

When it comes to JavaScript language features, we decided not to use any transpilation provided by tools like Babel. We made this decision out of simplicity. We don't intend to change this in the future. For now, this means you really need to wait for native support in modern browsers.

When it comes to JavaScript and browser APIs than can be polyfilled, we try to wait for native support in modern browsers. In some rare situations (hello Safari), we can make an exeption and rely on a polyfill with a dependency in this project. We did this in the past with:

If you're not sure if a given feature is supported by modern browsers, you can find out on those sites:

  • Can I use? works really well for HTML, CSS, SVG and browser APIs
  • Kangax's compat table works really well for specific JavaScript features
  • MDN works well in for all features

Browser vendors also maintain platform/feature status pages:

What does it mean for users?

As a user of this component library, you can be sure it will work in modern browsers. If you need wider browser support, you will need to adapt your project configuration and toolchain.

When it comes to CSS features, we don't have a clear solution for you right now.

When it comes to JavaScript language features, you will need to configure your toolchain (bundler, transpiler...) to transform the source of our components to something that works for you context.

When it comes to JavaScript and browser APIs than can be polyfilled, you will need to choose and load the appropriate polyfills yourself before you load our components.

What features are we waiting for?

There are lots of exciting new Web features we'd like to use in this project, but we still need to wait.

Features landed in some browsers

Promising/WIP features