#1235: WG New Spec: Soft Navigations and Interaction Contentful Paint

Visit on Github

Opened Jun 6, 2026

Specification

https://wicg.github.io/soft-navigations/

Explainer

https://github.com/WICG/soft-navigations

Links

The specification

Where and by whom is the work is being done?

  • GitHub repo: https://github.com/WICG/soft-navigations
  • Primary contacts:
    • Michal Mocny (@mmocny), Google, Co-Editor (Spec and Chromium Implementation)
    • Scott Haseley (@shaseley), Google, Co-Editor (Spec and Chromium Implementation)
    • Yoav Weiss (@yoavweiss), Shopify, Former Editor and Web Perf WG Co-Chair
  • Organization/project driving the specification: Google Chrome team, Web Perf WG
  • This work is being funded by: Google
  • Primary standards group developing this feature: Web Perf WG, RUM CG, (and WICG?)
  • Incubation and standards groups that have discussed the design:
    • Web Perf WG
    • RUM CG

Feedback so far

  • Active horizontal reviews: n/a
  • Multi-stakeholder feedback:
  • Major unresolved issues with or opposition to this specification: No stated opposition.
  • Status/issue trackers for implementations:
    • Chrome Status
    • WebKit's Bugzilla (none, yet)
    • Mozilla's (none, yet)

You should also know that...

This feature has evolved over several years, and addresses a problem that has been in demand for many years before that.

The latest solution elegantly (we think!) decoupled the task of measuring InteractionContentfulPaint from the task of measuring PerformanceSoftNavigation, and carefully layered into existing foundations, making the feature more like a small incremental 'consolidation':

  • Event Timing, for defining Interactions
  • Navigation API, for unifying same document navigations concepts
  • Paint Timing, LCP, and (somewhat) the new proposed Container Timing API, for defining Contentful Paint detection

The most novel detail beyond the above is leveraging techniques which are strongly related to the nascent AsyncContext proposal. Although the above features do not literally use AsyncContext, nor do they expose any such variables to developers, the implementation does relies on internal variables that use the same mechanism.

<!-- Content below this is maintained by @w3c-tag-bot -->

Track conversations at https://tag-github-bot.w3.org/gh/w3ctag/design-reviews/1235

Discussions

Discussed Jun 29, 2026 (See Github)

Luke will join the review.

Discussed Jun 29, 2026 (See Github)

Heather: This has been open for a while, and we're trying to find another person who is qualified to look at it. So far, we've looked at is on the Pacific call and said, "no one here wants it."

Matthew: I think someone on tomorrow's call will be able to do it. Maybe Luke, Brian (or Lola, though she hasn't returned, yet)

Christian: Okay, let's try tomorrow, then.

Discussed Jul 6, 2026 (See Github)
<skip>
Discussed Jul 13, 2026 (See Github)

Skip.

Discussed Jul 20, 2026 (See Github)

Luke: Looks mostly fine. Slightly less clear than I would've liked. Still need to check navigation API integration. Want to see if it's possible to do something more concrete.

Discussed Aug 10, 2026 (See Github)

skip

Discussed Aug 17, 2026 (See Github)

Luke: Previously looked into this. I think I had a TODO which I haven’t done yet. Integration into Navigation API seemed a bit hand-wavy. This is at the edge of my expertise, is anyone else interested? Would that be "satisfied as concerns", if this is editorial instead of architectural? Implementation is there, it just could be written down better. Not sure if that makes for a concern.

Hadley: Depends on whether you think it’s bad enough to hurt the architecture of the web?

Luke: Ok, will check.

Discussed Aug 31, 2026 (See Github)

skip

Discussed Sep 21, 2026 (See Github)

Luke: I've looked at this. I'm satified as far as I understand this problem space. But i'm not sure I'm qualified enough to give an fully informed postion on it. But I'm not sure if we should just close it with satified or if other TAG members should look into it before we close it out.

Christian: do we have additional volunteers? it would be great to have someone else look at it.

🦗

Luke: it seems quite well thought out. I'm fairly confident it's ok. It was also presented at a conference rencently. There'e been no feedback from Mozilla or WebKit, but not sure if that's a problem.

Christian: generally we can just leave a comment saying that there hasn't been multiple stakeholder support.