Hmm. I cannot believe it has been suggested target _blank be misused within this thread. It was obvious JS was being hooked to the ‘rel’ attribute.
Deprecated elements and attributes were done so for a good reason many of them to do with semantics; separating structure (markup) from presentation (style sheets), e.g. “Separation of Concerns”, Content (HTML), Presentational (CSS) and Behaviour (JavaScript) - spawning windows is behaviour. Plus accessibly related issues. APPLET, BASEFONT, CENTER, DIR, FONT, ISINDEX, MENU, S, STRIKE, and U (all deprecated).
An advantage of applying none deprecated markup can be interoperability. Misusing the target _blank solely for spawning a ‘popup’ style window can become an accessibility and usability issue since it breaks the back button, etc. If you absolutely must open a link in a new window (or tab), explicitly warn the user with a clear indication that the page will open in a different window.
Though obviously you are supposed to use scripts if you want to spawn a new window not related to a frame and that is why Strict doesn’t use it. So it’s best to use unobtrusive JavaScript for the new window. Everything client side is under the control of the visitors to the site.
The ‘target’ attribute (when applied to an anchor) can be used in any Transitional document and typically is supposed to be associated with a Frameset hence why is has never been deprecated for Transitional documents.
Essentially the ‘target’ attribute is used with frames to specify in which frame the link should be rendered obviously you can have target on more elements than the anchor; _blank renders the link in a new, unnamed window.
Why historically people got upset about “target” attribute disappearing from Strict onwards is because it could also be referenced via scripting languages. In either case the anchor target was specifically designed for the Frameset rather than Transitional.
The user is a blackbox, if you use _blank for the sake of spawning then the ‘web author’ is essentially ‘dictating’ that the user will have to view the new page somewhere else. Leaving no direct means of getting back or focus or indication the new window has opened for that matter.
Looking at SPF links, I’d agree that the forum has members that login, in which case they may want to have more than one page instance open. Therefore if you wanted external site links to be opening in a ‘new instance’ then you could alter the browser configuration file to allow that or use client-side script. Thus those both user groups are catered for, i.e. user-agents with or without JS. Therefore the web author would allow the ‘user freedom’ instead of restricting user freedom and imposing the author’s own idea onto the visitor.
Going onto a tangent: Flock mentality? Allow the site to dictate their actions and thus many ‘mindless comply’ and resign themselves to a new window (or tab) spawning as ‘normal’ behaviour. Because they cannot; or do not know how to do otherwise; or are happy being oblivious; or don’t think for themselves.
I assume in essence what is being asked; is why would something as perverse as _blank have to be used when obviously JS is the appropriate tool? Thus this mystic figure of 5% sometimes touted (non JS enabled browsers) is likely to be the people that would prefer not to see a new instance being spawned by default. Thus those people can make up their own minds of how to open a new page. What is worse; when there isn’t indication that the link on many sites will attempt such a feat.
I don’t think anyone is arguing that in some instances a new window would be good; it’s more the case of how the author writes the method or (informs or doesn’t) the user that the link has been designed to open in such a way.
Even when I wrote: Spot the Error 3: Calling all Sleuths! and added multiple errors and made it like a minefield… I wasn’t so dense that I add something as ‘obsolete’ as target _blank as an error because nobody in the last 13-years should have been using it outside of a Frameset environment. The mind truly boggles.