Closed
Bug 121083
Opened 24 years ago
Closed 24 years ago
attributes frameborder and border on <FRAMESET> are non-standard and should be ignored
Categories
(Core :: Layout: Images, Video, and HTML Frames, defect)
Tracking
()
People
(Reporter: wolf-dietrich.moeller, Assigned: eric)
Details
Attachments
(1 file)
|
9.86 KB,
image/png
|
Details |
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (Windows; U; WinNT4.0; en-US; rv:0.9.7+) Gecko/20020107
BuildID: 2002010703
The handling of frameborders in Mozilla looks strange to me.
Eliminating all whitespace between frames is possible only using the
non-standard attributes frameborder=0 and/or border=0 on <FRAMESET>.
Summary of my opinion:
- attributes frameborder and border must be ignored on <FRAMESET>, as they are
non-standard.
- attribute frameborder=0 on all adjoining <FRAME> eliminates all space between
these frames (except when necessary for other frames sharing the same horizontal
or vertical separator).
This is the only standard-compatible way to eliminate all space between frames.
Reproducible: Always
Steps to Reproduce:
1.Display the frameset page (code of frameset page and content page given below)
2.
3.
Actual Results: see discussion in "expected results"
Expected Results: Discussion of borders from top to bottom:
This refers to the example page given at the end of this section.
1) Border between Head0Frame and Head1Frame is okay, as Head0Frame has no
"frameborder=0".
2) Border between Head1Frame and Frameset1 is okay, as Work1Frame has no
"frameborder=0" (perhaps part between Head1Frame and Nav1Frame not shown as
separator, but only as whitespace, as both have "frameborder=0". MSIE 6.0 does
it like this ??).
3) Border between Nav1Frame and Work1Frame is okay, as Work1Frame has no
"frameborder=0".
4) Border between Frameset1 and Head2Frame: similar to 2).
5) Borders in and around Frameset2, all of them wrong. There should be no
separators or whitespace at all, as all frames in and around (Head2Frame,
Nav2Frame, Work2Frame and Head3Frame) have "frameborder=0".
6) Borders in and around Frameset3, all of them wrong. They shold be displayed
as Frameset1. The attributes "border=0 frameborder=0" on Frameset3 should be
ignored, as they are non-standard in HTML4.0 and are only used for heritage
browsers such as Nav 4 and MSIE.
7) Border between Head4Frame and Frameset4 wrong, same bug as top border in 5).
8) Border between Nav4Frame and Work4Frame (all space eliminated) questionable.
This is the display I expected for the border between Nav2Frame and Work2Frame,
compare 5), and which is okay here. But it seems, that this behaviour here comes
only from the non-standard attributes "border=0 frameborder=0" on Frameset4,
which should not be necessary and even be ignored.
Or do you have an entirely different understanding of the HTML4.01 recommendation?
Details:
from FRAME-description in chapter 16.2.2 of HTML4.01
<http://www.w3.org/TR/html4/present/frames.html#h-16.2.2>:
snippet ---------------------------
frameborder = 1|0 [CN]
This attribute provides the user agent with information about the frame
border. Possible values:
* 1: This value tells the user agent to draw a separator between this
frame and every adjoining frame. This is the default value.
* 0: This value tells the user agent not to draw a separator between
this frame and every adjoining frame. Note that separators may be drawn next to
this frame nonetheless if specified by other frames.
--------------------------
Do you interpret "not to draw a separator" as "drawing a whitespace"? I
interpret it as "eliminate all space between frames" !!
Would this mean, that you cannot specify "join frames without whitespace in
between" using legal HTML4.0 ?
Is this the reason, why you still interpret the non-standard frameborder and
border attributes on FRAMESET?
A little bit further down in the same document it reads:
snippet --------------------------------
Visual rendering of a frame
The following example illustrates the usage of the decorative FRAME attributes.
We specify that frame 1 will allow no scroll bars. Frame 2 will leave white
space around its contents (initially, an image file) and the frame will not be
resizeable. No border will be drawn between frames 3 and 4. Borders will be
drawn (by default) between frames 1, 2, and 3.
--------------------------------
This ("No border will be drawn") I also interpret as "eliminate all space", as
the word border is used here instead of separator.
See also the dicussion of frameborders in
<http://www.htmlhelp.com/reference/html40/frames/frame.html>:
snippet ------------------------
The FRAMEBORDER attribute specifies whether or not the frame has a visible
border. The default value, 1, tells the browser to draw a border between the
frame and all adjoining frames. The value 0 indicates that no border should be
drawn, though borders from other frames will override this.
To fully remove the border, some browsers also require the use of other,
non-standard attributes. See How do I remove the border around frames?
<http://www.htmlhelp.com/design/frames/faq/noborder.html> for more details.
--------------------------
---------- <http://www.htmlhelp.com/faq/html/frames.html#frame-noborder>
--------------------------
12.9. How do I remove the border around frames?
Removing the border around frames involves both not drawing the frame borders
and eliminating the space between the frames. The two major frames-capable
browsers use different proprietary attributes to achieve this.
Netscape recognizes the BORDER attribute on FRAMESET. It can be set to 0, in
which case the border will not be shown, and the spacing will be set to zero.
Microsoft Internet Explorer recognizes the FRAMEBORDER and FRAMESPACING
attributes on FRAMESET, but in some versions also on FRAME for individual
frames. Both attributes must be set to 0.
So, the most widely supported way to display borderless frames is <FRAMESET ...
BORDER=0 FRAMEBORDER=0 FRAMESPACING=0>.
Note that these attributes are proprietary and not part of the HTML 4
specifications. Also, removing the border around a frame makes it impossible to
resize it, as this border is also used in most GUIs to change the size of the
window.
--------------------------
This means to me, that, in the intent of W3C, these non-standard attributes
should not be necessary to fully remove borders. I do not interpret "whether or
not the frame has a visible border", that in the "not"-case it means "the frame
has visible whitespace around it". Then the frame would still have a "visible"
border, which it should not.
############################################
Example frameset page code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">
<HTML>
<HEAD><TITLE>frameset example</TITLE></HEAD>
<FRAMESET rows="*,*,2*,*,2*,*,2*,*,2*">
<FRAME src="dummy.html" name="Head0Frame" marginheight="0">
<FRAME src="dummy.html" name="Head1Frame" frameborder="0" marginheight="0">
<FRAMESET title="Frameset1" cols="144,*">
<FRAME src="dummy.html" name="Nav1Frame" frameborder="0" marginwidth="0"
marginheight="0">
<FRAME src="dummy.html" name="Work1Frame">
</FRAMESET>
<FRAME src="dummy.html" name="Head2Frame" frameborder="0" marginheight="0">
<FRAMESET title="Frameset2" cols="144,*">
<FRAME src="dummy.html" name="Nav2Frame" frameborder="0" marginwidth="0"
marginheight="0">
<FRAME src="dummy.html" name="Work2Frame" frameborder="0">
</FRAMESET>
<FRAME src="dummy.html" name="Head3Frame" frameborder="0" marginheight="0">
<FRAMESET border="0" frameborder="0" title="Frameset3" cols="144,*">
<FRAME src="dummy.html" name="Nav3Frame" frameborder="0" marginwidth="0"
marginheight="0">
<FRAME src="dummy.html" name="Work3Frame">
</FRAMESET>
<FRAME src="dummy.html" name="Head4Frame" frameborder="0" marginheight="0">
<FRAMESET border="0" frameborder="0" title="Frameset4" cols="144,*">
<FRAME src="dummy.html" name="Nav4Frame" frameborder="0" marginwidth="0"
marginheight="0">
<FRAME src="dummy.html" name="Work4Frame" frameborder="0">
</FRAMESET>
</FRAMESET>
</HTML>
Example content page code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<HEAD><TITLE>dummy page</TITLE></HEAD>
<BODY text="#000000" bgcolor="#FF9933">
<DIV>blablabla</DIV>
</BODY>
</HTML>
################################
A screenshot of Mozilla Build 2002010703 on WinNT4.0 will be added.
################################
By the way: I wonder why this discussion did not show up until now in the bugs
list, at least not when I searched for "frameset". Or did I miss it?
| Reporter | ||
Comment 2•24 years ago
|
||
I agree, it's a duplicate of bug 3655.
(Sorry for the spam, but the bug is still annoying)
*** This bug has been marked as a duplicate of 3655 ***
Status: UNCONFIRMED → RESOLVED
Closed: 24 years ago
Resolution: --- → DUPLICATE
Comment 3•24 years ago
|
||
Comment 4•24 years ago
|
||
Hi Wolf, I have created an attachment that you have asked for.
Updated•7 years ago
|
Product: Core → Core Graveyard
Updated•7 years ago
|
Component: Layout: HTML Frames → Layout: Images
Product: Core Graveyard → Core
You need to log in
before you can comment on or make changes to this bug.
Description
•