LoAF script invokers on React sites
Among sites recording Long Animation Frames, 59.8% (3,490) trigger long frames from DOM event listeners (95% good INP, 79ms median), 44.3% from classic script evaluation (94% good INP), and 18.8% from timer/rAF callbacks (96% good INP).
18.8% of React sites use timer and rAF callbacks Long Animation Frame (LoAF) script invoker type, and 96% of those sites have a good INP, against 95% of all React sites.
INP pass rate
Sites with timer and rAF callbacks Long Animation Frame (LoAF) script invoker type have a good INP most often: 96%, against 95% of all React sites. Sites with classic script evaluation LoAF invokers have it least often, at 94%.
Long Animation Frame (LoAF) script invoker type usage
DOM event listeners is the most used: 59.8% of React sites. Timer and rAF callbacks is 18.8% of React sites.
Long Animation Frame (LoAF) script invoker type per platform
On Wix, 74% of sites use DOM event listeners Long Animation Frame (LoAF) script invoker type, and 97% of Wix sites have a good INP, against 95% of all sites. On WordPress, 43% of sites use timer and rAF callbacks, and 98% of WordPress sites have a good INP.
LoAF script invoker or the platform
Does the platform explain the Long Animation Frame (LoAF) script invoker type difference?
On Wix, 96% of sites with timer and rAF callbacks Long Animation Frame (LoAF) script invoker type have a good INP, against 98% of Wix sites with DOM event listeners. Within Wix, sites with timer and rAF callbacks and DOM event listeners have a good INP about equally often. On WordPress, 98% of sites with timer and rAF callbacks Long Animation Frame (LoAF) script invoker type have a good INP, against 98% of WordPress sites with DOM event listeners. Within WordPress, sites with timer and rAF callbacks and DOM event listeners have a good INP about equally often.
What triggers main-thread Long Animation Frames during load and interaction
The Long Animation Frames API (LoAF) attributes every frame over 50ms to the exact invoker that started the script task. Across 3,490 sites (59.8% of LoAF sites), DOM event listeners trigger long frames (95% good INP, 79ms median). Classic script evaluation accounts for 44.3% (94% good INP) and timer/rAF user-callbacks account for 18.8% (96% good INP), while heavy module-script evaluation (0.3%) and unbatched Promise microtasks (0.8%) drop to 94% and 88% good INP.
Understanding Long Animation Frame script invokers
Update visual UI state first inside click/keydown event listeners, then yield via scheduler.yield() before running analytics, storage writes, or non-critical Promise chains. Across all sites with Long Animation Frames, 59.8% trigger long frames in event listeners (95% good INP) and 0.8% in Promise microtasks (88% good INP).
By Arjen Karel · 9,570 crawled React sites (9,110 with all devices Chrome field data, 5,840 sites with Long Animation Frame (LoAF) script invoker type, October 2026). How we measured.