Scegli il pattern corretto
Il resolution switching mantiene la composizione invariata e offre diverse larghezze di file. È il pattern abituale per foto prodotto, figure editoriali e card. Usa descrittori di larghezza come 480w o 1200w quando la larghezza renderizzata cambia con il layout. Il numero è la larghezza reale in pixel del file, non un target telefonico o un comando CSS.
Il density switching serve uno slot CSS fisso con più pixel sorgente per un display ad alta densità. I suoi descrittori sono 1x, 1.5x o 2x, e si adatta a un logo o un’icona che è costantemente, ad esempio, larga 160 CSS pixel. Non mischiare descrittori di larghezza e di densità in uno stesso srcset.
Usa i descrittori w con sizes quando un componente cresce o si restringe.
Usa i descrittori x senza sizes solo quando la dimensione CSS renderizzata è stabile.
Comprendi come sizes guida la selezione
Con i descrittori di larghezza, il browser valuta sizes prima di scaricare un’immagine. Ogni voce abbina una condizione media opzionale a una lunghezza. La prima condizione che corrisponde fornisce la source size; la lunghezza incondizionata finale è il fallback. sizes è un suggerimento per la selezione, non una regola CSS.
Il browser confronta quella source size con le larghezze dei candidati per calcolare una densità effettiva, poi può considerare la densità del display, lo zoom e le condizioni di rete. Non è obbligato a scegliere il nome file matematicamente più vicino. Fornisci candidati onesti e una stima attendibile dello slot; la decisione finale della selezione rimane del user agent.
La prima condizione media che corrisponde vince, quindi scrivi la lista nell’ordine che rende corretta quella prima corrispondenza.
Una card desktop di un terzo della larghezza descritta come viewport-wide può attivare un candidato inutilmente grande.
Deriva i candidati dal layout reale
Fai l’inventario dei componenti, non delle pagine. Un hero, una figura editoriale, una galleria prodotto, una miniatura di ricerca e il logo del footer spesso hanno larghezze di slot diverse. Per ognuno, registra la larghezza renderizzata più stretta e più ampia, il rapporto d’aspetto, il comportamento di ritaglio e la visibilità nella schermata iniziale.
Genera larghezze attorno all’intervallo di slot significativo del componente, con un’opzione più grande quando il dettaglio giustifica il rendering ad alta densità. File praticamente identici aggiungono complessità a build e cache; solo un file molto piccolo e uno molto grande costringono a compromessi. Testa gli URL generati invece di presumere che le trasformazioni immagine funzionino.
Mantieni un src di fallback valido e valori width e height che corrispondono al rapporto consegnato. Riservano spazio ma non impediscono al CSS responsive di cambiare le dimensioni finali.
Un candidato dichiarato come 800w deve essere effettivamente largo 800 pixel.
Mantieni lo slot e il piano dei candidati insieme ai cambi di template e design.
Usa picture per art direction
L’art direction cambia la composizione, non solo la dimensione del file. Una foto paesaggio larga potrebbe aver bisogno di un ritaglio in formato verticale su uno schermo stretto in modo che il soggetto rimanga visibile. L’elemento picture può offrire opzioni di sorgente specifiche per media, seguite da un singolo img di fallback. Il browser considera media, type e srcset di ogni source; l’img porta il testo alternativo, le dimensioni e il comportamento di fallback.
Prepara ogni ritaglio con revisione editoriale e di accessibilità. Un ritaglio mobile può rimuovere un dettaglio del prodotto o una persona menzionata nel testo alternativo. Metti alt su img e descrivi le informazioni o la funzione che l’immagine trasmette. Usa alt="" solo per un’immagine genuinamente decorativa; per un’immagine linkata o un pulsante, descrivi l’azione invece dell’aspetto. Non introdurre picture quando il ritaglio non cambia: un ordinario srcset basato sulla larghezza è più semplice.
Un hero desktop affollato ha bisogno di un ritaglio in formato verticale distinto per un telefono.
Una source in picture può offrire un hint di type e preservare un img di fallback ampiamente utilizzabile.
Evita costosi errori di caricamento e markup
Lo spreco consueto è copiare sizes="100vw" su ogni immagine. Può adattarsi a una figura stretta a tutta larghezza ma non a un contenitore con cap, o a una card desktop limitata. Il fallimento opposto è avere sizes obsolete dopo un redesign. Cambia CSS e sizes insieme.
Non lazy-loadare un’immagine importante nel contenuto inizialmente visibile. Le linee guida raccomandano il lazy loading per le immagini sotto la piega e di mantenere eager l’hero visibile. Fetch priority può elevare un’immagine veramente vitale, ma regole ampie di alta priorità o preload possono penalizzare le prestazioni. Non fare affidamento su nomi file o risultati in cache come prova.
Un CMS, proxy o cache può nascondere un descrittore sbagliato o una richiesta immagine non intenzionale.
Non fare dipendere testo essenziale della pagina solo da un ritaglio art-directed.
Testa la richiesta, il ritaglio e la riparazione
Testa pagine rappresentative a larghezze che cambiano layout, inclusi appena sopra e appena sotto un breakpoint di griglia. Includi un’impostazione ad alta densità, desktop ampio e stati che alterano lo slot. Conferma dimensioni renderizzate, ritaglio, testo alternativo e nitidezza visiva.
In Chrome DevTools, apri Network, ricarica con cache disabilitata o usa Empty Cache And Hard Reload, filtra le richieste immagine e ispeziona URL, dimensione trasferita, header, initiator e tempi. Throttle per rivelare lavori tardivi o dispendiosi. Registra viewport, device scale factor, slot, candidato, byte trasferiti e risultato atteso.
Quando un template, un breakpoint, un CDN o una pipeline di asset cambia, rendi questo un gate di rilascio. Ripara in modo mirato: correggi sizes, sistema un descrittore, rigenera un ritaglio, ripristina un fallback o rimuovi un preload non necessario. Ritesta con un reload a cache vuota.
Il pannello Network registra il candidato effettivamente richiesto.
Questo verifica il comportamento di consegna dell’immagine, non la capacità dell’origine, la disponibilità del CDN o l’uptime complessivo.
Applicalo come controllo di resilienza SIU
Le immagini responsive riducono il trasferimento evitabile ma non possono garantire una richiesta riuscita. Errori di origine, trasformazioni non disponibili, host di terze parti e guasti CDN richiedono pianificazione separata per continuità e recovery.
Per SIU, usa record di test per catturare regressioni di consegna precocemente, identificare il template responsabile o la regola di trasformazione e applicare la più piccola correzione sicura prima del lancio. Abbina questo a un preflight di disponibilità e a un piano di rollback.
Assegna un owner per componente e pipeline immagine per ogni controllo di selezione fallito.
