CarstenP: Pseudoklassen: Reihenfolge und :focus

Einen wunderschönen Guten Abend wünsche ich,

daß es bei einer Angabe der diversen CSS-Pseudoklassen für Links auf die richtige Reihenfolge ankommt, dürfte ja mittlerweile bekannt sein (wurde erst wieder in </archiv/2002/2/4004/> diskutiert, ist aber leider dem Archiv-Geist zum Opfer gefallen).

Zumindest Mozilla/Netscape6 kennt ja nun auch die Pseudoklasse :focus (Stichwort: dieser gepunktete Rahmen um die Links ;-)
Bloß: wo ist die nun einzuordnen? Sowohl in Selfhtml (http://selfhtml.teamone.de/css/eigenschaften/pseudoformate.htm#link_visited_hover_active_focus; http://selfhtml.teamone.de/css/eigenschaften/anzeige/pseudo_links.htm) als auch in einem Beitrag von Thomas Meinike im obigen (z.Z. nicht existenten) Thread ist die folgende Reihenfolge angegeben:

a:link
a:visited
a:hover
a:active
a:focus

Meine Frage dazu: sollte es nicht besser wie folgt aussehen?

a:link
a:visited
a:focus
a:hover
a:active

Im oberen Fall kann ein Link, der den Focus besitzt, keine andere Formatierung als die in a:focus definierte mehr annehmen. Wenn man also per Tastatur durch eine Seite navigiert und zum Anklicken des fokusierten Links dann doch die Maus benutzt, ist weder der "Hover-Effekt" noch das Aktivieren des Links sichtbar. Im zweiten Fall dagegen schon.

In http://www.w3.org/TR/REC-CSS2/selector.html#dynamic-pseudo-classes ist zwar die Reihenfolge der vier alt bekannten erwähnt und erklärt, aber über die Position von :focus wird hier geschwiegen.

Habe ich hier nur falsche Erwartungen oder ist das sowieso bloß Ansichts- und Geschmackssache oder überhaupt?

Was meint ihr dazu?  ;-)

Viele Grüße
Carsten

  1. Hallo,

    Im oberen Fall kann ein Link, der den Focus besitzt, keine andere Formatierung als die in a:focus definierte mehr annehmen. Wenn man also per Tastatur durch eine Seite navigiert und zum Anklicken des fokusierten Links dann doch die Maus benutzt, ist weder der "Hover-Effekt" noch das Aktivieren des Links sichtbar. Im zweiten Fall dagegen schon.

    Du kannst Regeln fuer a:focus:hover definieren.

    MfG, Thomas

    1. Hallo Thomas,

      Du kannst Regeln fuer a:focus:hover definieren.

      Ja, ist mir bekannt (ist ja beim W3C genauso erwähnt ;-). Bloß sah ich das bisher immer als Gestaltungsmöglichkeit für die unterschiedlichen Kombinationen der Pseudoklassen an (:hover alleine sieht anders aus wie :hover mit :focus; :active mit :link sieht anders aus wie :active mit :visited; [jede Menge weitere blödsinnige Kombinationen gelöscht])

      Bloß mit der selben Begründung, die Du für :focus und :hover anführst, könnte man jetzt genauso gut sagen: :visited gehört nach hinten und wenn man für besuchte Links einen :hover- und :active-Effekt haben möchte, dann muß man halt zusätzlich a:visited:hover und a:visited:active definieren.

      Oder anders ausgedrückt: wozu muß man Kombinationen heranziehen, wenn man es durch eine bestimmte Reihenfolge der einzelnen auch erreichen kann bzw. was spricht dafür, daß :focus nach hinten muß?

      Ich laß mich gerne davon überzeugen, daß :focus nach hinten muß. Aber wie du sicher merkst, kann ich es noch nicht einsehen ;-)

      Viele Grüße
      Carsten

      1. Hallo Carsten,

        Ich laß mich gerne davon überzeugen, daß :focus nach hinten muß. Aber wie du sicher merkst, kann ich es noch nicht einsehen ;-)

        Wenn es die Spezifikation nicht explizit vorschreibt, ist auch keine Ueberzeugungsarbeit noetig.

        Wenn man den Focus mittels TAB-Taste setzt, dann waere das wohl nach link / visited einzuordnen. Bei einem Mausklick nach hover und entweder vor oder nach active, weil dann focus und active zusammenfallen.

        MfG, Thomas

        1. Hallo Thomas,

          schon mal vielen Dank für Deine Meinung. Ich schlaf jetzt erstmal eine Nacht drüber ;-)

          Wenn es die Spezifikation nicht explizit vorschreibt, ist auch keine Ueberzeugungsarbeit noetig.

          Auch wieder wahr. Hoffentlich werden die in CSS3 etwas konkreter, damit es keine Geschackssache bleibt...

          Viele Grüße
          Carsten

      2. Nochmal Hallo,

        btw: sobald ein Link mit der Maus angeklickt wird, trifft sowohl :active als auch :focus zu. Wenn :focus also hinten sitzt, dann bekommt der Link gleich die für :focus definierte Formatierung. :active wäre also sinnlos und könnte gleich weggelassen werden...

        Viele Grüße
        Carsten