Down the <blink> and <marquee> rabbit hole.

Friday, September 15, 2023

It’s evening (early morning? late evening) on a weekday and I’m watching videos on YouTube. There was an interview between Bryan Lunduke and Andreas Kling, the creator of Serenity OS, the Ladybird web browser, and Jakt programming language. In the middle of the interview, Andreas talks about recently going through old browsers and got the idea to implement the <blink> tag in Ladybird. Which reminded me of a conversation I had with a colleague last week…

There’s an in-house system to track … stuff … and it allows people to leave comments about the stuff it’s tracking. There was a particularly amusing comment along the line of: <blink>Don’t touch this!</blink>.

After letting out a chuckle, I had to find out who left this funny message! I pinged one of my colleagues1, but the first reaction was relief that there wasn’t a cross-site scripting vulnerability. To that I replied “well, maybe we should have to enable comments with blink and marquee tags 😉.”

Note: That comment was a little bizarre, considering <blink> and <marquee> were non-standard features introduced by arch-rivals Netscape and Microsoft, respectively. It was only years later when these two HTML elements would both be available in the same browser.

Down the rabbit hole

Anyway, I had to try writing a simple HTML page with both elements to get that late 90’s nostalgia. So, on to the terminal:

$ cat > foobar.html
<html>
<body>
<marquee><blink>Hello!!!!</blink></marquee>
</body>
</html> 
$

And opening it in Chromium 116…

Yes! There’s a marquee! But! There’s no blink!!!

Well, it turns out that support for the <blink> has been removed from most modern browsers. In fact, Mozilla Firefox, the spiritual successor to Netscape Navigator, removed support for the <blink> element back in 2013.2 Today, it’s gotten to the point that even its history of existence is being wiped away from MDN Web Docs.

So, why did the <blink> element get removed? First of all, it was never an HTML standard – it was only browser-specific, non-standard feature. Secondly, it was overused and frankly, a nuisance. But aside from it being a nuisance, the most compelling reason for removal of the <blink> element is accessibility. For those with photosensitive epilepsy, these blinking text could trigger a seizure. Removed for a very good reason.

A walk down memory lane

Even after recognizing the risks for those susceptible to blinking text, what to do if we really need them? We can fallback to polyfills.

For example, the MDN Web Docs previously provided a CSS polyfill example utilizing CSS animations. Looking around on Stack Overflow also gives some alternatives.

So not all is lost in time. There are ways to bring back the nostalgia of the late 90s, when Geocities was full of homepages with liberal uses of <blink> and animated GIFs. But again, maybe they do belong locked away in time along with all its problems.

That said, we failed to banish animated GIFs, so they’ll stick around for years to come. 🤣


  1. No, they weren’t the one that left the comment. 

  2. It was removed in Firefox 23 which was released in August 2013