CSS3 cascading - about undefined rules

The cascading module of CSS (http://www.w3.org/TR/css3-cascade/) currently  
has a small gap: what to do when rules produce undefined values.

Consider the following example
<table><tr><td>
   <textarea src="" style="width:100%"/>
</td></tr></table>

The textarea needs to know the width of its parent, and since it's a table  
it'll fit its content, thus trying to get its child width.
This deadlock can't be solved, therefore it's left for the UA's error  
handling.
Gecko, IE and KHTML ignore the rule in the cascading process, so the UA  
will use other value for the textarea's width, like another css value, the  
UA's defaults or a possible cols attribute.
However, Opera treats the undefined value as 0 and collapses the table and  
it's content, making it invisible, disregarding other values with lower  
priority.
I believe there's no mention in CSS of what to do in these specific cases,  
of recursion and/or undefined values.

There can be other cases where this behaviour happens.
So it should be stressed in the cascading model, that rules that produce a  
undefined value must be ignored.
It's a way to compensate for ambiguity.

Received on Monday, 18 September 2006 03:16:22 UTC