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 (98% good INP, 87ms median), 38.6% from classic script evaluation (98% good INP), and 40.7% from timer/rAF callbacks (98% good INP).

Field data PhoneDesktopAll Scope All sites October 2026 edition · All devices field outcomes · WordPress sites only
WordPress Scoped to 63,295 sites out of 203,892 analyzed (cms) Compare with all sites →

0.5% of WordPress sites use Promise resolution microtasks Long Animation Frame (LoAF) script invoker type, and 99% of those sites have a good INP, against 98% of all WordPress sites.

The State of Web Vitals · October 2026 · WordPress: 63,295 crawled sites · 60,855 with all devices field data · 34,005 sites with Long Animation Frame (LoAF) script invoker typeBy Arjen Karel · corewebvitals.io/state-of-cwv
1

INP pass rate

Sites with Promise resolution microtasks Long Animation Frame (LoAF) script invoker type have a good INP most often: 99%, against 98% of all WordPress sites. Sites with ES module evaluation LoAF invokers have it least often, at 98%.

SitesGood, needs improvement, poor INPMedian
All WordPress sites60,85598%86ms
Promise microtask resolution (then / async-await) 0.5%15599%93ms
Classic <script> evaluation 38.6%12,61298%87ms
Timer / rAF callback (setTimeout / requestAnimationFrame) 40.7%13,39798%90ms
DOM event listener (click / scroll / input) 36.1%11,82798%87ms
ES module <script type="module"> evaluation 0.5%15198%103ms
GoodNeeds improvementPoorSites: with Chrome field data
The State of Web Vitals · October 2026 · WordPress: 63,295 crawled sites · 60,855 with all devices field data · 34,005 sites with Long Animation Frame (LoAF) script invoker typeBy Arjen Karel · corewebvitals.io/state-of-cwv
2

Long Animation Frame (LoAF) script invoker type usage

Timer and rAF callbacks is the most used: 40.7% of WordPress sites. Promise resolution microtasks is 0.5% of WordPress sites.

Sites using each option (sites can use more than one) 34,005 sites
Timer / rAF callback (setTimeout / requestAnimationFrame) 40.7% Classic <script> evaluation 38.6% DOM event listener (click / scroll / input) 36.1%
Timer / rAF callback (setTimeout / requestAnimationFrame) 40.7% Classic <script> evaluation 38.6% DOM event listener (click / scroll / input) 36.1% Promise microtask resolution (then / async-await) 0.5% ES module <script type="module"> evaluation 0.5%
The State of Web Vitals · October 2026 · WordPress: 63,295 crawled sites · 60,855 with all devices field data · 34,005 sites with Long Animation Frame (LoAF) script invoker typeBy Arjen Karel · corewebvitals.io/state-of-cwv
3

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 98% of jQuery sites have a good INP, against 98% of all sites. On Vue, 48% of sites use timer and rAF callbacks, and 97% of Vue sites have a good INP.

FrameworkLong Animation Frame (LoAF) script invoker type on its sitesGood INP
WordPress sites with Long Animation Frame (LoAF) script invoker type 34,005 sitesTimer / rAF callback (setTimeout / requestAnimationFrame) 41%Classic <script> evaluation 39%DOM event listener (click / scroll / input) 36%98%
React 1,334 sitesTimer / rAF callback (setTimeout / requestAnimationFrame) 43%Classic <script> evaluation 38%DOM event listener (click / scroll / input) 35%98%
jQuery 32,959 sitesTimer / rAF callback (setTimeout / requestAnimationFrame) 41%Classic <script> evaluation 39%DOM event listener (click / scroll / input) 36%98%
Vue 2,694 sitesTimer / rAF callback (setTimeout / requestAnimationFrame) 48%DOM event listener (click / scroll / input) 33%Classic <script> evaluation 30%97%
Timer / rAF callback (setTimeout / requestAnimationFrame) Classic <script> evaluation DOM event listener (click / scroll / input) Promise microtask resolution (then / async-await) ES module <script type="module"> evaluation
The State of Web Vitals · October 2026 · WordPress: 63,295 crawled sites · 60,855 with all devices field data · 34,005 sites with Long Animation Frame (LoAF) script invoker typeBy Arjen Karel · corewebvitals.io/state-of-cwv
4

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 Promise resolution microtasks Long Animation Frame (LoAF) script invoker type have a good INP, against 98% of jQuery sites with timer and rAF callbacks. Within jQuery, sites with Promise resolution microtasks and timer and rAF callbacks have a good INP about equally often. On Vue, 97% of sites with timer and rAF callbacks Long Animation Frame (LoAF) script invoker type have a good INP, against 98% of Vue sites with classic script evaluation. Within Vue, sites with timer and rAF callbacks 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 12,267 sites (36.1% of LoAF sites), DOM event listeners trigger long frames (98% good INP, 87ms median). Classic script evaluation accounts for 38.6% (98% good INP) and timer/rAF user-callbacks account for 40.7% (98% good INP), while heavy module-script evaluation (0.5%) and unbatched Promise microtasks (0.5%) drop to 98% and 99% good INP.

The State of Web Vitals · October 2026 · WordPress: 63,295 crawled sites · 60,855 with all devices field data · 34,005 sites with Long Animation Frame (LoAF) script invoker typeBy Arjen Karel · corewebvitals.io/state-of-cwv
5

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 (98% good INP) and 0.5% in Promise microtasks (99% good INP).

The State of Web Vitals · October 2026 · WordPress: 63,295 crawled sites · 60,855 with all devices field data · 34,005 sites with Long Animation Frame (LoAF) script invoker typeBy Arjen Karel · corewebvitals.io/state-of-cwv
Related signals INP phase breakdown → Yielding strategy → Blocking frame breakdown → Scheduling API use → By Arjen Karel · 63,295 crawled WordPress sites (60,855 with all devices Chrome field data, 34,005 sites with Long Animation Frame (LoAF) script invoker type, October 2026) · How we measured