Ein Smartphone mit 360 Pixel breitem Viewport benötigt meistens nicht dieselbe Bilddatei wie ein großer Desktop. Trotzdem wird häufig eine einzige große Datei an alle Geräte ausgeliefert und anschließend nur per CSS kleiner dargestellt.
srcset und sizes lösen dieses Problem. Sie geben dem Browser mehrere echte Bildvarianten und genügend Informationen, um selbst eine geeignete Quelle auszuwählen.
Das Grundproblem
Angenommen, ein Artikelbild wird:
auf kleinen Smartphones fast 100 % der Viewport-Breite,
auf Tablets ungefähr 700 Pixel,
auf Desktop maximal 1.000 Pixel
breit dargestellt.
Eine einzelne 2.400-Pixel-Datei ist für viele Geräte unnötig groß. Eine einzelne 600-Pixel-Datei ist auf großen oder hochauflösenden Displays möglicherweise zu klein.
Ein hochauflösendes Gerät braucht mehr Pixel, aber es muss nicht immer die maximal mögliche Quelle laden.
Browser wählen pragmatisch zwischen verfügbaren Kandidaten.
Deshalb sollte das srcset eine vernünftige Abstufung bieten.
CSS-Hintergrundbilder
srcset gilt für <img> und verwandte Mechanismen. CSS-Hintergrundbilder benötigen andere Strategien, etwa Media Queries oder image-set().
Für inhaltlich bedeutende Bilder ist <img> meist auch semantisch besser geeignet.
Accessibility bleibt unabhängig
Responsive Technik ersetzt keinen alt-Text.
Ein inhaltliches Bild braucht eine passende alternative Beschreibung. Ein dekoratives Bild sollte entsprechend behandelt werden.
Debugging im Browser
In DevTools lässt sich prüfen:
welche Datei geladen wurde,
ihre tatsächliche Breite,
Netzwerkgröße,
DPR,
Layoutgröße.
Das ist wichtig, weil die Auswahlentscheidung nicht nur aus dem HTML-Quelltext abgelesen werden kann.
Cache kann Tests verfälschen
Wenn bereits eine große Variante im Cache liegt, kann ein Browser sie weiterverwenden.
Beim Testen von srcset sollte der Cache berücksichtigt oder deaktiviert werden.
Ein sinnvoller Workflow
maximale Layoutgrößen bestimmen;
hochwertige Quelle wählen;
einige sinnvolle Breiten erzeugen;
jede Variante passend komprimieren;
srcset definieren;
sizes an das echte Layout anpassen;
width/height für das Seitenverhältnis setzen;
LCP-Bilder priorisieren;
unterhalb des Folds Lazy Loading nutzen;
im echten Browser überprüfen.
Fazit
srcset beschreibt welche Bilddateien verfügbar sind. sizes beschreibt wie groß das Bild im Layout voraussichtlich erscheint. Der Browser kombiniert diese Informationen mit Pixeldichte und Viewport und wählt eine passende Quelle.
Die Technik funktioniert am besten als Teil einer vollständigen Bildstrategie: richtige Abmessungen, geeignetes Format, gute Kompression und reales Performance-Testing.