{"id":164031,"date":"2024-08-02T09:00:00","date_gmt":"2024-08-02T07:00:00","guid":{"rendered":"https:\/\/gtechgroup.it\/blog\/immagini-html-tag-img-best-practice\/"},"modified":"2024-08-02T09:00:00","modified_gmt":"2024-08-02T07:00:00","slug":"immagini-html-tag-img-best-practice","status":"publish","type":"post","link":"https:\/\/gtechgroup.it\/blog\/immagini-html-tag-img-best-practice\/","title":{"rendered":"Immagini in HTML: Il Tag img e le Best Practice per il Web"},"content":{"rendered":"<p style=\"text-align: justify;\">Le <strong>immagini<\/strong> sono un elemento fondamentale di qualsiasi sito web moderno. Attirano l&#8217;attenzione, comunicano concetti complessi in modo immediato e migliorano l&#8217;esperienza utente complessiva. In HTML, il tag <code>&lt;img&gt;<\/code> \u00e8 lo strumento principale per inserire immagini nelle pagine web. Tuttavia, utilizzarlo correttamente richiede attenzione a numerosi aspetti: dall&#8217;accessibilit\u00e0 alla performance, dalla SEO alla responsivit\u00e0.<\/p>\n<h2>Il Tag img: Sintassi e Attributi Essenziali<\/h2>\n<p style=\"text-align: justify;\">Il tag <code>&lt;img&gt;<\/code> \u00e8 un <strong>elemento auto-chiudente<\/strong> (void element), il che significa che non ha un tag di chiusura. Richiede obbligatoriamente due attributi: <code>src<\/code> e <code>alt<\/code>.<\/p>\n<p style=\"text-align: justify;\">L&#8217;attributo <code>src<\/code> (source) specifica il <strong>percorso dell&#8217;immagine<\/strong>. Pu\u00f2 essere un URL assoluto (<code>https:\/\/esempio.com\/foto.jpg<\/code>), un percorso relativo (<code>immagini\/foto.jpg<\/code>) o anche un data URI per immagini inline codificate in Base64. La scelta tra URL assoluto e relativo segue le stesse logiche dei <a href=\"https:\/\/gtechgroup.it\/blog\/link-html-tag-ancora-navigazione\/\">link HTML<\/a>.<\/p>\n<p style=\"text-align: justify;\">L&#8217;attributo <code>alt<\/code> (alternative text) fornisce una <strong>descrizione testuale<\/strong> dell&#8217;immagine. Questo testo viene visualizzato quando l&#8217;immagine non pu\u00f2 essere caricata, viene letto dagli screen reader per gli utenti con disabilit\u00e0 visive e viene utilizzato dai motori di ricerca per comprendere il contenuto dell&#8217;immagine. La sintassi base \u00e8: <code>&lt;img src=\"foto.jpg\" alt=\"Descrizione dell'immagine\"&gt;<\/code>.<\/p>\n<p style=\"text-align: justify;\">Gli attributi <code>width<\/code> e <code>height<\/code> specificano le <strong>dimensioni<\/strong> dell&#8217;immagine in pixel. Anche se le dimensioni vengono spesso gestite via CSS, specificarle direttamente nell&#8217;HTML ha un vantaggio importante: permette al browser di <strong>riservare lo spazio<\/strong> necessario durante il caricamento della pagina, evitando il fastidioso effetto di layout shift (lo spostamento degli elementi quando l&#8217;immagine viene finalmente caricata). Questo ha un impatto diretto sul punteggio <strong>CLS<\/strong> (Cumulative Layout Shift), uno dei Core Web Vitals di Google.<\/p>\n<h2>Scrivere Alt Text Efficaci<\/h2>\n<p style=\"text-align: justify;\">La qualit\u00e0 dell&#8217;<strong>alt text<\/strong> ha un impatto significativo sull&#8217;accessibilit\u00e0 e sul SEO. Un buon alt text deve essere <strong>descrittivo, conciso e contestuale<\/strong>. Ecco le linee guida fondamentali:<\/p>\n<ul>\n<li><strong>Descrivi cosa mostra l&#8217;immagine<\/strong>, non cosa \u00e8 l&#8217;immagine. Scrivi &#8220;Sviluppatore che programma su un laptop in un ufficio&#8221; anzich\u00e9 &#8220;Foto di programmatore&#8221;.<\/li>\n<li><strong>Sii conciso<\/strong> \u2014 idealmente tra 5 e 15 parole. Gli screen reader leggono l&#8217;intero alt text, quindi evita descrizioni troppo lunghe.<\/li>\n<li><strong>Non iniziare con &#8220;Immagine di&#8230;&#8221;<\/strong> \u2014 gli screen reader annunciano gi\u00e0 che si tratta di un&#8217;immagine, quindi sarebbe ridondante.<\/li>\n<li><strong>Includi keyword pertinenti<\/strong> quando \u00e8 naturale farlo, ma senza forzature. Il keyword stuffing nell&#8217;alt text \u00e8 penalizzato da Google.<\/li>\n<li><strong>Per immagini decorative<\/strong> (che non aggiungono informazioni al contenuto), usa un alt text vuoto: <code>alt=\"\"<\/code>. Questo comunica allo screen reader di ignorare l&#8217;immagine.<\/li>\n<\/ul>\n<p style=\"text-align: justify;\">Per le immagini che contengono <strong>testo<\/strong> (come infografiche o screenshot), l&#8217;alt text dovrebbe includere quel testo o un suo riassunto. Per grafici e diagrammi, descrivi i dati chiave o le tendenze mostrate.<\/p>\n<h2>Formati Immagine: JPEG, PNG, WebP e AVIF<\/h2>\n<p style=\"text-align: justify;\">La scelta del <strong>formato immagine<\/strong> corretto \u00e8 cruciale per bilanciare qualit\u00e0 visiva e dimensione del file. Ogni formato ha caratteristiche specifiche che lo rendono adatto a diversi casi d&#8217;uso:<\/p>\n<p style=\"text-align: justify;\"><strong>JPEG<\/strong> (Joint Photographic Experts Group) \u00e8 il formato ideale per <strong>fotografie<\/strong> e immagini con molte sfumature di colore. Supporta la compressione lossy (con perdita di qualit\u00e0) che permette di ottenere file molto piccoli. Non supporta la trasparenza. \u00c8 il formato pi\u00f9 universalmente supportato.<\/p>\n<p style=\"text-align: justify;\"><strong>PNG<\/strong> (Portable Network Graphics) \u00e8 preferibile per immagini che richiedono <strong>trasparenza<\/strong> (canale alpha), grafica con bordi netti, loghi e icone. Utilizza compressione lossless (senza perdita di qualit\u00e0) ma produce file pi\u00f9 pesanti rispetto al JPEG per le fotografie.<\/p>\n<p style=\"text-align: justify;\"><strong>WebP<\/strong> \u00e8 un formato sviluppato da Google che offre <strong>compressione superiore<\/strong> sia lossy che lossless, supporta la trasparenza e le animazioni. A parit\u00e0 di qualit\u00e0 visiva, un file WebP \u00e8 in media il 25-35% pi\u00f9 piccolo di un JPEG equivalente. \u00c8 supportato da tutti i browser moderni ed \u00e8 diventato lo standard de facto per le immagini web.<\/p>\n<p style=\"text-align: justify;\"><strong>AVIF<\/strong> (AV1 Image File Format) \u00e8 il formato pi\u00f9 recente e offre una <strong>compressione ancora migliore<\/strong> rispetto a WebP, fino al 50% pi\u00f9 efficiente del JPEG. Il supporto dei browser \u00e8 in rapida crescita ma non \u00e8 ancora universale, quindi \u00e8 consigliabile utilizzarlo come opzione primaria con fallback a WebP o JPEG.<\/p>\n<h2>Lazy Loading: Caricare le Immagini al Momento Giusto<\/h2>\n<p style=\"text-align: justify;\">Il <strong>lazy loading<\/strong> \u00e8 una tecnica che ritarda il caricamento delle immagini fino a quando non stanno per entrare nel viewport (l&#8217;area visibile) dell&#8217;utente. Questo migliora drasticamente i tempi di caricamento iniziale della pagina, particolarmente importante per pagine con molte immagini.<\/p>\n<p style=\"text-align: justify;\">Con HTML5, il lazy loading nativo \u00e8 diventato semplicissimo da implementare grazie all&#8217;attributo <code>loading<\/code>: <code>&lt;img src=\"foto.jpg\" alt=\"Descrizione\" loading=\"lazy\"&gt;<\/code>. I valori possibili sono <code>lazy<\/code> (caricamento differito) e <code>eager<\/code> (caricamento immediato, il comportamento predefinito).<\/p>\n<p style=\"text-align: justify;\">\u00c8 importante <strong>non<\/strong> applicare il lazy loading alle immagini <strong>above the fold<\/strong> (visibili senza scorrere la pagina), come il logo, l&#8217;immagine hero o la prima immagine del contenuto. Queste immagini dovrebbero caricarsi immediatamente per offrire la migliore esperienza utente possibile. Un suggerimento avanzato: per le immagini above the fold critiche, puoi aggiungere l&#8217;attributo <code>fetchpriority=\"high\"<\/code> per indicare al browser di dargli priorit\u00e0 nel caricamento.<\/p>\n<h2>Immagini Responsive: srcset e sizes<\/h2>\n<p style=\"text-align: justify;\">In un mondo dove le pagine web vengono visualizzate su dispositivi con schermi di dimensioni e risoluzioni molto diverse, servire la stessa immagine a tutti \u00e8 inefficiente. Gli <strong>attributi <code>srcset<\/code> e <code>sizes<\/code><\/strong> permettono di fornire versioni diverse della stessa immagine, lasciando al browser la scelta della pi\u00f9 appropriata.<\/p>\n<p style=\"text-align: justify;\">L&#8217;attributo <code>srcset<\/code> elenca le diverse versioni dell&#8217;immagine disponibili con le relative larghezze: <code>srcset=\"foto-320.jpg 320w, foto-640.jpg 640w, foto-1280.jpg 1280w\"<\/code>. L&#8217;attributo <code>sizes<\/code> indica al browser quanto spazio occuper\u00e0 l&#8217;immagine nel layout, aiutandolo a scegliere la versione pi\u00f9 adatta prima ancora di scaricarla.<\/p>\n<p style=\"text-align: justify;\">Per scenari pi\u00f9 complessi, il tag <code>&lt;picture&gt;<\/code> offre un controllo ancora maggiore. Permette di specificare immagini diverse non solo per dimensione ma anche per formato, direzione artistica o condizioni media. Ad esempio, puoi servire un&#8217;immagine in formato AVIF ai browser che lo supportano, WebP come fallback e JPEG come ultima risorsa.<\/p>\n<h2>Figure e Figcaption: Immagini con Didascalia<\/h2>\n<p style=\"text-align: justify;\">Quando un&#8217;immagine necessita di una <strong>didascalia<\/strong> (caption), i tag <code>&lt;figure&gt;<\/code> e <code>&lt;figcaption&gt;<\/code> sono la soluzione semanticamente corretta. Il tag <code>&lt;figure&gt;<\/code> rappresenta un contenuto autosufficiente, tipicamente un&#8217;illustrazione, un diagramma, una foto o un blocco di codice. Il tag <code>&lt;figcaption&gt;<\/code> fornisce la didascalia associata.<\/p>\n<p style=\"text-align: justify;\">La struttura \u00e8 semplice: <code>&lt;figure&gt;&lt;img src=\"grafico.png\" alt=\"Grafico vendite 2024\"&gt;&lt;figcaption&gt;Andamento delle vendite nel primo trimestre 2024&lt;\/figcaption&gt;&lt;\/figure&gt;<\/code>. Questo approccio \u00e8 preferibile all&#8217;utilizzo di un semplice <code>&lt;p&gt;<\/code> sotto l&#8217;immagine perch\u00e9 crea una connessione semantica esplicita tra l&#8217;immagine e la sua didascalia, utile sia per gli screen reader che per i motori di ricerca.<\/p>\n<p style=\"text-align: justify;\">\u00c8 importante notare che anche in presenza di un <code>&lt;figcaption&gt;<\/code>, l&#8217;attributo <code>alt<\/code> dell&#8217;immagine rimane necessario. Il figcaption descrive il contesto o fornisce informazioni aggiuntive, mentre l&#8217;alt text descrive il contenuto visivo dell&#8217;immagine stessa. I due testi hanno funzioni diverse e complementari.<\/p>\n<p style=\"text-align: justify;\">Per approfondire altri aspetti dell&#8217;HTML legati alla struttura e alla semantica delle pagine web, ti consigliamo la lettura del nostro articolo sull&#8217;<a href=\"https:\/\/gtechgroup.it\/blog\/html-semantico-seo-accessibilita\/\">HTML semantico per SEO e accessibilit\u00e0<\/a>.<\/p>\n<p style=\"text-align: justify;\">Hai bisogno di aiuto con l&#8217;<strong>ottimizzazione delle immagini<\/strong> del tuo sito web? <strong>G Tech Group<\/strong> offre servizi di sviluppo web professionale e consulenza tecnica. Contattaci a <strong>support@gtechgroup.it<\/strong> o via WhatsApp al <strong>0465 84 62 45<\/strong>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Le immagini sono un elemento fondamentale di qualsiasi sito web moderno. Attirano l&#8217;attenzione, comunicano concetti complessi in modo immediato e migliorano l&#8217;esperienza utente complessiva. In&hellip;<\/p>\n","protected":false},"author":2,"featured_media":164211,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_seopress_robots_primary_cat":"1246","_seopress_titles_title":"Immagini in HTML: Tag img e Best Practice %%sep%% %%sitename%%","_seopress_titles_desc":"Guida completa al tag img HTML: attributi src, alt, lazy loading, formati immagine e best practice per ottimizzazione e SEO.","_seopress_robots_index":"","footnotes":""},"categories":[1246],"tags":[875,787],"class_list":["post-164031","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-html","tag-ottimizzazione","tag-sviluppo-web"],"_links":{"self":[{"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/posts\/164031","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/comments?post=164031"}],"version-history":[{"count":0,"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/posts\/164031\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/media\/164211"}],"wp:attachment":[{"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/media?parent=164031"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/categories?post=164031"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/tags?post=164031"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}