Dumbing things down is not the way
According to Jeffrey Zeldman it is a good thing that CSS 1 (and 2.1) wasn’t very advanced, because otherwise it would have been too overhelming for newbies.
I disagree. Imagine in other professions possibilities being limited in order to make them easier to learn. Wouldn’t that be both insulting to newcomers and damaging to advanced users? Besides, HTML and CSS are still very easy to learn compared to other techniques such as Javascript, PHP or Flash/Actionscript.
Mr. Zeldman even claims that “This striving to be understood and used by the inexperienced is the underlying principle of all good design, from the iPhone to the Eames chair.” I love Eames chairs for their looks, but I’ve never encountered a chair that’s hard to use, so I don’t really get this comparison. And CSS is not an iPhone. An iPhone is just a product, but working with HTML and CSS is a proper job. Surely a person can be expected to invest time and energy in learning a new job?
Now I understand Mr. Zeldman’s argument that adoption of standards would have been slower if CSS had been harder to learn. However, in my experience, having too many options isn’t what makes CSS hard. If you don’t understand a property or a selector, you can choose not to use it. The biggest problem for newcomers is inconsistency of browser support. This is the main reason why some developers still use tables.
And the reason some designers and developers prefer Flash over HTML/CSS is actually because of the limited possibilities of the latter. Many things that can easily be done in Flash are difficult or even impossible to do with standards-compliant techniques. So yes, by all means make CSS richer and more complex. As long as the specs are clear and well written (I emphatically agree on that one) I don’t believe it would do any harm. Quite the contrary, actually.