v156 · :navigation-source · link feedback

Loading links

Click a section below. The navigation is intercepted with the Navigation API and deliberately takes 1.2 seconds — long enough to see the in-flight state on the link you clicked. On Chrome 156 that state is pure CSS: a:navigation-source matches the clicked link for the course of the navigation. Elsewhere, the labelled amber fallback shows the classname pattern the selector replaces.

Navigate somewhere slow

Home

Pick a destination above. While the navigation is in flight, the source link gets a ring and spinner — green solid when the native selector did it, amber dashed when the labelled JS fallback did.

mechanism: none yet

Navigation log

  1. No navigations yet.

The rule

/* The whole loading-indicator implementation on Chrome 156: */
.rail a:navigation-source { border-color: green; }
.rail a:navigation-source::after { animation: spin 0.7s linear infinite; }

The spec ties matching to the current navigation state: the link matches from the moment its navigation starts until the navigation settles, then stops matching — no cleanup code. The parse lab measures that window with a sampler.

see also