W3C home > Mailing lists > Public > www-style@w3.org > September 2005

Re: Block-based parsing; allow lies

From: Kornel Lesinski <kornel@osiolki.net>
Date: Wed, 14 Sep 2005 12:58:16 +0100
To: "Anne van Kesteren" <fora@annevankesteren.nl>
Cc: www-style <www-style@w3.org>
Message-ID: <op.sw3cveli4suneb@idlaptop02.mshome.net>

On Wed, 14 Sep 2005 11:50:18 +0100, Anne van Kesteren  
<fora@annevankesteren.nl> wrote:

> Quoting Kornel Lesinski <kornel@osiolki.net>:
>> Vendors could use that intentionally to help authors avoid known  
>> rendering  bugs (iframe {z-index} could fail in Opera, div   
>> {background-attachment:fixed;} in IE, etc.)
>
> So vendors would have to documentate all their errors in order to do this
> correctly?

I haven't said 'all' and I haven't said 'have to'.
I've only mentioned that there would be such possiblity. That could be  
very good solution for few well-known hard-to-fix bugs.

Another good use of @required (NB: not requirement, but useful  
application) would be for small/medium screen rendering (Opera/Minimo).  
Browser could omit @required blocks that cause page to be too wide.

>> @required can't cause much harm - not as much as reliance on  
>> User-Agent  string or CSS hacks. OTOH it will encourage implementation  
>> and use of new  CSS features, especially those which aren't  
>> backwards-compatible.
>
> Which new features are not backwards compatible? They all should be.

* I've mentioned positioned generated content already. If generated image  
that was ment to be positioned is only added inline after element, it  
often breaks layout. CSS2 tells to ignore position and float, while  
CSS21/3 allows it (literarymoose had experiment with box ornaments that  
fails in Gecko because of that).

* text-shadow has incompatibility documented in the specs ("Eclipse"  
example).

* I'd like to create layout using display:table-cell or inline-block, and  
have float as fallback. I can't, because float implies display:block, and  
without float fallback layout will be broken too much. The result is that  
I have to use browser sniffing or hide {float:none;} using complex  
selectors, which already has proven to be harmful (IE7 implements new  
selectors, but not new display properties).


I know @required is not cure for all browser incompatibilities and  
certainly not bugs, but it can greatly help avoiding these problems. If in  
some practicular case browser lies or bugs cause @required to be useless,  
authors can always back it up with browser sniffing and CSS hacks, _like  
they have to do now anyway_.

-- 
regards, Kornel Lesiński
Received on Wednesday, 14 September 2005 11:55:45 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 27 April 2009 13:54:40 GMT