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)

x86
Windows NT
defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 3655

People

(Reporter: wolf-dietrich.moeller, Assigned: eric)

Details

Attachments

(1 file)

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?
dup of bug 3655 ?
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
Hi Wolf, I have created an attachment that you have asked for.
Product: Core → Core Graveyard
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.

Attachment

General

Created:
Updated:
Size: