Closed Bug 272397 Opened 20 years ago Closed 20 years ago

Additional Space below </form> statement (move form { margin: 0 0 1em 0; } to quirk.css)

Categories

(Core :: Layout: Form Controls, defect)

x86
Windows 2000
defect
Not set
normal

Tracking

()

RESOLVED INVALID

People

(Reporter: mozilla_alt_support, Unassigned)

References

()

Details

(Keywords: regression)

Attachments

(3 files, 1 obsolete file)

User-Agent:       Mozilla/5.0 (Windows; U; WinNT4.0; en-US; rv:1.8a5) Gecko/20041125
Build Identifier: Mozilla/5.0 (Windows; U; WinNT4.0; en-US; rv:1.8a5) Gecko/20041125

In the Example the Border should go direct around the Button.
In Mozilla 1.73 and before everything was ok, beginning with 
about Mozilla 1.8x there is additional Space below the Button,
causing tables with multiple buttons not to align.
The Space exist if the /form is in a Table, it is
independant from the action of the button.


Reproducible: Always
Steps to Reproduce:
Put the following Code in a Web Page:

<table border="1">
<tr>
<td>
<form method="post" action="javascript:loadpopup()">
<input type="submit" value="Show Popup">
</form>
</td>
</tr>
</table>
Actual Results:  
Space below Button inside Border

Expected Results:  
Border with no Space direct around the Button
http://lxr.mozilla.org/mozilla/source/layout/style/forms.css#50
Status: UNCONFIRMED → NEW
Ever confirmed: true
Summary: Additional Space below </form> statement → Additional Space below </form> statement (move form { margin: 0 0 1em 0; } to quirk.css)
This is a big deal. I'll try to find what caused it.
Keywords: regression
Regression was between 1.8a2 and 1.8a3
Actual date of regression was between builds:

July 15 at 9AM and July 16 at 10 AM
Attached file My testcase (obsolete) —
These buttons should be aligned horizontally.
(In reply to comment #7)
> These buttons should be aligned horizontally.
Why should they? IE6 is not aligning them, neither in quirks mode or standards
mode. The fix for bug 168974 was about removing css quirks that aren't there in IE6.
(In reply to comment #8)
> (In reply to comment #7)
> > These buttons should be aligned horizontally.
> Why should they? IE6 is not aligning them, neither in quirks mode or standards
> mode. The fix for bug 168974 was about removing css quirks that aren't there
in IE6.

What was the justification for removing these, though?

What we have now is things that wokred in Mozilla 1.7 and Firefox 1.0, and now
they don't work in current Mozilla builds.

I'll check the code in the IBM app I have to see if they generate different code
for IE 6.
(In reply to comment #9)
> What was the justification for removing these, though?
Before that fix, Mozilla was behaving differently as IE6, now it is behaving the
same as IE6. The quirk css was originally intended to let Mozilla behave the
same as IE6, but instead it did the opposite.

You're right that this makes an odd difference with Mozilla1.7/Firefox1.0, though.
But that means that once you have some quirk css, you can never remove it,
because it will always break older Mozilla versions.
> What was the justification for removing these, though?

Having them in gave us behavior that was incompatible with other browsers (and by implication, 
with existing content, most of which is targeted at those other browsers).  The point of quirks 
mode is compatibility with existing content and other browsers, and the quirk was actually 
working against that.  Hence the removal.

In general, quirks will tend to get removed as the majority of content stops relying on them... so 
relying on them to start with is a really bad idea. 

I think this bug is invalid.
Attached file Better testcase
Actually, our behavior does NOT match IE now. It is actually the opposite of
Internet Explorer. Please try the new attached testcase in IE 6, current trunk
builds, and Firefox 1.0.

You will see three different results.

With form tag not closed:

FF 1.0 - buttons are aligned
IE 6.0 - buttons are aligned
Moz Trunk - buttons are not aligned

With form tag closed

FF 1.0 - buttons are aligned
IE 6.0 - buttons are not aligned
Moz Trunk - buttons are aligned
Attachment #168974 - Attachment is obsolete: true
Attached image Screenshot
The first part of the "Better testcase" testcase is influencing the second part
of the testcase, in both IE6 and also Mozilla seems like it. 
If you would handle those parts in different pages, then you would get different
results.

http://martijn.heelveel.info/test/mozilla/quirkform/first.htm
http://martijn.heelveel.info/test/mozilla/quirkform/output_first_comparison.htm
Mozilla1.7 is rendering the same as IE6 here, trunk Mozilla is rendering
different as IE6.

http://martijn.heelveel.info/test/mozilla/quirkform/second.htm
http://martijn.heelveel.info/test/mozilla/quirkform/output_second_comparison.htm
Mozilla1.7 is rendering different as IE6, trunk Mozilla is rendering the same as
IE6.

http://martijn.heelveel.info/test/mozilla/quirkform/both.htm
http://martijn.heelveel.info/test/mozilla/quirkform/output_both_comparison.htm
Mozilla.17 is rendering the first one the same as IE6 and the second one
different as IE6. Trunk Mozilla is both rendering different as IE6. 

Directory listing:
http://martijn.heelveel.info/test/mozilla/quirkform/

I knew that IE6 is acting rather strange with unclosed <form> tags (resulting in
this kind of behavior).
But Mozilla is also not really acting 'normal' -> In the second part of the
testcase of 'both.htm' no <form> element is around the <input> element. 
You would expect this to happen, because this is happening in 'second.htm', and
I would expect that the parsing of the second part of 'both.htm' is the same as
'second.html'. 
The behavior of IE in the "form tag not closed" case can't really be done in Mozilla, and 
we don't have plans to do it.  There are very old invalid bugs on that.

I'll look into why the two parts of the testcase interact with each other....
Actually, things are working "as designed".  An unclosed form tag means the form stays 
open; we don't allow anything else to close forms, since forms are commonly left open 
that way and expected to remain open.  Any new <form> tags encountered before a 
<form> is closed are ignored.

Note that IE is doing really bizarro things here (there are 6 inputs in the DOM, but only 4 
are rendering; there are nested <form> tags and other random <form> nodes elsewhere, 
etc, etc).

I don't think we want to reverse-engineer the IE DOM here, especially since it's likely that 
IE's submission behavior is somewhat divorced from the DOM.

So I'd say this is either invalid or wontfix...
Status: NEW → RESOLVED
Closed: 20 years ago
Resolution: --- → INVALID
For posterity, here is the actual code from an IBM product that is failing.

Anyone have a clue as to why someone would write code that closes a form before
opening it?

Doron said it was to work around an IE 5.5 bug.
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: