Re: <NOFRAMES> in HTML 4.01 Strict

[This is a discussion on www-validator@w3.org that doesn't really have
to do with the W3C Validator.  I'm CC'ing www-html@w3.org where it's
on-topic.  Please send follow-ups there.]

Kynn Bartlett wrote:
> 
> At 11:51 PM 12/21/1999 -0500, Christopher Atkinson wrote:
> >I am afraid that I may have caused some confusion due to lack of clarity in
> >my prior message: the pages I am trying to validate do not contain a
> ><FRAMESET>.
> >I am using frames-based navigation. I want to use <NOFRAMES> element on
> >non-frameset pages in the belief that this would make navigation available
> >for non-frames user agents. (Is this belief founded?)
> 
> NOFRAMES goes -within- your FRAMESET document; putting it within an
> html document that does not contain a FRAMESET has no meaning and
> is not used by any user agents.

Then one wonders why NOFRAMES is allowed in HTML 4.0(1) Transitional
documents.  It's poorly specified in HTML 4.0 and HTML 4.01; the text
[*] allows both the implementations of MSIE and Netscape.  MSIE displays
the content of a NOFRAMES element if no frames are being shown while
Netscape never displays the content of NOFRAMES.

[*] http://www.w3.org/TR/html40/present/frames.html#edef-NOFRAMES

MSIE's behaviour allows authors to include navigational aids in the
NOFRAMES element of an HTML 4 Transitional document that would typically
be part of a frameset with navigation available in a separate frame. 
When shown within a frameset, the framed document's NOFRAMES navigation
is unnecessary and not shown; when shown outside of a frameset, the same
document's NOFRAMES can be vital for proper navigation.

Just to be clear, here's an example of what we're talking about:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
  "http://www.w3.org/TR/REC-html40/loose.dtd">
<title>Document that is usually framed</title>
<body>
<h1><img src="logo.gif" alt="XYZ Corp."></h1>
<noframes>
<div class="navbar"><a href="/">Home</a> | <a href="/foo/">Foo</a></div>
</noframes>
<p>Blah blah blah</p>

Here the navigation bar only needs to be shown when the document is not
in a frameset since one assumes that the frameset would add its own
navigation.  (This assumption can of course be false--frames certainly
aren't perfect.)

> The NOFRAMES outside of a FRAMESET won't do much of what you want
> it to do...

It will on MSIE (if I recall correctly--I don't have Windows handy right
now).

As a side note, I don't think that NOFRAMES belongs in HTML 4.01 Strict
(as the text of the HTML 4.01 PR implies is possible, but the DTD
forbids).  The Strict DTD should be free of the poorly thought out
frames stuff.

-- 
Liam Quinn
A Real Validator for Windows, http://arealvalidator.com
Web Design Group, http://www.htmlhelp.com

Received on Wednesday, 22 December 1999 09:35:29 UTC