- From: Smylers <Smylers@stripey.com>
- Date: Thu, 18 Jun 2009 17:33:33 +0100
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
Received on Thursday, 18 June 2009 09:33:33 UTC