CSS Redline

(The subject may be a bit missleading, but baseline and base are kinda overloaded. I'm sure someone can come up with a better name should the below be at all interesting.)

Hi,
The recent float and default style sheets discussions brought up an old thought from the back of my head that i think i should at least try to post about, even though i am sure many of you entertain similar ideas. While there obiously are some debates surrounding this issue in the archives, i did not find this particular suggestion.

I would say that the major problem for CSS as a language is the weakness in interoperability between implementations rather than a lack of features. While CSS2.1 seems like a worthwhile effort, i sometimes tend to doubt what purpose CSS3 serves at this point, since some of its features seem doomed to be poorly supported. Further, recent events in areas surrounding CSS could suggest that now is a good time to consider a different type of recommendation.

While i dont think people of this list are unaware that the interoperability costs are rather extreme i would still like to test what i suggest above. Consider what your first association to the following lines are, as opposed to what they ought to mean.
<?xml version="1.0" encoding="utf-8"?>
{w\idth: 10%}
* html p {...}
ul, ol {margin: 0px; padding: 0px}
@import
{voice-family: "\"}\"";...}
media="all"

To my mind, that the above is more or less required knowledge to use the language efficiently in reality is an issue. 

So what would such a new rec contain? I tend to see two possibilities, one which is probably more or less a dream and one that isen't really a solution. 

The best route would be to do "a XHTML2" and write a non-backwards-compatible version of CSS. The contents would of course be debatable to put it mildly, but it would have a different style in the user agent compliance sections, and should probably require things such as for example (written off the top of my head):
- strict box-model
- margin-collapse (possibly not the nested one, since it is possibly to advanced)
- floats
- a selector subset, with clearer requirements on for instance pseudo classes
- list-item-position: outside
- table-rendering (probably with border-collapse having the initial value of collapse)
- possibly even a new inline rendering concept. It should include how to handle markers from lists and reconsider the old margin/padding/border replaced vs non-replaced as well as possibly line-height foundations.
- possibly a normative as well as an informative default style sheet.

The basic idea is to make a technically correct but not necessarily backwards compatible rec of some basics of CSS rendering. This rec would need rather a strict compliance section, and UA:s claiming support should give authors a well defined base for media="screen" layouts as opposed to a more fully featured rec for all media types such as CSS3. 

Creating a rec like this is obviously a tremendous amount of work, but i do believe that there is enough knowledge collected over the years to make a reasonable subset of CSS2.1 features which should be required by this rec. I also believe that people know most of the issues that are more about choosing a solution (perhaps margin or padding on ol/ul) or where the correct solution is fairly obvious (width in the box model). I dont believe UA:s that do not perform positioned graphical display of CSS rendered content or who do not support media="screen" would elect to claim support for this rec. I do think that if possible, the exit critiera should be extended for this rec to mean that the rec as a whole must be implemented by two UA:s (this may have the useful sideeffect of limiting the amount of required features?) before it could pass the CR state.


The less useful route would be a rec that simply shows what users may expect to work more or less interoperably. This would probably be more about trivial properties and syntax.


So am i hopelessly idealistic or do UA:s need to differ in their handling of the CSS basics? If not, is it at all feasible to create such a subset of required functionality? 

 /Staffan

Received on Sunday, 27 July 2003 05:28:18 UTC