- From: Steven Pemberton <steven.pemberton@cwi.nl>
- Date: Thu, 20 Mar 2008 14:14:48 +0100
- To: "Anne van Kesteren" <annevk@opera.com>, www-style@w3.org
- Cc: "Forms WG" <public-forms@w3.org>, "XHTML WG" <public-xhtml2@w3.org>
Hi Anne, The XHTML2 WG discussed this issue yesterday. On Thu, 13 Mar 2008 09:29:37 +0100, Anne van Kesteren <annevk@opera.com> wrote: > On Wed, 05 Mar 2008 16:42:07 +0100, Steven Pemberton > <steven.pemberton@cwi.nl> wrote: >> In the context of the following >> >> @namespace "http://example.org/ns" >> >> foo {color: green} >> >> with a non-namespaced CSS processor all elements named foo will be >> green, >> while with a namespaced processor, only elements in the namespace named >> will be green. >> >> This seems to break an axiom of CSS versioning that later versions of >> CSS >> should not change the processing of earlier versions; it will therefore >> make it hard to make a stylesheet that works regardless of the presence >> of namespace processing. >> >> It would seem better if unqualified names continue to behave in the same >> way as non-namespaced processors, and that to select a particular >> namespaced version of an element, you should always use a qualified >> name. > > We discussed this and since @namespace has been around for a long time > it would probably break more if we removed the ability to do default > namespaces in CSS. In its almost nine years of existence this hasn't > been a problem really and we expect it to be not much of a hassle going > forward. Please let us know if you disagree with this response. There was a fairly strong opinion that we disagree with this. A last call is a last call, and if it has been broken for 9 years, then it still really ought to be fixed. As far as we are aware there is no other case where the semantics of a selector changes depending on which level of CSS is implemented, and that CSS's principle of upwards and downwards compatibility is a good one, that this breaks for the first time, making it harder to write interoperable cascading style sheets. However, if you unfortunately think that this principle can be broken in this case, then we think that the specification should draw attention to it, deprecate default namespaces, and give help on how to avoid the problems, principally by not using default namespaces, but always using namespaced selectors: Don't use: a {color: red; text-decoration: underline} @namespace "http://www.w3.org/1999/xhtml" a {color: blue} but use: a {color: red; text-decoration: underline} @namespace html "http://www.w3.org/1999/xhtml" html|a {color: blue} Best wishes, Steven Pemberton For the XHTML2 WG
Received on Thursday, 20 March 2008 13:15:33 UTC