SVG Replacer und <object> Element
bearbeitet von
Hallo,
wie gesagt: Ich bin nicht bereit, so schnell aufzugeben wie Matthias das fordert.
Nach etwas Forschen habe ich den Grund gefunden:
<https://issues.chromium.org/issues/40811132>
Aber es ist nicht nur Chromium. Firefox tut das Gleiche. Ich kann mir auch vorstellen, weshalb sie das machen - wenn ich eine Darkmode-Seite habe und einen object-Inhalt einbinde, der davon nichts weiß, ist im object nichts mehr zu erkennen. D.h. das ist kein Bug, sondern eher ein Feature um das Web nicht kaputtzumachen.
Diese Überlegung würde auch für ein img gelten - nur tun sie es dort nicht.
Und es gibt einen opt-out aus diesem Lesbarkeitshelfer - danke an [StackOverflow](https://stackoverflow.com/questions/70352898/why-does-color-scheme-dark-cause-objects-to-have-white-backgrounds-in-chrom):
~~~css
object {
color-scheme: light;
}
~~~
Dann bleibt es auch dann transparent, wenn die Seite selbst im Darkmode ist. Innerhalb des SVG kann man immer noch abfragen, ob prefers-color-scheme: dark gewünscht ist. Oder direkt mit color-scheme:light dark und light-dark() arbeiten.
Einziger Schönheitsfehler: Wenn die Host-Seite (also das Wiki) sich mittels `color-scheme: light` dem Darkmode entzieht, propagiert das weder per img noch per object auf den Inhalt des object. Obwohl [dieses Caniuse](https://caniuse.com/mdn-css_at-rules_media_prefers-color-scheme_respects-inherited-scheme) nahelegt, dass sowas passieren müsste (aber nicht gespecct ist).
Ich bin nicht wirklich glücklich damit.
_Rolf_
--
sumpsi - posui - obstruxi