Skip to content

Browser Support

Supported browsers

askable-ui targets modern evergreen browsers:

BrowserMinimum version
Chrome / Chromium80+
Firefox78+
Safari / WebKit14+
Edge (Chromium)80+

Mobile browsers (Chrome for Android, Safari iOS) follow the same policy. IE11 and legacy Edge (EdgeHTML) are not supported.

Browser API dependencies

askable-ui relies on the following browser APIs:

APIUsed forFallback
MutationObserverDetecting dynamically added/removed [data-askable] elementsNo-op — observe() does nothing if unavailable
addEventListenerClick, hover, and focus event listenersNo-op
Element.closest()Nested element resolutionNot polyfilled
Element.contains()Containment checks for nested strategyNot polyfilled

If window, document, or MutationObserver are not present (SSR, Node.js, old browsers), observe() exits immediately without attaching any listeners. Context creation, serialization, and select() are always safe.

Node.js / SSR

All packages are safe to import and render in Node.js. See SSR Safety for the full server/client boundary documentation.

Polyfills

askable-ui does not ship or require polyfills. If you need to support older browsers:

  • MutationObserver — widely supported since 2013; no polyfill needed for any realistic target
  • Element.closest() — available everywhere; if you target very old Safari, add the standard MDN polyfill

Testing targets

CI runs tests in Node.js + jsdom (unit). Browser-level integration tests (Playwright) are tracked in #16.

Released under the MIT License.