Hallo, Christian,
- Ich selbst sehe kein Problem darin, die Scrollbar zu verändern, auch wenn das nur bestimmte Arten von Benutzeragenten umsetzen können,
Schon klar, wir reden von einer Eigenschaft für den Medientyp screen - aber übrigens nicht generell für die Mediengruppe »visual«. Soweit wäre die Eigenschaft auch nicht auf andere visual-Medientypen übertragbar, da Browser dieser Medien wie ich sagte völlig unterschiedliche Mechanismen anbieten, um ein Dokument, welches nicht komplett auf die Ausgabefläche passt, zugänglich zu machen.
denn es gibt ja z.B. auch aureales CSS - das könnte im Moment kein einziger Benutzeragent auf meinem System umsetzen. (Mangels installiertem Soundkartentreiber)
Was willst du damit sagen?
Sofern du mir eine akustische CSS-Eigenschaft zeigst, welche Einstellungen jenseits des fiktiven übertragenen »Viewports« eines vorlesenden Browsers ändert, würde ich die Analogie verstehen, aber beispielsweise wird akustisches CSS keinesfalls die Vorleseparameter der browsereigenen Kontrollen, Mechanismen beziehungsweise Ausgaben ändern können. Auch hier besteht eine klare Trennung zwischen Dokument, auf dessen Ausgabe die Styles Auswirkungen haben und den browsereigenen Funktionen.
Natürlich muss ein Akustikbrowser keine visual/screen-Eigenschaften verstehen, wollte ich auch nie behaupten, aber wieso ist das ein Argument für eine Eigenschaft oder ein Pseudoelement, welche beziehungsweise welches die Formatierung der scrollbar erlaubt?
Pseudoelemente sind zwar flexibel und richten sich zum Teil nach den Umgebungsparametern, aber dennoch kann meiner Auffassung nach wie oben beschrieben die Scrollbar kein Pseudoelement sein, weil es sich nicht dynamisch in ein Markup-Element umsetzen lässt. Dann wäre eher eine scrollbar-Eigenschaft für das Wurzelelement logischer (wie im Microsoft-Konzept), da es sich streng genommen um den »overflow« dieses Elements handelt.
- Nur weil es in der aktuellen CSS2-Spezifikation so drinnensteht, heißt das noch lange nicht, dass das 100% sinnvoll ist.
Ich habe auch lediglich die inneren Strukturkonventionen interpretiert und vom Bestehenden und der Arbeit an CSS3 darauf geschlossen, wieso ein Pseudoelement hier fehl am Platz wäre.
Meiner Ansicht nach wäre - jetzt von der Struktur her gesehen und nicht von der Definition von Pseudoelementen her -
Welchen Sinn sollte das haben? Welche »Struktur«? Eine Scrollbar ist zwar eine spezielle Ausprägung beziehungsweise ein spezieller Unterteil eines Elements, aber wieso passt das Schema Element-Eigenschaft-Wert hier nicht?
Die Pseudoelemente sind in CSS eingeführt worden, um eine bestimmte Aufgabe zu erfüllen, und wie ich dargelegt habe, passt die Formatierung von Scrollleisten nicht in das momentane Konzept von Pseudoelementen. Ob dieses Konzept an sich sinnig beziehungsweise angemessen begrenzt ist, ist hier im Grunde genommen nicht die Frage, denn schließlich forderst du in bewusster Anlehnung an dieses bestehende Konzept ausdrücklich ein *Pseudoelement* ::scrollbar, obwohl es mit anderen bestehenden Pseudoelementen nichts gemein hat. Es sei denn, du willst in erter Linie das Pseudoelement-Konzept ausweiten beziehungsweise reformieren - in dem Falle ist dein Vorschlag nachvollziehbar (aber ich teile die Meinung nicht).
Einzig logisch scheint mir weiterhin, dem Wurzelelement direkt Styles für die Bildlaufleiste zuzuordnen, beziehungsweise dem Element, dessen übergroßer Inhalt durch Blättermechanismen zugänglich gemacht werden soll.
::scrollbar viel eleganter und flexibler als Eigenschaften, die man auf das Root-Element anwenden kann.
Das ist eine These, und bis jetzt hast du kein Argument genannt, sodass ich deine Position nicht verstehe.
Ob die Styles in einer Regel beispielsweise mit dem Selektor html oder html::scrollbar untergebracht werden, erscheint mir gleich, genauso bei anderen gewöhnlichen Elementen und Formularfeldern. (Sie lassen sich lediglich optisch trennen.) Ebenso denke ich, dass die Styles in der Regel untergebracht werden sollten, in welchem auch die jeweilige overflow-Deklaration untergebracht ist, beziehungsweise sie möglicherweise fehlt, aber implizit vorhanden ist und wirkt (Default-Wert auto: »should cause a scrolling mechanism to be provided for overflowing boxes.«).
Grüße,
Mathias