This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 13926 - The definition of when a frameset element is special doesn't make sense
Summary: The definition of when a frameset element is special doesn't make sense
Status: RESOLVED FIXED
Alias: None
Product: HTML WG
Classification: Unclassified
Component: HTML5 spec (show other bugs)
Version: unspecified
Hardware: Other other
: P3 normal
Target Milestone: ---
Assignee: Ian 'Hixie' Hickson
QA Contact: HTML WG Bugzilla archive list
URL: http://www.whatwg.org/specs/web-apps/...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-08-27 05:22 UTC by contributor
Modified: 2011-10-11 23:16 UTC (History)
6 users (show)

See Also:


Attachments

Description contributor 2011-08-27 05:22:24 UTC
Specification: http://www.whatwg.org/specs/web-apps/current-work/multipage/rendering.html
Multipage: http://www.whatwg.org/C#frames-and-framesets
Complete: http://www.whatwg.org/c#frames-and-framesets

Comment:
The definition of when a frameset element is special doesn't make sense

Posted from: 71.184.125.56
User agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:9.0a1) Gecko/20110822 Firefox/9.0a1
Comment 1 Boris Zbarsky 2011-08-27 05:27:58 UTC
In particular, the current draft says that the special rendering should take place "When an html element's second child element is a frameset element".

But what if the first child element is a <body> element?

It would make a bit more sense to do the special stuff for frameset only if the frameset is the "body element" of the document.  But even then, you get into trouble in situations like this (as XHTML):

  <!DOCTYPE html>
  <span/>
  <frameset><!-- Stuff here --></frameset>

Or even this (as HTML):

  <!DOCTYLE html>
  <head>
    <style>
      head, style { display: block; }
    </style>
  </head>
  <frameset><!-- stuff here --></frameset>

What do UAs do with this stuff right now?  How can we define this to actually make sense?

For what it's worth, on that last example both Gecko and WebKit seem to render the line of text, then the frameset as normal...
Comment 2 Ian 'Hixie' Hickson 2011-09-10 05:32:09 UTC
Agreed that "the body element" is a better definition than the second child stuff.

Not sure I am too worried about the other thing, but I'll look into it.
Comment 3 Ian 'Hixie' Hickson 2011-10-11 23:13:33 UTC
EDITOR'S RESPONSE: This is an Editor's Response to your comment. If you are satisfied with this response, please change the state of this bug to CLOSED. If you have additional information and would like the editor to reconsider, please reopen this bug. If you would like to escalate the issue to the full HTML Working Group, please add the TrackerRequest keyword to this bug, and suggest title and text for the tracker issue; or you may create a tracker issue yourself, if you are able to do so. For more details, see this document:
   http://dev.w3.org/html5/decision-policy/decision-policy.html

Status: Partially Accepted
Change Description: see diff given below
Rationale: Fixed the first thing.

I've left the second thing as is. I agree it doesn't strictly match all UAs, and I wouldn't recommend to those UAs that they rush to match the spec. However, given that <frameset> rendering really doesn't match CSS rendering anyway, I think it's fine that the check for this would happen at the top level (meaning UAs don't have to load up the CSS machinery only to render a single thing that doesn't follow CSS anyway), rather than having it just be special rendering for <frameset> that then is itself laid out using CSS. In theory it makes the model a little simpler.
Comment 4 contributor 2011-10-11 23:16:18 UTC
Checked in as WHATWG revision r6663.
Check-in comment: Fix the <frameset> rendering rule to trigger when 'the body element' is frameset, not just when the second child of the root element is.
http://html5.org/tools/web-apps-tracker?from=6662&to=6663