# interactive web experiences

Web-development experiences whose interfaces respond to user actions or other browser events.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## What is popover=hint?

DevFeed: [What is popover=hint?](<https://devfeed.tech/articles/what-is-popover-hint-28828.md>)

Original publisher: [Read original article](<https://una.im/popover-hint/>)

Published: 2025-07-07T00:00:00Z

Content type: article

Language: en

Sources: [Una Kravets](<https://devfeed.tech/sources/una-kravets.md>)

Topics: [HTML](<https://devfeed.tech/topics/html.md>), [Web platform](<https://devfeed.tech/topics/web-platform.md>), [web-standards](<https://devfeed.tech/topics/web-standards.md>), [interactive web experiences](<https://devfeed.tech/topics/interactive-web-experiences.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [ui](<https://devfeed.tech/topics/ui.md>)

Tags: [feature](<https://devfeed.tech/tags/feature.md>), [html](<https://devfeed.tech/tags/html.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [learn](<https://devfeed.tech/tags/learn.md>), [ui](<https://devfeed.tech/tags/ui.md>), [web](<https://devfeed.tech/tags/web.md>)

### AI overview

This article explains the popover=hint type introduced in Chrome 133. It describes how hint popovers can appear without closing unrelated popovers, including hover-based examples such as tooltips, link previews, profile cards, and comment previews. It also discusses JavaScript event listeners and experimental interest invokers for more declarative behavior.

### Source excerpt

Learn about what exactly this new popover feature does and how it relates to interest invokers.

## Unlocking view transitions in SvelteKit 1.24

DevFeed: [Unlocking view transitions in SvelteKit 1.24](<https://devfeed.tech/articles/unlocking-view-transitions-in-sveltekit-1-24-3054.md>)

Original publisher: [Read original article](<https://svelte.dev/blog/view-transitions>)

Author: Geoff Rich

Published: 2023-08-31T00:00:00Z

Content type: tutorial

Language: en

Sources: [Svelte blog](<https://devfeed.tech/sources/svelte-blog.md>)

Topics: [Web Development](<https://devfeed.tech/topics/web-development.md>), [interactive web experiences](<https://devfeed.tech/topics/interactive-web-experiences.md>), [web applications](<https://devfeed.tech/topics/web-applications.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [browser](<https://devfeed.tech/tags/browser.md>), [chrome](<https://devfeed.tech/tags/chrome.md>), [chromium](<https://devfeed.tech/tags/chromium.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [integration](<https://devfeed.tech/tags/integration.md>), [view-transitions](<https://devfeed.tech/tags/view-transitions.md>), [web-development](<https://devfeed.tech/tags/web-development.md>)

### AI overview

A tutorial on integrating the browser View Transitions API with SvelteKit 1.24 using the new navigation lifecycle hook. It explains how transitions animate DOM updates and how to provide a non-animated fallback in unsupported browsers.

### Source excerpt

The view transitions API has been sweeping the web development world lately, and for good reason. It streamlines the process of animating between two page states, which is especially useful for page transitions. However, until now, you couldn't easily use this API in a SvelteKit app, since it was difficult to slot into the right place in the navigation lifecycle. SvelteKit 1.24 brought a new onNavigate lifecycle hook to make view transitions integration much easier - let's dive in. How view transitions work You can trigger a view transition by calling document.startViewTransition and passing a callback that updates the DOM somehow. For our purposes today, SvelteKit will update the DOM as the user navigates. Once the callback finishes, the browser will transition to the new page state -- by default, it does a crossfade between the old and the new states. var document: Document window.document returns a reference to the document contained in the window. MDN Reference document.Document.startViewTransition(callbackOptions?: ViewTransitionUpdateCallback | StartViewTransitionOptions): ViewTransition The startViewTransition() method of the Document interface starts a new same-document (SPA) view transition and returns a ViewTransition object to represent it. MDN Reference startViewTransition(async () => { await const domUpdate: () => Promise<void>domUpdate(); // mock function for demonstration purposes }); Behind the scenes, the browser does something really clever. When the transition starts, it captures the current state of the page and takes a screenshot. It then holds that screenshot in place while the DOM is updating. Once the DOM has finished updating, it captures the new state, and animates between the two states. While it's only implemented in Chrome (and other Chromium-based browsers) for now, WebKit is also in favor of it. Even if you're on an unsupported browser, it's a perfect candidate for progressive enhancement since we can always fall back to a non-animated

## Bringing the power of our open platform to FigJam

DevFeed: [Bringing the power of our open platform to FigJam](<https://devfeed.tech/articles/bringing-the-power-of-our-open-platform-to-figjam-9547.md>)

Original publisher: [Read original article](<https://www.figma.com/blog/bringing-the-power-of-our-open-platform-to-figjam/>)

Author: Bersabel Tadesse

Published: 2021-08-24T00:00:00Z

Content type: release

Language: en

Sources: [Figma Blog](<https://devfeed.tech/sources/figma-blog.md>)

Topics: [Figma](<https://devfeed.tech/topics/figma.md>), [API](<https://devfeed.tech/topics/api.md>), [React](<https://devfeed.tech/topics/react.md>), [interactive web experiences](<https://devfeed.tech/topics/interactive-web-experiences.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [building](<https://devfeed.tech/tags/building.md>), [community](<https://devfeed.tech/tags/community.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [figma](<https://devfeed.tech/tags/figma.md>), [open](<https://devfeed.tech/tags/open.md>), [platform](<https://devfeed.tech/tags/platform.md>), [plugins](<https://devfeed.tech/tags/plugins.md>), [react](<https://devfeed.tech/tags/react.md>), [use-cases](<https://devfeed.tech/tags/use-cases.md>), [workflows](<https://devfeed.tech/tags/workflows.md>)

### AI overview

Figma is opening its platform to builders by bringing plugins and widgets to FigJam. The announcement describes a widget API for collaborative and interactive experiences, including voting, polls, and on-canvas games, with a React-modeled component system and event listeners for user interactions.

### Source excerpt

We are opening up our platform and inviting all builders to create the first plugins and widgets for FigJam.

## Over-delegating JavaScript events

DevFeed: [Over-delegating JavaScript events](<https://devfeed.tech/articles/over-delegating-javascript-events-32305.md>)

Original publisher: [Read original article](<https://jack.ofspades.com/over-delegating-javascript-events/>)

Author: Jack Tarantino

Published: 2016-01-27T03:33:40Z

Content type: tutorial

Language: en

Sources: [Jacopo Tarantino](<https://devfeed.tech/sources/jacopo-tarantino.md>)

Topics: [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>), [interactive web experiences](<https://devfeed.tech/topics/interactive-web-experiences.md>)

Tags: [best-practices](<https://devfeed.tech/tags/best-practices.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [overhead](<https://devfeed.tech/tags/overhead.md>), [scope](<https://devfeed.tech/tags/scope.md>), [triggers](<https://devfeed.tech/tags/triggers.md>)

### AI overview

The article explains that JavaScript event delegation is useful for handling events from many nodes with one listener, but delegating too high in the DOM can run unnecessary callbacks and allow events to affect unrelated components. It recommends scoping listeners to the nearest appropriate parent and stopping further propagation to reduce unintended behavior and overhead.

### Source excerpt

Delegating event listeners in JavaScript is generally a good practice. It allows us to create only one event listener for events that might be triggered on a variety of nodes and across multiple contexts. If we're just looking to listen for any given click on a page it would be

## Events with Google Analytics and Tricking Pageviews

DevFeed: [Events with Google Analytics and Tricking Pageviews](<https://devfeed.tech/articles/events-with-google-analytics-and-tricking-pageviews-41087.md>)

Original publisher: [Read original article](<https://www.craigkerstiens.com/2011/02/02/Events-with-Google-Analytics-and-Tricking-Pageviews/>)

Author: Map

Published: 2011-02-03T00:28:56Z

Content type: tutorial

Language: en

Sources: [Craig Kerstiens](<https://devfeed.tech/sources/craig-kerstiens.md>)

Topics: [Google Analytics](<https://devfeed.tech/topics/google-analytics.md>), [Google](<https://devfeed.tech/topics/google.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [interactive web experiences](<https://devfeed.tech/topics/interactive-web-experiences.md>)

Tags: [analytics](<https://devfeed.tech/tags/analytics.md>), [google](<https://devfeed.tech/tags/google.md>), [google-analytics](<https://devfeed.tech/tags/google-analytics.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [tracking](<https://devfeed.tech/tags/tracking.md>)

### AI overview

This tutorial explains how to use Google Analytics event tracking to record JavaScript interactions and numeric values, and how to simulate pageviews with the _trackPageview command.

### Source excerpt

Google analytics is great out of the box, the basic tracking tag on every page will do a lot for you. Unfortunately most people never get beyond this. There are two key items with tracking that you can do that will let you get a bit further. There's also plenty more on the reporting side, but we'll get to some of that later. On the tracking side the first item is event tracking. This is perhaps most commonly used for tracking various Javascript events that occur during a visit, however it can also be a bit more flexible towards tracking values. A very simple example might be: Or a real life example of this, might be on a FAQ screen, clicking the link to an anchored section of the page: But events by their sheer nature give a bit more flexibility with that value field. In the case of a user sending a message you might be able to track how many recipients it has, or any other numeric value you want to track. Events overall are great, but you're limited to the set Google Analytics report to know whats happening with them. So much of Google Analytics is based around page views, fortunately Google makes it easy to entirely fake a page view. If you're wondering why you'd care whether it's a page view versus events, we'll get to that in a later post. For now what's important to know is that you can fake any page view with: _gaq.push(['_trackPageview', '/somepagenamehere]); While seemingly small tweaks and extra additions these two items will create massive value for what you can actually do with Google Analytics. Stayed tuned later for how you use these with the base Google Analytics to actually get the value.