WordPress Long Animation Frame (LoAF) script invokers and the Core Web Vitals
Among sites recording Long Animation Frames, 36.1% (12,267) trigger long frames from DOM event listeners (99% good INP, 49ms median), 38.6% from classic script evaluation (100% good INP), and 40.7% from timer/rAF callbacks (100% good INP).
38.6% of WordPress sites use classic script evaluation Long Animation Frame (LoAF) script invoker type, and 100% of those sites have a good INP, against 100% of all WordPress sites.
INP pass rate
Sites with classic script evaluation Long Animation Frame (LoAF) script invoker type have a good INP most often: 100%, against 100% of all WordPress sites. Sites with DOM event listeners LoAF invokers have it least often, at 99%.
Long Animation Frame (LoAF) script invoker type usage
Timer and rAF callbacks is the most used: 40.7% of WordPress sites. Classic script evaluation is 38.6% of WordPress sites.
Long Animation Frame (LoAF) script invoker type per framework
On jQuery, 41% of sites use timer and rAF callbacks Long Animation Frame (LoAF) script invoker type, and 100% of jQuery sites have a good INP, against 100% of all sites. On Vue, 48% of sites use timer and rAF callbacks, and 99% of Vue sites have a good INP.
LoAF script invoker or the framework
Does the framework explain the Long Animation Frame (LoAF) script invoker type difference?
On jQuery, 100% of sites with classic script evaluation Long Animation Frame (LoAF) script invoker type have a good INP, against 100% of jQuery sites with timer and rAF callbacks. Within jQuery, sites with classic script evaluation and timer and rAF callbacks have a good INP about equally often. On Vue, 100% of sites with classic script evaluation Long Animation Frame (LoAF) script invoker type have a good INP, against 100% of Vue sites with timer and rAF callbacks. Within Vue, sites with classic script evaluation and timer and rAF callbacks 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 12,267 sites (36.1% of LoAF sites), DOM event listeners trigger long frames (99% good INP, 49ms median). Classic script evaluation accounts for 38.6% (100% good INP) and timer/rAF user-callbacks account for 40.7% (100% good INP), while heavy module-script evaluation (0.5%) and unbatched Promise microtasks (0.5%) drop to 100% and 98% 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, 36.1% trigger long frames in event listeners (99% good INP) and 0.5% in Promise microtasks (98% good INP).
By Arjen Karel · 63,295 crawled WordPress sites (17,005 with desktop Chrome field data, 34,005 sites with Long Animation Frame (LoAF) script invoker type, October 2026). How we measured.