Creative Juices

A blog by Matt Korostoff

A valid use case for the HTML blink tag

You see these signs at every New York/New Jersey rail station. They do about what you would expect—tell you the arrival time of the next train and where it's going. I never really gave much thought to how they worked or the underlying technology until one day I saw this:

That's an Apache error message! Plain as day, there's no mistaking it. Which means, this whole thing is almost certainly built with HTML/CSS. And they have a totally valid, non-annoying, completely accessible* use for the <blink> tag or a text-decoration: blink CSS property. And, because the blink tag is now deprecated in every browser, they most likely had to rely on javascript or animated gifs to achieve this effect.

When firefox finally killed the blink tag earlier this year, the general reaction was "Haha, I can't believe they were still supporting it." But I for one am no longer convinced that eliminating the blink tag was the right decision. There is a use case for it, just not on the web.

The reason I point this out, is I think this cuts rather directly to a pretty fundamental question about what HTML actually is. Is it a tool for building websites? Or is it a device agnostic tool for describing data, which leaves presentation up to the client? I think most of us would argue it's the latter. And, that being the case, the fact that web sites have abused the HTML <blink> tag for years to produce gaudy unreadable geocities just doesn't matter—the web was never the right client to begin with. Just as we previously dealt with abusive <table> based layouts by retraining ourselves and developing new tools better suited to layout tasks so too should we develop appropriate tools and standards for blinking text. Banning blinking text outright is to throw the baby out with the bathwater.

So what does this mean? Should we be trying to bring the <blink> tag back? Or advocating for text-decoration: blink in CSS4? Eh—probably not. It seems that ship has sailed, and the energy of the web at large is irreversibly against the <blink> tag. But as we make decisions about what goes and what stays in future versions of HTML, we should try and keep in mind: the language isn't just about making pretty websites. It's about semantically describing data. And some data blinks.


So a common critique of this viewpoint is that blinking is not semantic, blinking is just an animation meant to suggest a particular meaning. I think that's a rather good point. So let us ask, just what meaning are we trying to evoke with blinking text? In this case, I believe the meaning is something to the effect of "this data is urgent, time sensitive, and recently updated". So perhaps a more semantic tag would be one that doesn't currently exist—let's call it the <urgent> tag. And I think a sensible user agent default style for this hypothetical <urgent> tag would be blinking.

Matt Korostoff is a web developer and cartoonist from New Brunswick, NJ. He works for Blink Reaction and you should too.