Can you finally build menus in Webflow without messy JavaScript?
For years I built tooltips and small menus in Webflow with custom JavaScript or stacked interactions. It worked, but it was fragile. One client update would break a dropdown, and I would spend an hour hunting for the cause. I kept wishing the browser would just handle this for me.
In 2026, it finally does. The Popover API lets you build pop up menus, tooltips, and small panels with plain HTML and a little CSS. The browser handles opening, closing, and stacking. According to web.dev, the Popover API became Baseline Newly available on January 27, 2025.
In this article I will explain what the Popover API is, whether it is safe to use across browsers now, how it differs from Webflow dropdowns and the dialog element, and how to ship your first popover. I will be honest about where it still falls short.
What is the Popover API and why does it matter in 2026?
The Popover API is a built in browser feature for showing and hiding content that floats above the page. Think menus, tooltips, hint boxes, and small action panels. You mark an element as a popover and connect a button to it, and the browser does the rest.
This matters because it removes a whole pile of custom code. The browser gives you light dismiss, which closes the popover when you click outside. It also handles the top layer, so your popover always sits above other content without z-index battles.
For Webflow builders, that means fewer scripts to maintain and fewer things to break. Less JavaScript also helps speed. With 43 percent of sites still failing the INP responsiveness threshold, per CrUX data from early 2026, cutting heavy scripts is a real win.
Is the Popover API safe to use across browsers now?
Yes, it is safe for most sites in 2026. The Popover API reached Baseline Widely available in April 2025, which means it works across Chrome, Edge, Firefox, and Safari with stable support.
The road there was bumpy. Firefox shipped its version in April 2024, but Safari on iOS and iPadOS had a bug where clicking outside did not close the popover. That light dismiss bug was fixed in Safari 18.3, which is why the feature only became Baseline in early 2025, per web.dev.
So if your visitors use browsers from the last couple of years, you are fine. If you serve a big group on very old browsers, test first or add a simple fallback. For most B2B sites I build, the support is more than good enough.
How is this different from Webflow dropdowns and the dialog element?
Webflow dropdowns are great for navigation menus and need no code, but they are not built for tooltips or custom hint boxes. The Popover API is more flexible and works for any small floating element, not just nav.
The dialog element is the other native option. I wrote about it in my post on replacing Webflow lightboxes with the native dialog element. The simple rule is this: use dialog for modal windows that block the page, and use a popover for light, non blocking menus and tooltips.
You can also pair the Popover API with CSS Anchor Positioning to pin a tooltip right next to its button. I covered that combo in my tutorial on CSS anchor positioning for tooltips in Webflow. Together they replace most of the old tooltip scripts.
How do you add a popover to a Webflow site?
You add one with an HTML Embed and two small attributes. Put your popover content in an embed and give the element a popover attribute and an id. Then add a button with a popovertarget attribute that points to that id.
In Webflow, drop an HTML Embed where you want the panel. Inside it, write a div with popover and an id like menu1. Add a button with popovertarget set to menu1. The browser now toggles that panel on click with no JavaScript at all.
Style it with normal Webflow classes or a little CSS inside the embed. You can target the open state and even animate it. The markup is short, which is exactly why I like it for client sites that other people will edit later.
What about accessibility and screen readers?
Accessibility is one of the best reasons to use the native API. The browser wires up the right focus behavior and keyboard handling, so the Escape key closes the popover and focus moves sensibly. You get a lot for free.
You still have work to do. Give buttons clear labels, and use a real button element, not a styled div. For menus, make sure the reading order makes sense. MDN has solid notes on roles and labels for popover content, and I check them on every build.
The native API is usually more accessible than the hand rolled tooltips I used to write. Browsers like Chrome and Firefox bake in patterns that took me years to get right by hand. That alone makes it worth adopting.
When should you still reach for JavaScript or IX2?
Reach for JavaScript when you need complex logic, like a popover that loads data, depends on other state, or chains several steps. The Popover API handles show and hide, not business logic.
Webflow interactions, or IX2, still shine for scroll effects and rich timeline animations. The Popover API is about open and close behavior, not motion design. Use the right tool for each job rather than forcing one to do everything.
For simple menus, tooltips, and hint boxes, though, the native API wins. It is less code, fewer bugs, and better accessibility. I now default to it and only add scripts when the design truly needs them.
How do you test that your popover works everywhere?
Test it on the three engines that matter: Chrome, Firefox, and Safari. Click the button, click outside to confirm light dismiss, and press Escape. Then try it on a real phone, since touch behavior used to be the weak point.
Check keyboard use as well. Tab to the button, open the popover with Enter, and make sure focus and Escape behave. If a screen reader announces the trigger and content clearly, you are in good shape.
Watch your performance numbers too. Since you are removing scripts, your INP should hold steady or improve. Given that 43 percent of sites still fail INP per CrUX, every script you delete is a small gift to your speed score.
How to ship your first popover this week
Keep your first popover small and visible. First, pick one tooltip or small menu that currently uses a script or a clunky interaction. Second, rebuild it with an HTML Embed using the popover and popovertarget attributes. Third, test it across Chrome, Firefox, and Safari plus one phone. Fourth, delete the old script once the native version passes.
If you want to position the popover precisely, pair it with the approach in my CSS anchor positioning tutorial. For full modal windows, use the pattern in my guide on the native dialog element instead of Webflow lightbox. Each one trims code and bugs.
The platform finally caught up to what we needed, and that makes our sites simpler and faster. If you want help moving your Webflow menus and tooltips to the native API, I am happy to walk through it. Let's chat.
Get your website crafted professionally
Let's create a stunning website that drive great results for your business
Read more blogs
Get in Touch
This form help clarify important questions in advance.
Please be as precise as possible as it will save our time.