So the most standards compliant method would be loading each portfolio piece into a new window without JS.
Perhaps I've misunderstood you here. Do you man the same window or a new window?
If you mean a new window then the only way you can do it without JavaScript is to use the "target" attribute. And you can only use that if you're using XHTML Transitional. If you are using XHTML Strict, then the "target" attribute is deprecated. And with good reason...
In the same way that old-school tags like <font> and attributes like "bgcolor" mixed presentation in with semantics, an attribute like "target" stirs a behavioural trigger into the mark-up. Semantically, "target" doesn't say anything about the link except how it should be handled by the browser... which is very presumptuous: it assumes not only that the page will be viewed in a web browser on a computer but also that the browser will have the technology to spawn new windows. That kind of behavioural instruction should be handled by JavaScript, leaving XHTML to mark-up the content semantically. Hence, the attribute is deprecated in XHTML Strict.
So if this is the case, why have so many sites resorted to the carnival that is often JS, with window upon window soaking up screen real estate?
I'm not sure why you'd see a difference in screen real estate between windows spawned using "target" and windows spawned using JavaScript. As long as the window is named consistently (either with "target" or JavaScript), only one window is spawned and the content is updated. Or have I misunderstood? Did you mean the same window?
John Horner asked:
my question is, are we not allowed to use frames any more?
Sure, but again, you have to use the right doctype. In this case, XHTML Frameset.
Remember, there are three flavours of XHTML:
If you're going to use attributes like "border", "target" and some other vestigial presentation/behaviour stuff, use the XHTML Transitional DTD:
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
If you're going to use <frame>s, use the XHTML Frameset DTD: http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd
If you're going to mark-up your documents purely semantically (using CSS for *all* presentation and JavaScript for *all* behaviour), use the XHTML Strict DTD:
http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd
... or, of course, you could use any one of the many HTML DTDs, all of which would allow for more "flexibility" in mixing and matching tags and attributes but at the price of dated mark-up that won't be future-proofed.
--
Jeremy Keith
a d a c t i o
http://adactio.com
****************************************************** The discussion list for http://webstandardsgroup.org/
See http://webstandardsgroup.org/mail/guidelines.cfm for some hints on posting to the list & getting help ******************************************************
