Why opening new browser windows is such a bad idea.

This is the first part in a series of articles on web usability and accessibility. Opening new browser windows when clicking on links is one of my top web annoyances. I will try to explain why it causes problems for a lot of users and how to best avoid these problems.

Why open a new browser window?

As a web designer I see a lot of clients who explicitly request that links to other websites open in a new window. They believe that opening links in a new browser window will keep people on their website. This is unfortunately not the case. Besides the fact that it completely disregards a users choice in the matter it also leads to usability and accessibility problems.

Common problems

Opening a new window breaks the back button

The back button is the normal way to return to a previous page. By opening a new window it becomes impossible for the user to do this. The back button is one of the browsers basic functionalities which shouldn't be messed with.

Users get confused

When a user doesn't notice a new window opening they can get easily disoriented. This is especially true for users with disabilities who use tools like screen readers or a Braille bar to browse the web. Checkpoint 10.1 from the Web Content Accessibility Guidelines describes:

"Until user agents allow users to turn off spawned windows, do not cause pop-ups or other windows to appear and do not change the current window without informing the user."

Simulating target="_blank" can lead to unwanted side effects

Html enables developers to easily open a new window when target="_blank" is added to the anchor element. No Javascript is necessary and is supported in pretty much every browser.

A lot of developers try to develop websites which separate the content from the page mark-up as much as possible. This is done by using either html 4.01 strict or xhtml 1.0 strict in combination with css.

In both these specifications the target attribute for anchor elements is no longer supported. This results in developers using Javascript to simulate this behaviour. Depending on the Javascript implementation used, two things can go wrong:

Don't take away control from the user

This is the reason why I hate random new browser windows so much. It takes away complete control of how I like to use my browser. When I'm reading an article/blog/etc. and find an interesting link I open a new tab. But when I'm done reading I simply use the current window/tab to open a different page. It all depends on what I'm doing which of these I choose.

Since it's impossible to know what a users preferences are avoid trying to push your personal preferences on them.

Advice

If it wasn't already clear from the title of this article my advise would be to never open any new windows and let the user decide what he or she wants. Since most modern browsers let users organize pages using tabs it's a good thing we don't have a target="_tab" to add to the chaos.

Further reading

Categorie├źn: usability accessibility