Lieber Matthias,
es wird immer merkwürdiger und noch weniger intuitiv.
- Ein Element wird ohne Deine Kontrolle inhaltlich(!) verändert, weil ein Mechanismus an anderer Stelle dort einen Zustand ändert.
- Er sagt selber: But, I can't think of a better way to do this, um nach drei Bedingungen mit dem Unterkapitel But there are limitations fortzufahren. Soll uns das von der Richtigkeit des gewählten Ansatzes überzeugen? Also mich überzeugt das nicht.
Wir erinnern uns: Erlaubte Kindelemente von <select>
sind bisher <option>
und <optgroup>
- sonst nichts. Eine Abwärtskompatibilität sollte das besser berücksichtigen, als da noch einen (wirklich nur einen?) <button>
mit integriertem <selectedoption>
oder noch viel mehr beliebigen Kram vorzusehen.
Das bedeutet also, dass es mit der für HTML immer strengstens gebotenen Abwärtskompatibilität hier nur zum Teil klappt. Würde denn das neue <selectoption>
automatisch ins DOM injiziert, wenn das ursprüngliche HTML-Dokument dieses nicht definiert? Und weil das neue <select>
außerdem einen Button um dieses Element braucht, ohne den es auch nicht automagisch injiziert werden kann, müsste ein älteres Dokument zumindest diesen enthalten, damit man rein mit CSS dieses Selection-Dingsbums auch wirklich visuell aufhübschen kann. Aber der war nach der bisherigen Spec immer ungültiges HTML! Oder soll Abwärtskompatibilität nur bedeuten, dass es wie früher funktioniert und auch wie früher aussieht, wenn ausschließlich die altbekannten Kindelemente darin enthalten sind? Setzt man also bewusst auf Tag-Soup als Konzept?
Und genau jetzt stellt sich mir die Frage, ob man diese Altlast nicht lieber in der Ecke weiter verschimmeln lassen sollte, um für modernere Ansätze gleich ein neues Element samt allen Zutaten zu entwerfen. Das könnte man dann gleich mit allen Schikanen und style-baren Bausteinen entwerfen. Wäre doch voll super! Oder... ach so, jetzt will jeder, dass das Ding in seiner Struktur grundsätzlich frei und flexibel sein soll, weil jeder so seinen eigenen use case dafür hat. Hmm. Dann nehme man halt das, was es ohnehin schon längst gibt und höre damit auf, Zeit und Energie in eine nur homöopathisch sinnvolle Verschlimmbesserung zu stecken!
Liebe Grüße
Felix Riesterer