Quirks mode vs. standards mode (was: Re: ISSUE-54 (html5-doctype-vs-xslt): ...)

On Wed, 03 Sep 2008 16:31:16 +0200, Boris Zbarsky <bzbarsky@mit.edu> wrote:

> Simon Pieters wrote:
>> Some quirks can be copied to standards mode without breaking anything.
>
> Possibly, but should they?

Yes I think so. Having differences between the modes when not needed is  
not nice. In fact, having multiple modes at all sucks.


>>> 1) <body bgcolor="ffff00">, et. al. works in quirks mode but
>>>     not standards
>>  This one can be changed in standards mode to match quirks (they do in  
>> IE and Opera).
>
> Sort of.  For example, consider this:
>
>    <body bgcolor="deepbluegreen">
>
> (a color that's not an HTML4 color so parsed as quirky hex by browsers).

I thought browsers used css3-color rather than HTML4 color.

    http://simon.html5.org/test/html/parsing/color-attributes/the-algorithm/


>   Try that in your browser of choice.  In quirks mode, IE6 and IE8b2  
> gives a magenta background, as does Safari.  Gecko has a bright orange  
> (which is odd, 'cause I could have sworn we matched IE here in at least  
> a wide range of cases).  Opera does a kinda-tan color.  
> bgcolor="deepblue" comes out red in all of Firefox, IE, Safari, still  
> tan in Opera.
>
> In standards mode, Opera and Gecko ignore the bgcolor.  Safari still  
> does magenta, as does IE6.  And yes, sites do this sort of thing  
> somewhat commonly, according to our bug reports....
>
> I do see Opera applying 6-digit hashless hex colors even in standards  
> mode, so apparently the quirk in Opera is limited to things that contain  
> invalid hex digits?

I think we haven't fixed our color parsing yet but we intend to do the  
same thing in both quirks mode and standards mode.


>>> 4) height="100%" on <img>, <td>, and so forth.
>>  This is probably possible to copy to standards mode, but that would  
>> need a change to the CSS spec.
>
> It'd require pretty serious changes, actually....  The way it works in  
> quirks mode really doesn't fit well into the CSS model.

Ok.


>>> 7) rowspan/colspan="0" handled differently in quirks mode
>>  I think rowspan and colspan can work the same in both (as specced in  
>> HTML5).
>
> I haven't had a chance to look at the html5 spec, but treating  
> rowspan/colspan="0" per HTML4 spec in quirks mode caused a lot of grief  
> last time it was tried.

You'd do the opposite: treat rowspan/colspan="0" per quirks mode (or  
HTML5) in standards mode.


-- 
Simon Pieters
Opera Software

Received on Wednesday, 3 September 2008 15:56:56 UTC