[whatwg] Plus Signs in Signed Integers
Smylers
Smylers at stripey.com
Thu Jun 18 09:33:33 PDT 2009
The algorithm for parsing signed integers does not allow an optional
plus sign before positive integers; that is, parsing "+4" will return an
error at step 8 of this algorithm:
http://www.whatwg.org/html5#rules-for-parsing-integers
That is inconsistent with the algorithm for non-negative integers, which
tolerates (and ignores) a leading plus sign (step 6):
http://www.whatwg.org/html5#rules-for-parsing-non-negative-integers
It also doesn't seem to match browser behaviour: the <ol> element's
start attribute is an integer, so I tried this out in various browsers:
<ol start=+4>
<li>Plus four
</ol>
All the ones I had to hand (Firefox, Opera, Konqueror, Dillo, Lynx,
Links, and W3M) numbered the element with "4".
I've no idea if any web content is relying on this, but there doesn't
seem to be any harm in being consistent with both current browser
behaviour and non-negative integers.
To check that it is specifically the plus sign they are ignoring and not
any non-digit character I also tried:
<ol start=H2SO4>
<li>Acid test
</ol>
That should cause parsing an integer to abort and so the default of
start=1 to be used. Opera, Links, and W3M get that right. Konqueror,
Dillo, and Lynx all also seem to manage the aborting, but use a default
of zero instead. Firefox parses the "2" out of "H2SO4", seemingly using
the first integer it can find in the attribute, so possibly isn't
special-casing "+".
Smylers
More information about the whatwg
mailing list