- From: Stuart Ballard <sballard@netreach.com>
- Date: Tue, 30 Jul 2002 14:03:21 -0400
- To: Ian Hickson <ian@hixie.ch>
- CC: Jerry Baker <jerrybaker@attbi.com>, www-style@w3.org
Ian Hickson wrote:
>
> Jerry Baker wrote:
>
>> Ian Hickson says:
>>
>>> 3) Simply say:
>>> :link:hover, :visited:hover
>>
>> And this works in all browsers that a:hover works in?
>
>
> Yes. Did you read the reference I gave?:
IMHO, the problem Jerry originally identified isn't so much that there's
no way to get the desired behavior in standards-compliant browsers, or
even to get the desired behavior cross-browser. It's that historically
and even today, web authors are making an exceptionally poor showing of
actually *doing* things that way.
This suggests that either browsers are going to have to use "quirks"
mechanisms once again to ensure that a:hover works in the
wrong-but-expected way on existing pages, or that CSS needs to provide a
way to support this "wrong" behavior officially *without* the web author
having to do the right thing.
In general, it seems to be easy to advocate to developers if you can
provide a simpler way to do what they're already doing, that works
without any major drawbacks, but it seems to be exceptionally hard to
advocate a 'better way' that involves more complexity for them, even if
it demonstrably *is* better.
We're asking developers to go from the familiar:
a:hover { ... }
To:
:link:hover, :visited:hover { ... }
The latter selector is nearly three times as long and has five (!) times
as much punctuation. It also has considerably less mnemonic value (the
first half is good - "'link' refers to links, great" - but then it
throws it all away - "isn't something that's 'visited' still a link? I
already specified links!").
Do you really expect to be able to successfully advocate this in time
for there to be essentially no pages out there doing it wrong when
browsers come out that do the right thing? Or are you resigned to using
quirks modes for yet another generation of browsers?
If CSS could be done all over again, I'd suggest that :link should apply
to both visited and unvisited links, and :visited should have a
corresponding :unvisited pseudo that would match specifically unvisited
links. Then again, I'd also use my time machine to redo HTML so that <a
name> wasn't the same element as <a href> and this whole thing would be
moot. Unfortunately, as they say, you "can't get there from here"...
Stuart.
--
Stuart Ballard, Programmer
NetReach - Internet Solutions
(215) 283-2300, ext. 126
http://www.netreach.com/
Received on Tuesday, 30 July 2002 14:03:30 UTC