Target Blank Is Evil

Opening links in new windows (usually with target=_blank) is a web publishing eeeevil. It shouldn’t be dictated to users, who already have that option if they want it. Forcing new windows has always had a well-deserved place on many top 10 HTML mistakes lists, including position #2 on Jakob Nielsen’s famous The Top Ten Web Design Mistakes of 1999 (and here’s three more examples).

“Who likes links that open new windows?” comments Tyler on bradchoate.com, discussing industry leader Jeff Zeldman’s choice to stop opening links in new windows in 2003. “My non-computer and computer friends are both annoyed to no end when sites open new windows.”

And with good reason — it’s hostile to the user. Instead of changing the content of their window on the Web, as users have come to expect from links, it changes the behaviour of their software — the very tool that they are using to view the web. Marco Arment: “The best practice for the modern web is to let people manage their own windows and tabs.”

Windows “belong” to the user. Don’t mess with them.

Opening new windows is almost always done with the assumption that you don’t want users to leave your site — that you want to do the user the “favour” of keeping your precious snowflake of a website open on their computer while they carry on looking at the (lesser) content you’ve linked to. The subtext of opening a new window is arrogant and presumptuous. It says:

My website is so freakin’ awesome that I don’t think you actually meant to leave and go to some other place. Naturally you want to keep my website open! Of course! Why wouldn’t you? So I’ll just make sure of it, if you don’t mind — actually, even if you do mind.

So it’s kind of a dick move. Granted, it’s a dick move made in all innocence most of the time, but like “unnecessary” quotation marks and SHOUTING IN ALL CAPS, ignorance does not mean that it shouldn’t be punishable by death.

Consistency is the foundation of user interface goodness. Good web designers have been steering clear of target=_blank for more than a decade. You should avoid it if for no other reason than to defer to them: not just because they are a smart crowd, but because their choice is nearly universal on good websites, and has been defining user expectations for a long time now. Imitate them for consistency. Make your website behave the way users expect good websites to behave.

p.s. Plus, the target attribute is deprecated anyway, despite its widespread use. It’s badness is official.

“But I do like my links to open in new windows.”

Bully for you. This is the most common rebuttal I’ve gotten to this article. I’m sorry, but your preference is irrelevant. Browsers have easy-to-learn ways of opening links in their own tabs and windows. You can even set it to be the default behaviour of your browser. If you want it, you’ve got it.

But what about all the people who don’t want windows spawning like bunnies? Target-blanking over-rides their preference, and once spawning has happened, it’s too late. There is no easy way to prevent these erratic, unwanted, presumptuous window spawns.