[whatwg] Treatment of negative values for li

On Thu, Aug 12, 2010 at 1:24 PM, Aryeh Gregor <Simetrical+w3c at gmail.com> wrote:
> The HTML5 spec doesn't say UAs should treat <li value="-1"> different
> from a negative value specified for any long. ?For example, a get on
> the reflected attribute li.value should return "-1". ?In this test
> case:
>
> <!doctype html>
> <script>
> ? ?var el = document.createElement("li");
> ? ?el.setAttribute("value", "-1");
> ? ?alert(el.value);
> </script>
>
> Chrome dev, Safari 5, and Opera 10.60 all alert "-1" as expected, but
> Firefox 4.0b3 and IE8/9 (all modes) alert "0". ?In fact, Firefox and
> IE clamp all negative values to 0. ?Does anyone think this behavior is
> valuable, or should Firefox and IE change to match the spec? ?I don't
> see any reason to treat negative values specially, if the author goes
> out of their way to specify them.
>
> Relatedly, only Opera seems to handle markup like
>
> <!doctype html>
> <ol>
> ? ?<li value="-2">...
> ? ?<li value="-1">...
> ? ?<li value="0">...
> ? ?<li value="1">...
> </ol>
>
> correctly. ?IE8 and WebKit give 1, 2, 3, 1 (treating nonpositive value
> attribute the same as if it were missing), and Firefox gives 0, 0, 0,
> 1 (clamping negative values to 0). ?Opera gives -2, -1, 0, 1 as
> expected. ?Again, I think the spec is correct here, but since browsers
> disagree so widely, I'm asking for opinions before I file bugs against
> browsers.

CSS implicitly states that negative list-marker values are allowed, as
negative numbers are discussed in the Lists module.  Opera's behavior
should be the correct one here.

~TJ

Received on Thursday, 12 August 2010 13:32:21 UTC