Re: [css-device-adapt] Accepting semi-colons as a separator for meta-viewport

On Thu, 20 Oct 2011 23:36:34 +0200, Tab Atkins Jr. <jackalmage@gmail.com>  
wrote:

> On Thu, Oct 20, 2011 at 10:12 AM, Peter Beverloo <beverloo@google.com>  
> wrote:
>> The CSS Device Adapt specification defines a parsing algorithm[1] for
>> the meta-element viewport content, which has been based on WebKit's
>> implementation that shipped with iOS4. This algorithm only accepts
>> commas as separators between properties.
>>
>> In reality, web authors are using both commas as semi-colons. A wide
>> range of websites, including CNN[2], Flickr[3] and Reddit[4] depend on
>> this behavior, which has led at least Mozilla and Microsoft to
>> implement it and, in case of the latter, write about it[5].
>>
>> I think the specification should adapt to reflect what authors are
>> doing. While it's unfortunate that the divergence between commas and
>> semi-colons happened, it's important for compatibility among mobile
>> browsers.
>>
>> Thanks,
>> Peter
>>
>> [1] http://dev.w3.org/csswg/css-device-adapt/#parsing-algorithm
>> [2] http://m.cnn.com
>> [3] http://m.flickr.com
>> [4] http://www.reddit.com/.compact (or http://m.reddit.com/)
>> [5]  
>> http://blogs.msdn.com/b/iemobile/archive/2010/11/22/the-ie-mobile-viewport-on-windows-phone-7.aspx
>
> Agreed that we should match current behavior, whatever it is.

There is no current behavior that matches all implementations. The current  
description matches Safari and Opera. If you add ';' as a valid separator,  
you'll probably describe Android WebKit and Fennec. I haven't analyzed  
those implementations in detail, so I don't know if there are other  
differences. The constraining procedure using the parsed values also  
differ, so it's not always easy to tell without looking at the source code.

> Hopefully by getting a single correct description of the necessary
> parsing algorithm we can get proper interop between everyone that
> prevents it from drifting further.

Depends on what you mean by a single correct description since the current  
implementations are not interoperable. You have to choose between one  
describing one of the existing implementations or choose an algorithm  
which matches neither.

-- 
Rune Lillesveen
Layout Group Manager
Core Technology Department
Opera Software ASA

Received on Friday, 21 October 2011 09:29:47 UTC