Browser support

REALM targets current evergreen browsers: the latest versions of Chrome, Edge, Firefox and Safari. There is no build step that could down-level the runtime, and there is no legacy fallback.

Every runtime test runs in Chromium, Firefox and WebKit through Playwright, and the site's example apps are tested end to end in all three.

Minimum versions

The oldest versions that have every platform feature REALM uses:

Browser Version
Chrome and Edge 125
Firefox 126
Safari (macOS and iOS) 17.4

The limiting feature is CustomStateSet with the :state() selector, which REALM uses for reactive CSS and loading states.

Platform features used

Feature Used for
Custom elements and shadow DOM Every component
Constructable stylesheets (adoptedStyleSheets) Component styles, shared per type
ElementInternals, CustomStateSet and :state() Roles, form association, reactive CSS states, :state(loading)
Form-associated custom elements form-associated components
delegatesFocus delegates-focus components
Proxy, WeakMap, microtasks Reactivity
AbortController and AbortSignal Cleanup and request cancellation
DOMParser Loading component files and sanitising HTML
IntersectionObserver trigger="visible"
ES2023 (findLast, toReversed) and URL.canParse Runtime code and URL props

Polyfilled or emulated

REALM UI also uses the Popover API and <dialog>, both available in the versions above.

Not supported

Edit this page on GitHub · View as Markdown