v135 · dom

Interest Invokers (the `interestfor` attribute)

This feature adds an `interestfor` attribute to <button> and <a> elements. This attribute adds "interest" behaviors to the element, such that when the user "shows interest" in the element, actions are triggered on the target element, such as showing a popover. The user agent will handle detecting when the user "shows interest" in the element, via methods suc

concepts

  1. Hover, focus, long-press → invoke

    The raw attribute on a single link. Hover, Tab, or long-press the underlined word and a popover appears with no script wiring.

  2. Wikipedia-style glossary tooltips

    The canonical Open UI use case — a long article with several inline terms, each backed by its own definition popover. One attribute per term, no aria-describedby dance.

  3. Keyboard and hover trace

    A live event log compares how interestfor behaves across hover, focus, and long-press — with the 500ms grace window visible between interest and loseinterest events.

  4. API Docs Tooltips

    A fake API reference page where each method has a interestfor info button. Hover or focus to show the popover — zero JavaScript needed on Chrome 135. Falls back to JS hover/focus listeners.

  5. Nav preview cards

    A site navigation where hovering or focusing any nav link reveals a rich preview card for that section — powered entirely by interestfor. No mouseenter/mouseleave wiring, no focus/blur listeners. The interest and loseinterest events are logged live so you can compare hover, keyboard tab, and long-press delivery.

why it shipped

The `popover=hint` feature (https://chromestatus.com/feature/5073251081912320, shipped in M133) provides "half" of the features needed to build declarative tooltips, hovercards, and menus. The missing piece is the invocation of those UX elements on hover, keyboard activation, or long-press. This feature fills that gap.

references