Re: IFRAME placed in wrong DTD

> I have noticed that the IFRAME element is placed in the "frames" DTD at =
> W3C.

Please give a reference.  In a late draft of HTML 4.01, it is in the
transitional DTD, and not restricted by any conditional section.
Given that the 4.01 Frameset DTD simply sets a flag that controls the
interpretation of the Transitional DTD, then pulls in the latter,
I'd be surprised if the final version were different. XHTML 1.0 is not
supposed to differ from HTML 4.01 in such respects.  As far as I know
the nearest to an official line on XHTML 1.1 is that the transitional
version is identical to XHTML 1.0 Transitional.

Frames and target are controversial, because, with normal URLs, they
are incompatible with a web of links; they involve browser state that
cannot be included in a link.  The only frames proposal that
has more than transitional status is not backwards compatible.

> Normally this element is used inline as the name suggests, so it cannot =
> be used in a site that uses either the "transitional" (loose) or the =
> "strict" DTD. Thus the process of developing standards compliant web =
> sites is impeded by this minor detail.

At least for 4.01, I would say that the Frameset DTD was no more discouraged
than the Transitional one.  Both are discouraged, and, in an ideal world,
5 years would have been long enough for the transitional one to die.

If you need to use IFRAMES, use HTML 4.01 Transitional.  If you want to
conform to the policies beind XHTML 1.1 and XHTML 2.0, you may be better
off using HTML 4.01 Strict, in the short term, but you should not use
frames.  Longer term, when there is substantial browser and search engine
support, you may want to consider xframes.

I get the feeling that you are trying to comply with particular DTDs for
the wrong reasons.

> Content-Type: text/html;

Please don't, especially when, like here, it is invalid.

Received on Monday, 27 January 2003 07:45:54 UTC