Skip to content

Browser support

awesome-reveal is built on two web APIs: Intersection Observer and Web Animations. Both are Baseline Widely available: they have worked in all the Baseline browsers for at least 2.5 years.

The packages also support older browsers: Chrome 84, Firefox 75 (79 on Android) and Safari 13.1, or later. These versions support the Web Animations API with implicit keyframes.

In browsers without a necessary API, the content still shows:

  • Without IntersectionObserver, elements are revealed immediately.
  • Without Element.animate, elements appear with no animation.
  • When element.animate throws, the element appears with no animation. For example, browsers without CSS linear() throw on a spring() easing that the server created. A property value that the browser does not support does not throw: the browser ignores it.

If the browser rejects an option, such as an invalid rootMargin, the element shows at once. The error is reported once for each message, and it reaches window.onerror: it does not throw in your code.

The built-in keyframes end with an empty keyframe ({}). The browser fills it with the current style of the element. MDN marks the support of Safari for these implicit keyframes as partial. If a custom animation looks wrong in Safari, give explicit values to each keyframe.