During the last days I've spend a lot of time make this whole XHTML 1.1 Strict and I found one thing that made me think about the behavior of the Internet web visitors (any site, it doesn't care) and the imposed behavior web creators are trying to design.
I found that under XHTML 1.1 there's no option to write a Target attribute to <A> tags, so no link can open in new windows with the "_blank" value assigned to it. This attributes comes from the age of the <frameset> tag and it was intended to specify a target frame for the loading page. Obviously it has been overused since then and it's now quite frequent to see sites opening links in new windows. I didn't found this bad by itself, so when writing a post I used to create hyperlinks with a target="_blank" attribute so it doesn't close my site and opens the reference in a new window. But now, to pass XHTML 1.1 validation I have to remove that attribute if I don't want to go to lower Transitional or Frameset versions of XHTML.
At first I was a bit confused about this, but soon I came out with an idea to solve the problem using some JavaScript to find out outgoing links (marked with the coolness of rel="external") and setup the target attribute from code, so this way I get the same behavior but as it is not reflected on the markup the page would pass Strict validation. But wait! Am I tricking the system through code to get the same behavior I can get through the attribute? There must be something wrong going on, so how does this works from an user perspective?
I, as an "advanced" web user, perfectly know how to open links in new windows or tabs: I have the set of keys and options to do it in modern browsers so if I don't use that options is just because I don't want to keep the previous page. Personally I hate that pages that keep on the background because the collapse my increasing number of browsing tabs when I didn't asked for a new tab, I just wanted to follow a link and override the actual page with the new one. So I decided that this seems a much more richer experience from the user perspective, because most users already know when the want or need a new window or tab. And from my side, it's much easier for me: no tricky code, simpler pages and real validation.
By the way, during this "personal discovery" process I also found out that CSS3 supports a Target-Property (actually edited by the great microformats promoter Tantek Çelik, who's site doesn't validate under XHTML 1.1) that can be used to open links in new windows or tabs. That sounds cool, but contradicts my previous assertion. What do you think? In what cases do you think you own the right to tell users when they need a new window? Shouldn't they be deciding it by their own?