::[ Empty Spaces ]::

Wandering through, a journey within.


The State of CSS

In Calling for a new CSS revolution, Daniel Glazman, author of some CSS3 modules, former member of the CSS Working Group at the W3C, current Invited Expert at the same group, and lead developer for the NVU html editor, reflects on the current state of CSS development. His reflection starts with an overview of what are, in his opinion, some of the historical mistakes the CSS WG has made over the past few years: focussing too much on backwards compatibility, lack of incremental versioning, and lack of pragmatism leading to a loss of momentum.

It is difficult to have a complete opinion on this, as part of the discussions are held behind closed doors at the level of the CSS WG, and only some of is aparant in the discussions on the public W3C mailing list. From my point of view as an author, CSS2.1, a much needed revision of the CSS2 recommendation, is coming along just fine, and does clarify and define the current state of CSS implementation well. Granted, it could have happened faster… . As far as the complexity question is concerned, I’ll respectfully disagree, from an author’s point of view. The main problem remains the conflicting and buggy implementation of current recommendations by user agents, and the lack of tools for authors to easily track, apply and manage style sheets.

Daniel then goes on with a 12 point list of ideas on what could be urgently needed, from the point of view of a stylesheet author. Some of those points are already part of the CSS 2.1 CR, and implemented by various UA‘s. Display:inline-block, anyone ? (but that one is sorely missing in the various Gecko browsers…). Other points are already part of some CSS 3 Modules (Selectors — implemented by WebCore, Gecko; Column layout — implemented Gecko), and I’m not so sure if those are urgently required — not to question their usefulness (the target pseudo-class is a godsend). Grid layout is not explicitly mentioned, but alluded nonetheless. Some other points (image handling) are more of a matter of appreciation, and, again, more of a problem of implementation, or lack there of (print media is a problem in most browsers).

Absent on this list, however, is a focus on text itself. CSS, up to CSS2.1, falls short across the board. Daniel doesn’t mention this, beyond the note on internationalisation. Curiously, this is one area where MSIE for Windows is quite ahead of the pack (for once I have something good to say about that browser…). Microsoft has implemented some properties (or should I call them extensions to CSS ?) that allow much better typographic control: properties on text handling (justification, white–space handling, display of East–Asian text, ruby). Some of these are luckily finding their way into CSS3 Modules.

Perhaps Daniel has a point here. But for his 12 point list to change the presentation of webdocuments in a radical way, and with this enhance the user experience, we’ll need one more step: interoperability. And unfortunately, one UA with–too–much–marketshare, will need to change it’s ways, drastically.