Report: Discussion on the New Popover API on Hacker News

The discussion on the new Popover API introduced by Chrome revolves around various aspects, including functionality, usability, and the impact on the user experience.

  1. Introduction of the Popover API: The new Popover API is seen by some as a reinvention of native popups, which were successfully blocked a decade and a half ago. There's a concern that new blockers will need to be developed to handle these popovers, which could potentially be used for intrusive advertising or annoying prompts like "subscribe to my newsletter" or "5% off now" popovers
  2. Blocking the Popovers: Some participants argue that the new Popover API could actually make blocking easier. For instance, a uBlock Origin rule could be used to block any HTML element with a 'popover' attribute, which is clearly indicated in the markup. Therefore, instead of figuring out a specific way to block a popover on a site, it can be done per-site or everywhere. It's also suggested that because of how easy they are to block, ad displayers may avoid using them
  3. Differences from Popups: The Popover API is not the same as the old popup windows. For example, clicking on the main window did not close a popup window, but instead backgrounded it. The new popup implementation is akin to what is possible with CSS. However, browsers can now sensibly position these to flow away from the edge of the screen when the containing element is at the edge of the viewport, something that previously required JavaScript
  4. Potential Impact on Modals: The new Popover API could potentially replace the libraries used to create modals, reducing their complexity. However, there is a fear that people will start blocking all 'popover' elements, which could spoil this for everyone. While modals are often necessary for accessibility in certain contexts, like filling out a form, they're not always the best experience for screen reader users. A full page that only contains the form could be a better alternative
  5. Compatibility and Mainstream Acceptance: The Popover API is currently Chrome-only, which means that it won't become mainstream unless other browsers, like Safari, implement it. However, Safari has included it in its Technology Preview
  6. User Experience: The Popover API could solve common issues like popups being dismissed when text is selected with the mouse, and the pointer strays slightly outside the popup before the mouse button is released. However, it could also complicate things for certain demographics, like the elderly, who may struggle with navigating between tabs and using the back button
  7. User Control and Personalization: The Popover API could allow user-extensions to modify the user experience at the user's pleasure, like sending toast messages to some other side channel, or hiding them altogether. However, the use of modals, which the Popover API could replace, is viewed by some as a sign of weakness, simplifying complex situations to make UI design easier, but not necessarily better

I lead the Chrome Developer Relations team at Google.

We want people to have the best experience possible on the web without having to install a native app or produce content in a walled garden.

Our team tries to make it easier for developers to build on the web by supporting every Chrome release, creating great content to support developers on web.dev, contributing to MDN, helping to improve browser compatibility, and some of the best developer tools like Lighthouse, Workbox, Squoosh to name just a few.