- From: liorean <liorean@f2o.org>
- Date: Thu, 11 Mar 2004 14:15:21 -0500 (EST)
- To: Boris Zbarsky <bzbarsky@MIT.EDU>, "www-style@w3.org" <www-style@w3.org>
Boris Zbarsky wrote:
>>> :not(:link) { link: url(foo); }
>>>
>>>does trigger alarm bells)
Why? CSS shouldn't change the actual sematic meaning of elemnts in a
document (in difference to css generated content, which CSS will be the
sole semantic provider to), it should just change the presentation -
which in this case makes it behave as a link. Why make things difficult
by making css change the semantics as well?
I've said it before, but if you instead make a selector syntax that
matches css properties or property-value pairs (which would be immensely
useful for many other cases, e.g. my comments on css3-hyperlinks
earlier), then you could do the same as your example without making CSS
change the semantics.
(I don't know if you here agree with me, but I consider semantics a
property of the document and the document alone, not in any way related
to presentational )
> description { color: red }
> :link { color: green !important }
>
> :not(:link) { link: url(ref); }
>
> Markup:
>
> <description ref="http://somewhere">Text</description>
>
> What color is the text? Why? Does it make sense to have links that :link does
> not match?
Yes. This is a document element, it provides it's own semantics.
>>It would select every element that currently isn't a link. Then it tries
>>to create a link using
>>
>> link:url(foo);
>>
>>If attribute "foo" contains a valid URI, the link is created and the
>>selector doesn't apply anymore.
Well, that's not the interpretation I would make, for the reasons stated
above. Semantics do not belong in CSS and considering an elemnt to be a
link should not be based on CSS, it should be based on data inside the
document or the namespace or associated validation method alone. -
Unless there's a good light-weight way of describing the semantics of a
document that I've overlooked.
> That would be violating a fundamental design constraint of CSS -- property
> values cannot affect what rules apply to an element.
Well, as I said, a css property or property-value pair matching selector
would be very useful, and I can't belive it would be all that
complicated for user agents to support, as long as there's a way of
preventing circular matching defined in the specification.
--
David "liorean" Andersson
ViewStyles, ViewScripts, SwitchStyles and GraphicsInfo bookmarklets:
<http://liorean.web-graphics.com/>
Hangouts:
<http://codingforums.com/> <http://yourmusicforums.com/>
Received on Friday, 12 March 2004 06:11:46 UTC