Gunnar Bittersmann: Frage zum Wiki-Artikel „oklab()“

Beitrag lesen

problematische Seite

@@Rudi Ratlos

Je nach Fundstelle varieren die Bezeichner der einzelnen Komponenten. Gefunden habe ich da bislang oklab(l a b / A) und oklab(l a b / alpha) (biese Versionen: MDN), oklab(L a b / A), oklab(L a b / Alpha) und, überwiegend, Stellen ohne „kalkulierbare“ Alpha-Werte. Da gibt es nur diskrete Zahlen.

Wenn du die Bezeichner als metasyntaktische Variablen (Platzhalter) verwendest, kannst du sie benennen, wie es am verständlichsten ist, bspw: rgb(rot grün blau / Alpha-Kanal) bzw. oklab(Helligkeit a-Wert b-Wert / Alpha-Kanal).

Dann wäre es aber vielleicht sinnvoll zu verdeutlichen, dass es sich um Platzhalter handelt; bspw. rgb(<rot> <grün> <blau> / <Alpha-Kanal>) oder oklab(<Helligkeit> <a-Wert> <b-Wert> / <Alpha-Kanal>).

Wenn es sich aber um Syntax handelt wie bei relativen Farbangaben, dann müssen die vorgegebenen Bezeichner eingehalten werden. Für den Alphakanal-Wert bspw. muss es alpha sein; a ist falsch, s. dieses Posting.

Das gesagt, ist es vielleicht doch besser, die Bezeichner konsistent zu verwenden, für metasyntaktische Variablen also dieselben wie die bei relativen Farbangaben. Also rgb(r g b / alpha) bzw. oklab(l a b / alpha).

Daß nicht auch noch ein oklab(l a b / a) dabei war, ist jedenfalls fast schon irritierend.

Bei relativen Farbangaben wäre das kein (Syntax-)Fehler; es bewirkt aber vermutlich nicht das Gewünschte, s. Codepen.

Bei oklch() hingegen ist die Verwendung von a ein Syntaxfehler. Die fehlerhafte Deklaration wird ignoriert; es gilt der Defaultwert.

🖖 Live long and prosper

--
“In my home, the America I love, the America I've written about, that has been a beacon of hope and liberty for 250 years, is currently in the hands of a corrupt, incompetent and treasonous administration. Tonight, we ask all who believe in democracy and the best of our American spirit, to rise with us, raise your voices against authoritarianism, and let freedom reign.”
— Bruce Springsteen, Manchester 2025-05-14