- From: Boris Zbarsky <bzbarsky@MIT.EDU>
- Date: Sun, 02 Sep 2007 22:08:50 -0500
- To: "public-html@w3.org" <public-html@w3.org>
Consider the following HTML document:
<form method="GET">
<table>
<tr><td><input type="text" name="one" value="one"></td></tr>
<input type="hidden" name="two" value="two">
</table>
</form>
When parsed using the algorithm in HTML5 section 8.2.4.3.7, the DOM this creates is:
FORM
INPUT type=hidden
TABLE
TBODY
TR
TD
INPUT type=text
and then http://www.whatwg.org/specs/web-forms/current-work/#elements says that
the hidden input comes first in form.elements and
http://www.whatwg.org/specs/web-forms/current-work/#form-submission says that
the submitted query string needs to be "one=one&two=two".
Unfortunately, doing that breaks sites, as we (Mozilla) discovered when we
actually started doing the document order thing. See
<https://bugzilla.mozilla.org/show_bug.cgi?id=390565>.
What we are considering doing right now is allowing <input type="hidden"> (but
not other kinds of inputs) to be direct children of TABLE, TBODY, and TR. That
seems to address at least the site in question. Hopefully, the number of sites
that put non-hidden inputs in a place where they get shipped out from the table
_and_ depend on submission order being the same as source order is small.... But
then again, I'd banked that the number of sites which do the malformed content
above and depend on submission order is small too, and we found one pretty
quickly. :(
Thoughts?
-Boris
Received on Monday, 3 September 2007 03:09:02 UTC