Pop-ups were beaten once, properly, by the browsers. They came back as part of the page itself, where no setting can reach them — and that is most of the reason the commercial web feels the way it does: distracting, disturbing, annoying.
October 2026
Interruptions can be postponed or suppressed by the user, except interruptions involving an emergency.
WCAG success criterion 2.2.4, Interruptions — Level AAA, since 2008
You follow a link because you want to read one paragraph. The page arrives, and before you reach it: a box about cookies. Behind it, a box offering ten per cent off. In the corner, a request to send you notifications. Out of nowhere a pop-up appears prompting for a newsletter sign-up. At the bottom right, a bubble saying somebody is here to help. Five interruptions, none of them asked for, all of them standing between you and a sentence.
None of this is new and none of it is an accident. It had a date of birth, was designed for a reason. A decade of open loathing, a clean defeat, and a return to a route nobody had thought to close.
1997: a window nobody asked for
Ethan Zuckerman was working at Tripod, which gave people free homepages. An advertiser complained that its banner had turned up on a page it wanted nothing to do with. Zuckerman’s fix was to put the advertisement in a window of its own: near the page, but not on it, and therefore nobody’s fault. A few lines of JavaScript, one call to window.open.
He has since apologised for it, at length and in public, in The Internet’s Original Sin — an essay less about the pop-up than about what happens to a medium that decides advertising will pay for everything. It is worth reading as the confession of somebody who solved a small problem well and watched the solution escape.
The decade when everybody said so
The profession was not subtle about it. Jakob Nielsen had pop-up windows on his list of web design mistakes in 1999. In 2004 Nielsen Norman Group asked several hundred people which advertising techniques they hated most, and the pop-up came first, followed closely by the pop-under — the same trick inverted so that you only find it after you close the window you were using.
And then, unusually, the complaint worked. Opera blocked pop-ups first; Mozilla refined it by blocking the ones fired as a page loads rather than the ones a click asks for; Microsoft finally added blocking to Internet Explorer with Windows XP Service Pack 2, in 2004. Within a few years the pop-up was commercially dead.
It is one of the few occasions on which the people reading the web won outright, and it is worth being precise about why. The thing they objected to had a name and an interface: it was a browser feature, requested through a function call. A browser can decline a function call. That is the whole mechanism of the victory, and it is also the reason it could not be repeated.
How they came back
Not as a window. As a div.
Overlay, lightbox, modal, interstitial — the names change by decade and the construction does not. An element fixed to the viewport, stretched across it, a dark layer to make the page behind look switched off, a box in the middle. Technically it is not a second window at all. It is the page. A pop-up blocker has nothing to block, because nothing was opened.
The triggers got better at hiding their intent: after eight seconds, at forty per cent scroll depth, or on exit intent — the cursor moving towards the top of the window, read as a sign that you are leaving and therefore fair game. Then, from 2018, every site with European visitors acquired a reason to put something in front of you on arrival, and the full-page box stopped looking like an imposition and started looking like infrastructure.
By 2021 Kate Moran was documenting the result at Nielsen Norman Group under the name overlay overload: privacy boxes, marketing boxes and browser-extension boxes competing on the same page, two of them stacked at once on a large retailer’s home page, participants giving up on tasks they had been happy to do. One of them summed up the whole field in fourteen words: “Fewer things popping up at me is better than all these fancy fifty things.”
Why there is no setting for it
This is the part that matters, and it is a technical fact rather than a complaint.
A browser could refuse window.open because opening a window was something a page asked the browser to do. An overlay asks nothing. It is content. For a browser to suppress it, the browser would have to decide which parts of a page are the page and which parts are an interruption — a judgement no browser is willing to make, and reasonably so, because the same construction carries a confirmation dialog you genuinely need.
If anything the platform has moved the other way. Both dialog.showModal() and the newer popover attribute put an element into what the specifications call the top layer: painted above everything else in the document, outside the normal stacking order, deliberately beyond the reach of any z-index on the page. That is the right behaviour for a genuine modal dialog. It is equally available to a box asking for your email address, and it is harder for a reader to defeat with a stylesheet of their own.
What is left for the reader is a set of workarounds, and it is worth naming them as workarounds: reader mode, which throws the page away and keeps the text; annoyance filter lists in a content blocker, maintained by volunteers, one site at a time; bookmarklets passed around that delete every fixed-position element on the page. All of it is the reader acting against the document, because the document offers no setting at all.
The accessibility standards have had a criterion for precisely this since 2008. Success criterion 2.2.4, Interruptions reads: “Interruptions can be postponed or suppressed by the user, except interruptions involving an emergency.” It is written for people with attention and cognitive differences, and for anybody using a screen reader who needs their place kept. It sits at Level AAA — which is the standards body’s courteous way of saying that nobody is going to do it.
The quiet part: asking again
Researchers at CHI in 2018 gave the repetition a name. In their taxonomy of deceptive strategies, nagging is the one that needs no cleverness at all: you simply ask again. The variations are familiar enough that you can list them from memory.
- It comes back on every visit. Often for a reason that is almost funny: the only place a “no” could be remembered is a cookie, and the site was not allowed to set one until you said yes.
- The close is smaller than the accept. A ten-pixel grey × in a corner, against a filled button in the middle. Both are choices; only one is designed.
- The decline is worded as a confession. “No thanks, I’d rather pay full price.” You are made to say something about yourself in order to leave.
- Dismissing it costs you your place. The overlay closes, the page jumps to the top, and you find the paragraph again.
- It arrives after you start reading. Timed to interrupt rather than to precede, because a box you meet on arrival is easier to refuse than one that catches you mid-sentence.
- There are two. Closing the first reveals the second, which feels like progress and is not.
Very little of this requires a conspiracy. A team with a conversion target, a tool that makes overlays in an afternoon, and no measurement of annoyance anywhere in its reporting is enough. The incentive and the graph do the work. That is the uncomfortable half of the argument: most of what makes the web tiring was built by people who were not trying to make it tiring, and who could show you a graph proving it worked.
What it actually does to somebody
The cost is not really the two seconds. It is that you learn to brace. After enough pages you arrive at a new one already braced for the box, reading with half your attention on where the interruption will come from. That is a tax on every page on the web, including the pages that do nothing wrong.
For some readers it is not a tax but a wall. Somebody who needs to keep their place in a text loses it. Somebody using a keyboard has focus thrown into a box, and sometimes thrown behind one — WCAG 2.2 had to add Focus Not Obscured as a new criterion because sticky elements routinely hide the thing the keyboard has just selected. Somebody reading on a phone discovers that “a reasonable amount of screen space” is, at 360 pixels wide, the screen.
And it is uninvited in a specific way that is easy to miss: you cannot see it coming, you cannot prepare for it, and you cannot switch it off. Those three together are a decent working definition of why something is unpleasant rather than merely inconvenient.
Eventually, the rule-makers
When a profession will not fix something, outside authorities turn up and fix it badly. In August 2016 Google announced that from 10 January 2017 intrusive interstitials would count against a page in mobile search: a pop-up covering the main content on arrival or during reading, a standalone interstitial you must dismiss first, or a layout that looks like one with the real content pushed below the fold. Its exemptions are instructive — legal obligations such as cookies or age verification, login dialogs on private content, and banners using a reasonable amount of space that are easy to dismiss.
The European Data Protection Board settled a related question in 2020: a cookie wall, where you cannot reach the content without agreeing, is not consent, because consent given under those conditions is not freely given. And Article 25 of the Digital Services Act now prohibits interface design that distorts or impairs a user’s ability to make a free choice. Each of these is an outside body arriving to make a decision that a designer should have made on a Tuesday.
None of which helps you decide what to do on your own page this afternoon. So:
The rules for anything that covers the page
- Put the offer in the page. A newsletter box in the flow of the article, after the piece somebody just enjoyed, asks at the only moment it has earned the right to ask. It converts worse than an overlay and it costs nothing.
- Never cover what the visitor came for. If content is behind it, it is not a prompt, it is a toll. This single rule removes most of what is wrong with the commercial web.
- Only cover the page when the visitor asked. An overlay opened by a click — a bigger image, a confirmation, a form the visitor chose — is a dialog, and dialogs are fine. One that opens by itself is an advertisement with better manners.
- Make the close as obvious as the accept. Same size, same weight, same place in the reading order, plain words. If you cannot bring yourself to do that, you already know what the overlay is for.
- Remember the no. A declined invitation is a decision. Store it for a year, and show nobody the same box twice. Where a cookie is not allowed, that is the answer, not an excuse.
- Keep the place. Return the scroll position and the keyboard focus exactly where they were, so dismissing it costs nothing but the dismissal.
- Check it at 360 pixels and with the keyboard alone. Most overlays are designed on a wide screen with a mouse, which is the one situation in which they are bearable.
Nothing here covers the page
There is no overlay on this website. Nothing appears on arrival, nothing asks for an email address, no bubble offers to help, and there is nothing to accept. What I do is written in the page, where you can reach it when you want it and read past it when you do not.
That is not a stance, and it is certainly not a sacrifice. It is simply what is left over once you take out everything that was put there to serve somebody other than the person reading.
Read the originals
In order of usefulness. The first one will change what you do this week; the second will change how you think about the last twenty years.
- Kate Moran, Overlay Overload: Competing Popups Are an Increasing Menace — Nielsen Norman Group, 2021. People filmed trying to shop through three overlays at once. Short, specific, and hard to argue with afterwards.
- Ethan Zuckerman, The Internet’s Original Sin — The Atlantic, 2014. The man who wrote the first pop-up, on what advertising did to the web.
- Colin M. Gray, Yubo Kou, Bryan Battles, Joseph Hoggatt & Austin L. Toombs, The Dark (Patterns) Side of UX Design — CHI 2018. Where nagging is named and placed alongside the rest.
- Success Criterion 2.2.4: Interruptions — WCAG, Level AAA. One sentence, written in 2008, still ignored.
- Success Criterion 2.4.11: Focus Not Obscured (Minimum) — WCAG 2.2, with failure F110 on sticky elements hiding focus.
- Helping users easily access content on mobile — Google, 2016, the announcement of the intrusive-interstitial signal.
- The Most Hated Advertising Techniques — Nielsen Norman Group, 2004, for the historical record of how thoroughly this was settled once.
- Harry Brignull, Deceptive Patterns — the catalogue, and Article 25 of the Digital Services Act for what is now simply not allowed.