Some additional comments (given that I've linked this in a later discussion)
> From elsewhere:
I think that while versioning is the wrong way to go, we should make
some effort in removing the dependence on technical browser hacks in
*design* degradation decisions. What if Internet Explorer 7 has no
'easy' unique css hack ("* html", I'm looking at you)? If we have a
!required-like syntax prepared in time for IE7 (an idea which I think
the IE team would entertain, certainly the likes of Dave Massey have
a genuine desire to fix IE, even if not right this second) then we've
got a chance of having CSS3 (and 4 and 5...) implemented with a syntax
that will allow people to move on with new properties at a rate that
suits their project, not browser support. And that's without having
to settle for 'all or nothing' degradation that comes with browser
sniffing and/or the time constraints to produce multiple style sheets
for older browsers - that kind of duplication is surely what we want
to get away from?
> And
Also - While this idea does not automatically protect against browser
implementation faults (the browser is responsible for the !required
decision, not the webmaster) it would allow a browser manufacturer to
'withdraw' a faulty CSS feature by marking it as not implemented, but
without any problems to broken layout.
As an extreme example: Lets say that the float-margin bug in IE was
found in a browser that released more regular engine updates. Mozilla
(ahem ;)) find this bug in Gecko and realise that they risk cacked up
pages, or misleading developers with a wrong implementation. For some
reason, it turns out to be a complex fix... however, they could deem
to patch Gecko to mark "float" as unsupported while they work on the
problem. Any !required markers would then be flagged up on and the
site would degrade rather than be rendered wrong. The support for
float would disappear, but without damaging pages which had prepared
their CSS with degradation in mind.
Thanks,
Ben