Skip to content

Browser support

u-elements is committed to provide great support for all users and technologies, including older browser versions.

Based on up-to-date statistics from caniuse.com, u-elements currently support 98.02% of all users on Chrome, Edge, Firefox, Firefox for Android, Safari, Safari on iOS, Samsung Internet, and Opera.

Minimum requirements

Browser versionRelease date
Chrome 54+October 2016
Edge 79+January 2020
Firefox 63+October 2018
Firefox for Android 130+September 2024
Safari 10.1+March 2017
Safari on iOS 10.3+March 2017
Samsung Internet 6.2+October 2017
Opera 41+October 2016

Web features in use

u-elements tracks browser support by monitoring the web features it uses. This is done by analyzing source code with JSHint and cross-referencing the identified features against MDN Browser Compatibility Data and caniuse.com usage statistics. Here are the web features used by u-elements that are not yet fully supported by all browsers:

FeatureBrowser support
HTMLLabelElement.control 98.02%
CSSStyleDeclaration.length 98.02%
CSSStyleDeclaration.item 98.02%
Window.document 98.03%
Navigator.userAgent 98.03%
Navigator.platform 98.03%
Node.ownerDocument 98.03%
Element.id 98.03%
Node.nodeName 98.03%
HTMLElement.tabIndex 98.03%
Window.focus 98.03%
Event.bubbles 98.03%
KeyboardEvent.altKey 98.03%
MouseEvent.altKey 98.03%
KeyboardEvent.ctrlKey 98.03%
MouseEvent.ctrlKey 98.03%
KeyboardEvent.metaKey 98.03%
MouseEvent.metaKey 98.03%
KeyboardEvent.shiftKey 98.03%
MouseEvent.shiftKey 98.03%
Document.activeElement 98.03%
HTMLSelectElement.selectedIndex 98.03%
Node.firstChild 98.03%
CSSStyleDeclaration.cssText 98.03%
Event.cancelable 98.03%
Window.customElements 99.24%
:host 99.25%
:host() 99.25%
ShadowRoot.mode 99.26%
Element.attachShadow 99.28%
ShadowRoot.activeElement 99.28%
Element.slot 99.28%
Node.getRootNode 99.28%
Event.composed 99.40%
Node.isConnected 99.41%
Object.entries 99.46%
Element.append 99.47%
Element.prepend 99.47%
KeyboardEvent.key 99.55%
Element.shadowRoot 99.59%
Array.from 99.73%
Array.find 99.73%
Array.includes 99.73%
Array.findIndex 99.73%
:scope 99.84%
Element.closest 99.90%
Array.of 99.90%
Number.isNaN 99.92%
Number.parseFloat 99.92%
Number.isFinite 99.92%
Object.getOwnPropertySymbols 99.92%
Element.insertAdjacentElement 99.93%
String.includes 99.93%
HTMLElement.innerText 99.94%
Element.remove 99.94%
WeakMap.get 99.95%
WeakMap.delete 99.95%
WeakMap.set 99.95%
MutationObserver.disconnect 99.96%
MutationObserver.observe 99.96%
CustomEvent.detail 99.99%
Event.defaultPrevented 99.99%
HTMLElement.dataset 99.99%
HTMLElement.click 99.99%
Object.defineProperty 99.99%
CSSStyleDeclaration.setProperty 99.99%
Node.contains 99.99%
Node.parentElement 99.99%
String.trim 99.99%
HTMLElement.hidden 99.99%
Object.getOwnPropertyDescriptor 99.99%

Released under the MIT License