Re: Body start tag.

Paul Fidler (praf1@cam.ac.uk)
Wed, 16 Jul 1997 17:03:13 +0100 (BST)


Date: Wed, 16 Jul 1997 17:03:13 +0100 (BST)
From: Paul Fidler <praf1@cam.ac.uk>
To: www-html@w3.org
Subject: Re: Body start tag.
In-Reply-To: <33CCD9A7.19EE0ECD@w3.org>
Message-ID: <Pine.HPP.3.95L.970716163746.17705A-100000@punch.eng.cam.ac.uk>

On Wed, 16 Jul 1997, Arnaud Le Hors wrote:

>           ... The current DTD (not the spec) is designed to allow the
> following:
> 
> 1) In a frameset document:
> 
> * have FRAMESET in place of BODY
> * allow NOFRAMES inside a FRAMESET as an alternate container
> * have BODY inside NOFRAMES
> 
> 2) In a "normal" document (not containing a FRAMESET, but possibly used
> within a frameset):
> 
> * have a BODY
> * allow NOFRAMES inside BODY to be used in as an alternate container -
> in this case BODY is not allowed of course
...
> >        ... FRAMESET is badly designed.
> 
> But it's already out there and we need to specify it in a way which is
> compatible with existing practice.

It strikes me that if you need to take acount of current practice, then
goal 2 is far more problematic than goal 1.

I've just done a brief check with that browsers that I have available
that understand FRAMESET:

  Netscape Communicator 4.0 displays the contents of the NOFRAMES element
  used within BODY regardless of wether or not it is being used in a
  frameset.

  Microsoft Internet Explorer 3.0b and HotJava Browser 1.0 both hide the
  contents of the NOFRAMES element used within BODY regardless whether
  or not it is being used in a frameset.


With regard to goal one, current pratice seems to be to either put a
NOFRAMES element within the FRAMESET or put the NOFRAMES element after the
FRAMESET, probably depending on whether the author read the Netscape or
Microsoft spec respectively. Then of course there is the HTML 4.0 spec
(but not the DTD) which seems to lean towards putting BODY after FRAMESET,
with no NOFRAMES.

All three methods seem to work on equally well on the three browsers that
I tried it with. Of course Browsers that don't understand FRAMSET and
NOFRAMES tags don't care where they go. They just ignore them and display
the alternative content. 


Personally, I think that you got it 'right' in the  HTML4.0 spec (but not
the DTD), but then that's just my opinion...   


Paul Fidler
-- 
Cambridge University Engineering Department | Tel: +44 1223 339720
Trumpington Street, Cambridge, CB2 1PZ, UK  | Fax: +44 1223 332662