Re: [css3-hyperlinks] inclusion of Clink in next WD

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