Leerer srcset-Kandidat macht zehn Bilder unbrauchbar #133
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Symptom
Auf der Startseite laden zehn Bildquellen nicht — der Browser meldet
naturalWidth === 0, im Layout steht ein leerer Rahmen mit Alt-Text. Betroffen sind unter anderem beide Goldader-Bilder der Goldprozess-Sektion, zwei Porträtbilder und der Würfel der Vergleichssektion.Nachweis im gerenderten HTML:
Der zweite Kandidat hat keine Adresse. Der Browser liest die nackte Breite
750wals URL, fragt/750wan, bekommt einen Fehler und verwirft das Bild komplett.Ursache
templates/_components/core/image.twig:64-68baut die srcset-Kandidaten in einer Schleife und hängt die Breite auch dann an, wennimage.getUrl(...)einen leeren String liefert:Ist die URL leer, entsteht der String
" 750w"— ein Kandidat ohne Adresse, der die gesamte srcset-Liste unbrauchbar macht.Gegengeprüft:
getUrlliefert für dieselben Assets heute alle vier Breiten korrekt. Das kaputte Markup stammt aus dem Blitz-Seiten-Cache (config/blitz.php,cachingEnabled => true), gefüllt in einem Moment, in dem der 750er-Transform noch nicht fertig war.config/general.php:49setztgenerateTransformsBeforePageLoad(true), was genau diesen Zwischenzustand einfrieren lässt.Cache leeren ist deshalb kein Fix — der Zustand kommt wieder, sobald der Cache in einem ungünstigen Moment neu gefüllt wird. Die Komponente muss einen leeren Kandidaten überstehen.
Akzeptanzkriterien
webpCandidatesundfallbackCandidatesgefiltert, bevor|join(', ')läuftsrcset/sizesausgegeben, nursrccurl -s http://localhost:8090/ | grep -cE 'srcset="[^"]*(,|")\s+[0-9]+w'liefert0<img>der Startseite habennaturalWidth > 0Hinweis: Ein zweiter Befund (angeblich unsichtbare 96-px-Überschrift) stand ursprünglich hier und hat sich beim Nachprüfen als Gestaltungsentscheidung erwiesen — siehe Kommentar unten. Dieses Issue umfasst nur den srcset-Fix.
Korrektur: der zweite Befund ist kein Fehler
Der Abschnitt „Zweiter Befund im selben Änderungssatz" (unsichtbare 96-px-Überschrift) ist beim Nachprüfen weggefallen.
p.about__main-titleist absichtlich transparent:block.coreTextBackground(templates/_components/_blocks/pl_coreSection.twig:17-19) — Hintergrund-Schriftzug, nicht Fließtext.src/styles/components/about.scss:94-131setztcolor: transparentauf dem Element und rendert den Text über::before(radialer Gradient,background-clip: text) und::after(rgba($fontColor, .2)). Die Schrift wird also gezeichnet, nur sehr blass — als Geistertypo hinter der Sektion.block.coreItemsals<h2>in den Karten davor (pl_coreSection.twig:30-34).Beleg-Screenshot bei scrollY 900 zeigt den Schriftzug sichtbar, wenn auch kontrastarm und an beiden Viewport-Rändern beschnitten.
Ob dieser Effekt gestalterisch trägt, ist eine berechtigte Frage — aber sie gehört in die Gestaltungsarbeit an der Sektion, nicht in diesen Fehler-PR. Dieses Issue umfasst nur noch den srcset-Fix.
Ebenfalls hinfällig: der andernorts gemeldete Zahlenwiderspruch „139+ Stunden gegen 400 Stunden". Das Zahlenband zählt animiert hoch (
data-counter-countdown,pl_coreSection.twig:9); die Screenshots der Kritiker entstanden mitten in der Animation. Die Endwerte sind 100+ / 400+ / 10+ und decken sich mit dem Rest der Seite.Leere Transform-URL erzeugt unbrauchbares srcset, zehn Bilder laden nichtto Leerer srcset-Kandidat macht zehn Bilder unbrauchbar