Skip to main content Accessibility statement Sitemap

Do not open new windows - a dire user experience

some windows should never be opened - good user experience builds lets the user control their browser

Published: 10th November 2009

Author: Andrew Hart

Tons of websites tell you how to open new windows (using target="_blank", JavaScript and other unsavory methods), yet few discuss why you should not be doing it in the first place.

Opening new windows creates frustration, anger and leads to users leaving your site and ultimately a loss of business. If you care about your users (or your business) then read on.

I hope to pull together research from the past 13 years, along with my own experience working with a huge range of websites, to provide the most comprehensive look at:

  • why people think they need to open new windows
  • the different methods of opening new windows
  • why it is such a bad idea.

Arguments in favor of opening new windows

1. I don't want people to leave my website

Consider this: if you managed a real store would you lock the doors after someone had walked in? I suspect, your potential customer would freak out and/or get very angry - either way you have lost a sale.

If you think this is any different on a website ask yourself why. People see websites in terms of real life: there are check-outs, shopping baskets, and clear navigation to help them find their way around. A website is no different, so don't abuse your customers just because you can't see them.

2. I want it to be easy for people to find their way back to the page they were on

Breaking news: users know how to use the back button. One of the most important factors relating to navigation on the Web is consistency. Losing the back button breaks that consistency and reduces usability. Far from achieving your goal you are moving further away from it.

3. We don't want to be "associated" with the site we are linking to

Again, users are not stupid. Once they land on another website it is rare (although not unheard of) that they will think they are on the same site.

Besides, if you are creating a link from your site it should have some value to your users. Why create a link that you didn't want to be associated with?

If you have external links that you want to make clear to users simply use CSS to style those links differently. Clear page layout should also help to separate any external links from your own content - a simple rule of usability.

At the end of the day, if you have a quality page that people really care about they will find their way back to it. Good search engine optimisation, clear page titles and easy to use navigation will benefit your users. Trying to 'trap' them on your own site will only lead to frustration, alienation and, by extension, will only serve to foster a negative image of your company.

Arguments against opening new windows

1. User choice

This is the core of any argument against new windows. Browsers allows users to open new windows (or tabs) if they want them, when they want them. Forcing your choices upon the user is disrespectful and people get angry (really angry - you should see the response it can provoke) about having their freedom of choice stripped away from them. Just check out some of the rants on various forums.

Ignoring user choice by such a hostile approach is a sure fire way to alienate visitors.

2. User expectations of delivery time

The emergence of broadband has led to one thing - higher user expectations regarding loading times.

A page that took 12 seconds to load used to be acceptable, but no more. Users want information and they want it fast. Slow loading times leads to frustration and a far higher rate of users quitting your site and going elsewhere.

Loading a new page should be pretty instantaneous and forcing a new instance of a browser (a new window) adds considerable time that you can not afford.

3. Usability

"The 'Back' button is the lifeline of the Web user and the second-most used navigation feature". Jakob Neilson wrote that back in 1999 and it is as true now as it was then.

By destroying the 'back' button you have removed key navigation and ignored one of the fundamental rules of the Web - consistency.

4. Accessibility

Depending on how you open a new window this could be more or less accessible but it is generally frowned upon.

The general rule is not to open a new window unless you first warn the user. To do this all users must be warned. This means that both visual and non-sighted users must have some clue as to the link's behaviour. A popular method is to include "this link opens in a new window" in the title text for the link (it looks visually 'messy' if you add this to every link), but this is often missed by sighted users. A clear visual clue is also required and can be successfully delivered via CSS, but always combine this with CSS-free solution (such as using the title attribute).

Technical solutions to new windows (and why none of them work)

1. Target="_blank"

Any serious Web developer will work to the latest and strictest standards possible. This helps to future-proof a site against changes to the X/HTML specification and the support for these in various user agents (aka browsers).

Target="_blank" is depreciated in XHTML 1.0 Strict and also in the Strict version of the proposed HTML 5 (for those thinking XHTML is dead think again - it is simply contained within the HTML specification). This effectively rules out this approach and should really hint that any attempt to open an new window should end there.

Sadly some misled Web developers see this as a barrier that they need to find a way around. This is a total waste of time and effort, after all it was depreciated for a reason - that reason was that it was seen as undesirable behaviour! Circumventing the Strict standard might allow your HTML to validate but it certainly does not follow the "spirit of the standard" your site claims to adhere to.

2. JavaScript new window

This is by far the most common method of circumventing the Strict validation issues mentioned above. Asides from ignoring the "spirit of the standard" JavaScript has additional problems:

  • it is not universally supported and can be turned off
  • mobile phones often have limited or no JavaScript support
  • it adds additional accessibility and usability problems

At best this simply allows a site to "validate". In reality it suffers all the same issues as any other method of opening a new window whilst falsely claiming to be XHTML Strict.

The solution

Do not ever open new windows. It really is that simple.

There are solid business and technical reasons for not opening new windows. There is little or nothing in the way of an argument in favor of them.

So what do you do? Lay out your pages clearly and use a mixture of CSS and link attributes to identify external links. This will allow your user to understand when they are about to leave your site. If they want to open up a new window they will do so.

Did I just hear the argument "but many users don't know how to open new windows when they want them"? If that is the case then how many of them will understand how to close the window you opened without their consent?

This has been a major bugbear of mine for a long time and I think it is about time to stamp out this archaic and bullish practice. If we can educate Web designers and business managers alike then hopefully we can put an end to it.

Further reading

I've read so many articles and participated in so many debates over the years that the advice above is most certainly not original. So, for completeness and fairness to all those that have gone before me here are a list of some of the better articles:


Forum discussions

If you have any questions, comments or feedback on this issue please contact us.