Re: Selectors, vendor prefixes (again...) and IE9

On May 14, 2010, at 3:06 PM, Daniel Glazman wrote:

> Le 14/05/10 20:30, David Hyatt a écrit :
> 
>> The WebKit implementation has been around forever. I am not sure exactly when I implemented it, but at the time I don't recall ::selection being labeled as "at risk", and I went to a CR spec for details on how to implement it.   CR means you can drop the vendor prefixes as far as I'm concerned.
>> 
>> In terms of timing it's a lot like text-shadow.  We implemented it in WebKit a long long time ago back when it was in a CR/PR spec and not labeled as being at risk.
>> 
>> To retroactively accuse us of being sloppy with vendor prefixes because years later the WG decided they didn't like it is unfair.
>> 
>> Know your history,
> 
> Being the original author and editor of that spec, I know it pretty
> well, thanks. As I said previously, we have a hole in our process.
> ::selection was dropped after a first CR. So if we want to reach future
> interoperability on a feature that was dropped, the only real solution
> is to go back to vendor prefixes or suffer painful comments à la "we
> have users already relying on this".

The problem is once something is shipped with no vendor prefix, the genie is out of the bottle.  We can't then ship a new version that breaks a feature that people may have come to rely upon.  It's also not realistic to expect to wait until PR to drop the vendor prefixes.  It's also not realistic to expect the vendor to put the prefix back onto the property after shipping a version with no prefix.

It's important that if ::selection is specified, that it doesn't try to dictate a model that is incompatible with the UA's selection model.  The UA needs to have the flexibility to interpret the specified properties in a way that is compatible with its model.

As some have noted, WebKit has a very very different style of selection than other browsers (a model primarily motivated by the desire to match the way selection works elsewhere on OS X).  It applies to more than just text, involves gap filling in margins, etc., and does do color manipulation to ensure that the selection colors match when you both wash over animage or paint behind text.

dave
(hyatt@apple.com)

Received on Friday, 14 May 2010 22:39:41 UTC