[whatwg] HTML 5 : Misconceptions Documented

Lachlan Hunt lachlan.hunt at lachy.id.au
Sun Jan 18 10:55:17 PST 2009


Mike Wilson wrote:
> Ian Hickson wrote:
>> On Sat, 17 Jan 2009, Mike Wilson wrote:
>>> So I wonder what is your process 
>>> for determining if a "quirk" should be included in HTML5 or not?
>> It basically boils down to "did Web browser vendors find that if they 
>> didn't implement it, enough people complained to justify spending the 
>> resources to implement it after all?".
> 
> Ah, so your process is really to look at if browser vendors
> historically have added special handling for individual quirks
> and then mimic "popular" solutions in the spec?

For some things, yes.

> Now I am just being curious ;-) but how on earth do you find
> all quirks (and if they have been specially dealt with) - is it
> up to reports on the mailing list or are you reading source 
> code? :-)

Some things are known based on experience, because they occur so 
freqently in practice.  But in general, when trying to spec a particular 
feature, a lot of time is spent testing and reverse engineering it using 
a variety of techniques including black box testing, reviewing past bug 
reports or even looking at the source code of the open source browsers.

For some examples of this, take a look at these articles
http://ln.hixie.ch/?start=1037910467&count=1
http://ln.hixie.ch/?start=1137799947&count=1
http://ln.hixie.ch/?start=1155195074&count=1
http://ln.hixie.ch/?start=1158969783&count=1
http://ln.hixie.ch/?start=1161042744&count=1
http://ln.hixie.ch/?start=1161121410&count=1

> And do you generally find concensus among the non-MS vendors or
> are there many quirks that are only worked around in a single 
> browser, and how do you handle that?

If possible, we try to spec the behaviour that has the most 
interoperability among the browsers. i.e. If 3 out of 4 browsers do A, 
and the the other does B, and there's no significant evidence of 
compatibility problems with A, then the spec is likely to define A.

If there's no interoperabiliy at all between the browsers (i.e. All 
browsers do something completely different), then we have a little more 
freedom to pick the most sensible alternative, taking into account any 
compatibility issues with real world content.

>>>> The idea is to make it so that browsers don't feel forced to 
>>>> add _any_ non-standard behavior (other than experimental
>>>> innovations using vendor-prefixed names and stuff).
> 
> Do you think this will happen with the current popular browsers, 
> ie will they actually remove existing code that implements 
> workarounds that don't make it into HTML5?
> Or will they employ some "legacy vs HTML5" mode switching where
> their custom workarounds are only in legacy mode?

If the spec omits something that we implement and there's evidence to 
suggest that we need to keep it for compatibility, then we'll try to get 
that added to the spec.  If it's something minor that no other browser 
does and it doesn't appear to be needed for compatibility with anything, 
then we're more likely to drop it.  There will not be, at least in 
Opera, Firefox or Safari, new modes added beyond the existing no quirks, 
limited quirks and quirks modes.

> I guess what I am really thinking about is whether there will
> ever be a "strict to standard" HTML5 implementation, or a
> reference implementation, that stays exactly on what is written
> in (or easily interpolated from) the HTML5 spec...?

There won't be any implementation considered to be the reference 
implementation. But the hope is that all implementations will eventually 
converge on implementing things in the same way, and that the spec will 
match.

-- 
Lachlan Hunt - Opera Software
http://lachy.id.au/
http://www.opera.com/



More information about the whatwg mailing list