Re: NOFRAMES (was:Re: Techniques Document)

after reading both the HTML recomendation and proposed recommendation
I conclude:

1. The proposed recommendation has a contradiction that 
   doesn't exist in the recommendation.
2. The recommendation is more than confusing concerning 
   whether NOFRAMES is rendered when appears in a 
   non-frameset document.

In  http://www.w3.org/TR/REC-html40/present/frames.html we find:

"The NOFRAMES element specifies content that should be displayed only when 
frames are not being displayed. User agents that support frames must only 
display the contents of a NOFRAMES declaration when configured not to 
display frames. User agents that do not support frames must display the 
contents of NOFRAMES in any case. 

NOFRAMES can be used in the FRAMESET section of a frameset document."

In http://www.w3.org/TR/PR-html40/present/frames.html we find:

"The NOFRAMES element specifies content that should be displayed only 
when frames are not being displayed. User agents that support frames 
must only display the contents of a NOFRAMES declaration when configured 
not to display frames. User agents that do not support frames must
display the contents of NOFRAMES in any case.
 
NOFRAMES can be used either in the FRAMESET section of a 
frameset document or directly in the BODY of a document used 
within a frameset." 

Note that "or directly in the BODY of a document used 
within a frameset." is ommitted from the recommendation.
So if it is allowed in non-frameset (and it is by the DTD) 
why omit it? 

Later in the proposed recommendation:

"It is more economical to include the table of contents at the top of 
"main.html" within a NOFRAMES element: 
<!-- This is main.html -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<HTML>
<HEAD>
<TITLE>A document with NOFRAMES</TITLE>
</HEAD>
<BODY>
<NOFRAMES>
...the table of contents here...
</NOFRAMES>
...the rest of the document...
</BODY>
</HTML>
and to link to "main.html" from "top.html" for 
the case when frames are not displayed:..." 

This example is ommitted from the recommendation.

top.html is the frameset document of the example. main.html is not a 
frameset document. The proposed recommendation suggests that if you 
use NOFRAMES in the body of a non-frameset document
it should be rendered if the document is not framed. (and the browser
may be congfigured to show frames?)

This is what I mean that in the recommendation NOFRAMES has no function
in regular i.e., non-frameset document. The recommendation is "passive"
about when NOFRAMES is rendered in a non-frameset document.

I actually thought that NOFRAMES has the same function as DIV 
in a non-frameset document, but this is wrong, as explained below.

The paragraph that Ian quoted (the first that I quote)
suggests that if a document has NOFRAMES element, and is rendered 
"framed" the content of the NOFRAMES element must be ignored.
This is because when a document is rendered framed, it must be 
that frames are turned on, and thus NOFRAMES is ignored.

This is quite ambiguous in the recommendation, that ommited 
all the discussion of NOFRAMES in non-frameset documents.

The proposed recommendation suggests to use NOFRAMES in non-frameset 
documents. It actually suggests that the NOFRAMES section of main.html 
will be shown when this document is not framed, even when the browser 
is configured to render frames (say, by someone following a link to 
it directly). This is in contradiction to the first paragraph that 
says that NOFRAMES will be rendered only when the browser is configured 
not to display frames.

In my view there is room to reduce confusion in the specs. 
Either explain clearly about NOFRAMES in non-frameset, or allow 
it only in frameset.


Regards,
Nir Dagan.
http://www.nirdagan.com

Received on Tuesday, 8 September 1998 14:39:16 UTC