LoAF script invokers on React sites
Among sites recording Long Animation Frames, 59.8% (3,490) trigger long frames from DOM event listeners (99% good INP, 47ms median), 44.3% from classic script evaluation (98% good INP), and 18.8% from timer/rAF callbacks (99% good INP).
59.8% of React sites use DOM event listeners Long Animation Frame (LoAF) script invoker type, and 99% of those sites have a good INP, against 99% of all React sites.
INP pass rate
Sites with DOM event listeners Long Animation Frame (LoAF) script invoker type have a good INP most often: 99%, against 99% of all React sites. Sites with classic script evaluation LoAF invokers have it least often, at 98%.
Long Animation Frame (LoAF) script invoker type usage
DOM event listeners is the most used: 59.8% of React sites.
Long Animation Frame (LoAF) script invoker type per platform
Wix sets the Long Animation Frame (LoAF) script invoker type to DOM event listeners on 74% of its sites, and 100% of Wix sites have a good INP, against 99% of all sites.
LoAF script invoker or the platform
Does the platform explain the Long Animation Frame (LoAF) script invoker type difference?
On Wix, 100% of sites with DOM event listeners Long Animation Frame (LoAF) script invoker type have a good INP, against 99% of Wix sites with classic script evaluation. Within Wix, sites with DOM event listeners and classic script evaluation have a good INP about equally often. On WordPress, 100% of sites with DOM event listeners Long Animation Frame (LoAF) script invoker type have a good INP, against 99% of WordPress sites with classic script evaluation. Within WordPress, sites with DOM event listeners and classic script evaluation 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 (99% good INP, 47ms median). Classic script evaluation accounts for 44.3% (98% good INP) and timer/rAF user-callbacks account for 18.8% (99% good INP), while heavy module-script evaluation (0.3%) and unbatched Promise microtasks (0.8%) drop to 100% and 100% 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 (99% good INP) and 0.8% in Promise microtasks (100% good INP).
By Arjen Karel · 9,570 crawled React sites (1,979 with desktop Chrome field data, 5,840 sites with Long Animation Frame (LoAF) script invoker type, October 2026). How we measured.