The best practice for opening external links is to open them in the same window, allowing the visitor to make a choice whether or not they want the link to open in the same window, a new window, or even a new tab. Deciding on their behalf is considered rude, and has usability implications.
Author: Gez Lemon
Taking over my Browser
Visitors of your site expect to receive content. They don't expect you to change their home page, add sites to their favourites list, or open links in a new window, no matter how honourable your intentions. Am I being harsh, lumping opening new windows with changing the settings of their browser? I don't think so, but I'm prepared to admit I'm wrong about the expectations of links to open in a new window. So many sites open external links in a new window that some net savvy visitors will expect external links to open in a new window. That doesn't make it the correct behaviour.
In my opinion, opening links in a new window is akin to changing my browser settings, moving a window to a position I don't want, or resizing a window to a size I don't want. If I want to open a link in a new window, I will choose to do so. If I want to open a link in a new tab, I will choose to do so. How do you know which I prefer? You don't. The window is part of a program I run, and as a content developer, you have no right to alter the way I choose to run that program.
Breaking the Back Button
The accessibility stance on opening links in a new window is that it breaks the back button (as there is no previous content), and that it may disorientate your visitors if they weren't expecting the link to open in a new window. The usability stance on opening links in a new window is that visitors can choose to open a link in a new window, but no user agent I know of contains a setting that allows a link to be opened in the same window from a context menu. You can disable new windows in some user agents, but it's a general setting rather than a context setting. Without exception, developers who open external links in a new window do so in an effort to keep visitors on their site. If you're worried a visitor won't return, create more interesting content, or don't provide links to other sites.
Some developers open internal links in a new window, so as not to interrupt the visitor's current activity, such as filling out a form. As an example, if you decide to read the comment guidelines after you've entered data in the comment section of this post, there is a chance that your user agent won't retain the information you entered when you navigate back to this page. The obvious solution is to better structure your content so that visitors are fully aware of any rules, guidelines, or tips before they enter the data. In the worst-case scenario, visitors will miss it and need to fill out the form again. How many times do you think they'll do that before they discover how to use their particular user agent correctly?
Announce your Intentions
If you are absolutely determined to open links in a new window, the very least you could do is inform your visitors that the link will open in a new window. Some user agents allow visitors to view a document by links, so at the very least, you should announce within the link phrase that the link will open in a new window. If the link is around an image, then the image's
alt attribute should contain a warning that the link will open in a new window. Some assistive devices can be configured to use whichever is the longest - the link phrase, or the
title attribute. Therefore, it's good practice to not only announce that a link will open in a new window within the link phrase, but also in the
title attribute, should you provide one.