[w3ctag/design-reviews] WG New Spec: Soft Navigations and Interaction Contentful Paint (Issue #1235)

mmocny created an issue (w3ctag/design-reviews#1235)

### Specification

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

### Explainer

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

### Links

- The WG's request for this TAG review: https://lists.w3.org/Archives/Public/public-web-perf/2026Jun/0005.html
- Previous early design review, if any: https://github.com/w3ctag/design-reviews/issues/879
- An introduction to the feature, aimed at unfamiliar audiences: https://github.com/WICG/soft-navigations#introduction
  - For an even more introductory doc: https://developer.chrome.com/docs/web-platform/soft-navigations
- A description of the problems that end-users were facing before this proposal: https://github.com/WICG/soft-navigations#user-facing-problem
- Alternatives considered: https://github.com/WICG/soft-navigations#alternatives-considered
- Examples of how to use the proposal to solve the end-users' problems: https://github.com/WICG/soft-navigations#solving-goal-1-observing-interaction-contentful-paints
- What do the end-users experience with this proposal: n/a, sorta.  This is performance monitoring feature that only helps users indirectly, over time, as site quality improves thanks to more insightful logs.
- User research you did to validate the problem and/or design, if any: https://github.com/WICG/soft-navigations#user-research
- Web Platform Tests:  https://github.com/web-platform-tests/wpt/tree/master/soft-navigation-heuristics


### The specification

- [x] Follows the [Web Platform Design Principles](https://www.w3.org/TR/design-principles/).
- [x] Includes Security and Privacy Considerations sections based on answers to the [Security/Privacy Questionnaire](https://www.w3.org/TR/security-privacy-questionnaire/).

### 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:
  - Chromium comments: Supportive
  - Mozilla comments: not yet filed for standards position-- will update.
  - WebKit comments: not yet filed for standards position-- will update.
  - Web Developers: Engagement via web perf Slack channels, social media, Origin Trial feedback, and direct feedback to chromium mailing lists.  Widespread excitement and demand for a solution to this problem-- latest Origin Trial feedback excessively positive.
- Major unresolved issues with or opposition to this specification: No stated opposition.
- Status/issue trackers for implementations:
  - [Chrome Status](https://chromestatus.com/feature/5144837209194496)
  - 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


-- 
Reply to this email directly or view it on GitHub:
https://github.com/w3ctag/design-reviews/issues/1235
You are receiving this because you are subscribed to this thread.

Message ID: <w3ctag/design-reviews/issues/1235@github.com>

Received on Saturday, 6 June 2026 19:08:32 UTC