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 99.89% of all users on Chrome, Edge, Firefox, Firefox for Android, Opera, Safari, Safari on iOS, and Samsung Internet.
Minimum requirements
| Browser version | Release date |
|---|---|
| Chrome 54+ | October 2016 |
| Edge 79+ | January 2020 |
| Firefox 63+ | October 2018 |
| Firefox for Android 147+ | January 2026 |
| Opera 41+ | October 2016 |
| Safari 10.1+ | March 2017 |
| Safari on iOS 10.3+ | March 2017 |
| Samsung Internet 6.2+ | October 2017 |
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:
| Feature | Browser support |
|---|---|
| Element.attachShadow | 99.89% |
| ShadowRoot.mode | 99.89% |
| Node.getRootNode | 99.89% |
| ShadowRoot.activeElement | 99.89% |
| Window.customElements | 99.89% |
| Element.slot | 99.89% |
| :host | 99.89% |
| :host() | 99.89% |
Content Security Policy (CSP)
u-elements uses constructable stylesheets to inject styles. If the browser does not support constructable stylesheets (iOS 16.3 and older), u-elements will fall back to instead inject an inline <style> element. Be aware that if you enforce a strict Content Security Policy that blocks the style-src-elem directive, these inline <style> elements will be blocked as well and thus cause styling issues for users on iOS 16.3 and older.