This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The sources read-only property of the LayoutShift interface returns an array of LayoutShiftAttribution objects that indicate the DOM elements that moved during the layout shift.
An Array of LayoutShiftAttribution objects. This array will not contain more than five sources. If there are more than five elements impacted by the layout shift, the five most impactful elements are reported.
const observer = new PerformanceObserver((list) => {
list.getEntries().forEach((entry) => {
entry.sources.forEach((source) => {
console.log(source);
});
});
});
observer.observe({ type: "layout-shift", buffered: true });
| Specification |
|---|
| Layout Instability API> # dom-layoutshift-sources> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
sources |
84 | 84 | No | 70 | No | 84 | No | 60 | No | 14.0 | 84 | No |
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/LayoutShift/sources