Why W3C not included Iframe in XHTML Strict
Because at the time it was seen as a bastard child of the widely-reviled <frame>
tag. In principle <iframe>
has many of the same properties as <frame>
, but in practice it seems to have encouraged more tasteful use, generally avoiding the worst of the navigational and usability problems that frameset interfaces suffered.
While HTML 5 is supports Iframe ?
(a). Because, unlike the <frame>
, <iframe>
has since turned out to be essential for mixed documents such as those including adverts, and many types of web application. There are still problems, as mentioned in other answers, but generally the <iframe>
is seen as a necessary feature that is here to stay. This isn't true of <frame>
, which is a “non-conforming feature” in HTML5 (the nearest HTML5 gets to any kind of ‘strict’).
(b). because the authors of HTML5 don't so much care about encouraging good practice anyway; it's about documenting what user-agents must do. They have thrown every obsolete feature of HTML4 into the standard, along with a lot of other traditional but dodgy browser behaviour including every last quirk of broken tag soup parsing. [aside: I am greatly amused to see the latest argument being discussed on their list being how the <isindex>
element should be handled — an element that literally nobody has used since HTML 2.0's form elements made it obsolete in 1995.]
Given the staggering size and complexity of HTML5, it's not really surprising that they didn't want the extra effort of declaring a more limited ‘strict mode’ profile. As work comes to an end, though, I would love to see an XHTML5 Strict or similar effort to trim back some of this mess. As it stands, Hixie and chums have taken a snapshot of every nasty hack a browser has to put in for compatibility today, and made it a standard requirement for all browsers in the foreseeable future, effectively condoning the bad practice.