web-platform-tests / web-platform-tests/interop

Long Animation Frames API

Open
#1,372 2 comments 24 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

focus-area-proposal
Dominant language
JavaScript
Stars
524
Forks
35
Avg merge
1d 4h
Merged PRs (30d)
10

Description

Description

The Long Animation Frames API (aka LoAF) defines a mechanism for pages to observe “long animation frames” (animation or rendering updates delayed beyond ~50 ms) that block rendering or user input.

It offers more granular insights than the Long Tasks API by including render timing, attribution of scripts, and breakdowns of style/layout/rendering phases.

The proposal covers the API surface (PerformanceLongAnimationFrameTiming etc.), buffer and observer semantics, script attribution, thresholds, visibility considerations, and interactions with the INP (Interaction to Next Paint) metric.

Out of scope are non-frame-based metrics (e.g. purely non-visual JS long tasks), or vendor-specific profiling beyond what the spec defines.

Specification

https://w3c.github.io/long-animation-frames/

web-feature

https://web-platform-dx.github.io/web-features-explorer/features/long-animation-frames/

Test Links

https://wpt.fyi/results/long-animation-frame

Additional Signals
  • Standards Status: The specification was published as a W3C First Public Working Draft on April 28, 2026, and continues to be developed in the Editor's Draft.

  • Browser Support / Current State:
    • Chromium-based browsers support the API, with Chrome, Chrome for Android, and Edge shipping support starting in version 123.
    • Firefox does not currently support the API, but Mozilla has expressed a positive standards position. An implementation issue remains open.
    • Safari and Safari on iOS do not currently support the API. WebKit's standards-position issue remains open.

  • Developer Adoption / Ecosystem Usage:
    • Tools / SDKs like Sentry have added support for this API.
    • DebugBear, SpeedCurve, RUMvision and other performance monitoring services write about using LoAF to identify blocking scripts, layout/style costs etc.

  • Workaround / Site Breakage Risk:
    • Sites relying on Long Tasks for diagnosis may need to migrate or integrate LoAF as well to obtain rendering-phase visibility.
    • There may be missing visibility / attribution in certain cross-origin / worker / extension contexts. Chrome for Developers

  • Likely Compatibility Impact:
    • The API is additive, you can feature-detect (PerformanceObserver.supportedEntryTypes.includes('long-animation-frame')) so sites only use it in capable browsers. Chrome for Developers
    • Some behavior around attribution, buffer sizes, thresholds, cross-origin scripts, visibility etc. may differ or need convergence.

  • Platform / Developer Impact:
    • Helps developers better diagnose responsiveness and smoothness issues, particularly for interactions (including INP)
    • Enables performance tools like RUM providers to give more actionable data.
    • Helps alert site owners as well as third-party providers to emerging performance problems, making it easier to detect and improve issues (for example with CMPs, session replay tools)
    • Potential to reduce site-level latency and improve user experience by guiding optimizations (script splitting, deferring non-critical work, reducing layout/style cost, etc.)

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the linked Long Animation Frames specification and review the web-feature entry and WPT results for existing coverage. The issue does not name files, tests, or a concrete change, so the scope and completion criteria would need to be established before implementation.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
testing, web-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.