One of the most popular conventions that websites have with external links is adding
target="_blank" to it so that browsers will open the link in a new tab. I think the main reason why people use this is that they don’t want users to leave their website. Opening external links in a new tab mean that your website will still stay open as a tab. And users need to intentionally close off your website tab if they don’t want to continue browsing your site.
I’ve always held down the Cmd key while clicking a link to open it as a new tab in the background, so it doesn’t affect my browsing experience.
My problem with implementing
target="_blank" is that there’s no indication as to whether the link to open in a new tab or not.
If you have Status Bar turned on in macOS Safari, it will tell you if a link will open in a new tab as opposed to Chrome and Firefox, which will only show the URL.
But the status bar isn’t switched on by default in Safari, and it only works in macOS.
Some websites add an icon that indicates that a link is an external one, but when placed in a body of text, it’s disruptive and takes away the focus from the content, which I do not want. Also, the icon design isn’t very popular, which might confuse people who are new to the website.
A viable option I’m considering is to add a tooltip upon hovering that indicate the link as an external one, and as a bonus, show the domain of where they will be redirected to.
Something like this:
But it doesn’t solve the problem that people don’t know the link will be opened in another tab; it’s only telling them that the link is going to move them off-site.
Another concern I have is when you open a link in a new tab. It’s not easy to get back to the origin tab. The back button is greyed out. The only web browser that seems to address this is Safari. When you open a page as a new tab there, the back button will bring you back to the origin tab.
But again, it means that this feature is only limited to platforms where there’s Safari—so not the best option.
Perhaps I’ll find a better solution to all of these in the future, but for now, I’m keeping
target="_blank" on my website for the sake of being consistent with the rest of the web.