This is a question I've pondered for a while but never looked too much into it.

Does opening external links in new tabs make for a bad user experience?

If you pick any random website and find an external link, there's a good chance it will open in a new tab when you click on it. But just because everyone else is doing it, does that make it right?

Loss of Control

When you add target="_blank" to a link, you're taking control away from the user. Instead of letting them have control over how they navigate the web, you're forcing them to open the link in a new tab, whether they like it or not.

Opening a link in a new tab is a core feature of the internet, and most people know they can right-click a link or control/command + click a link if they want to open it in a new tab.

Quick tip! You know that control/command + click will open a link in a new tab. But did you know that control/command + shift + click will open a link in a new tab and move focus over to that newly created tab?

Accessibility Concerns

Not everyone browses the internet in the same way. Some people rely on assistive technology, such as screen readers or screen magnification that only shows a portion of the screen at a time. Opening links in a new tab can be disorienting for people, especially people who have difficulty perceiving visual content, because the new tab may be outside the current scope of their magnification.

Bye Bye Back Button

When you open a link in a new tab, you lose access to the back button.

Most people know that when you want to go back to the previous page in your browsing session, you can use the back button. By forcing users to open a link in a new tab, you're disrupting their normal flow.

Conclusion

There are valid cases for using target="_blank", but for the most part I think it's a good rule of thumb to leave that choice to the user. If they want to open a link in a new tab, they know how.

Resources