- Ab Chrome 135 wird für das
<select>-Element eine neue Funktion unterstützt, die CSS-Anpassungen ermöglicht und dabei die Barrierefreiheitsstandards beibehält
- Nach jahrelanger Abstimmung an der Spezifikation und Entwicklung wird dies als robuste Komponente bereitgestellt, die auch in älteren Browsern nicht kaputtgeht
- Auch HTML-Inhalte können eingebunden werden, und mit
appearance: base-select sind Animationen, Styling und vielfältige Anpassungen möglich
Einführung in appearance: base-select
HTML-Inhalte in <select> möglich
- Bisher ignorierten Browser Bilder oder SVGs innerhalb von
<option>
- Mit
appearance: base-select werden sie als HTML unverändert gerendert
- In Chrome sind Optionen mit eingebettetem SVG sichtbar, Safari, Firefox und andere unterstützen das jedoch nicht
- CodePen-Demo: Praxislink
- Diese Funktion wird als Finch-Experiment eingeführt und kann bei Bedarf wieder deaktiviert werden
Vollständige Anpassbarkeit
- Alle Bestandteile von
base-select lassen sich ersetzen, animieren und stylen
- Damit lassen sich aussagekräftige Auswahl-UIs in unterschiedlichen Designs erstellen
- Beispiele sind Statusanzeigen, Optionen mit Avataren, Farbwähler oder die Auswahl eines Veröffentlichungsstatus
- CodePen-Demo: Praxislink
JavaScript-Schnittstelle unverändert
- Das bisherige JavaScript-Verhalten von
<select> bleibt unverändert erhalten
- Wenn jedoch HTML in
<option> eingefügt wurde, sollte getestet werden, da sich das Parsing des ausgewählten Werts geändert hat
- Wird das Attribut
value verwendet, sind keine zusätzlichen Anpassungen nötig
Weiterführende Materialien
Webstandards
Materialien zu Chrome
Community-Materialien
Demos mit angepassten <select>-Elementen
4 Kommentare
Hacker-News-Kommentare
Dass ich über diese Funktion unverhältnismäßig begeistert bin, verrät wahrscheinlich den Webentwickler in mir aus den frühen 2000ern. Das ist eine sehr nützliche Funktion, weil das
select-Element Fähigkeiten bietet, die sich in HTML nicht nachbilden lassenBis diese Funktion breit unterstützt wird, sollte man sie als progressive Verbesserung einsetzen. Laut caniuse.com wird sie derzeit weltweit zu 46 % unterstützt
Ich freue mich sehr, dass das umgesetzt wird. Es wird eine deutlich größere Verbesserung sein als benutzerdefinierte Ersatzlösungen für Auswahlfelder
Mich beunruhigt, dass dadurch keine integrierten mobilen Betriebssystem-Komponenten ausgelöst werden. Die integrierten Komponenten sind zuverlässig, barrierefrei und reaktionsschnell
Bei manchen Controls ist es besser, kein Styling anzuwenden. Bei Scrollbars sind sie oft zu schmal oder der Farbkontrast ist zu schlecht, sodass sie schwer zu benutzen sind
select-Element ist nicht das schönste Control, erfüllt aber seinen ZweckDarauf scheinen Webentwickler seit Jahrzehnten zu warten. Es hat das Potenzial, viele JS-Bibliotheken zu ersetzen
select-Elemente lassen sich in Chromium-Browsern nun mit CSS anpassenEin Link zum Firefox-Issue wurde bereitgestellt
Wenn das so weitergeht, werden wir bald Funktionsparität mit VB6 haben
Besser als kaputte JS-Bibliotheken. Aber meine Hauptsorge ist, wie das Layout bei vielen Optionen aussieht
anchor()positioniertHeißt das, dass
<selectlist>dann nicht mehr nötig sein wird?Eine andere Sache: Im Slack-Bot wird das
<select>im Titel offenbar nicht angezeigt, haha.Ach, das werde ich später korrigieren.