Per rispondere alla domanda nell'intestazione: sì, è valido, naturalmente. La validità di un elemento object
non dipende nemmeno dal tipo di dati da incorporare. Se volevi chiedere se è corretto, allora la risposta è sì, non c'è nulla nelle specifiche che lo vieterebbe o lo raccomanderebbe contro.
Tra i possibili motivi dell'utilizzo di object
per incorporare un'immagine, il più pratico è che consente al contenuto di fallback di contenere il codice HTML, ad esempio intestazioni, elenchi, tabelle e marcatura di frasi. L'elemento img
consente di specificare solo il testo normale come contenuto di fallback, anche le interruzioni di paragrafo non possono essere specificate.
Per motivi di accessibilità, qualsiasi immagine deve avere il contenuto di riserva da rendere, ad es. quando il documento viene utilizzato nella navigazione non visuale (screen reader, braille, ecc.) o l'immagine non viene visualizzata per un motivo o per un altro. Per qualsiasi immagine ricca di contenuti (ad esempio un organigramma o un disegno che descrive un processo complesso), il contenuto di fallback deve essere lungo e deve avere una struttura.
Tuttavia, è raro utilizzare object
per incorporare un'immagine. L'importanza del contenuto di fallback non è ampiamente compresa, e considerazioni pratiche economiche e tecniche spesso causano l'ignoranza dei problemi di fallback. Inoltre, object
ha una lunga storia di implementazione lenta, buggy e qualitativamente scarsa nei browser. Solo recentemente è diventato possibile utilizzare object
in modo abbastanza sicuro per l'inclusione di immagini.
La domanda su quale elemento è più semantico è per lo più futile e le risposte riflettono in genere vari modi per fraintendere il concetto "semantico". Sia img
e object
significano inclusione (incorporamento) di contenuto esterno. L'elemento img
è in linea di principio per l'inclusione di immagini, qualunque cosa significhi, anche se è stato anche usato per includere video. Per l'elemento object
, l'attributo type
può essere utilizzato per specificare il tipo di contenuto incorporato, in base a un tipo di immagine specifico, ad es. type=image/gif
oppure potrebbe essere lasciato aperto.
Ciò implica che l'elemento object
è più flessibile: è possibile lasciare il tipo non specificato, lasciandolo specificare nelle intestazioni HTTP. In questo modo, il tipo di dati incorporati potrebbe essere modificato senza modificare l'elemento object
o il documento di incorporamento in generale; ad esempio, potresti iniziare con una versione semplice in cui il contenuto incorporato è un'immagine, successivamente sostituita da un documento HTML (contenente un'immagine e un testo, ad esempio).
ho visto la stessa cosa quando uso l'oggetto per incorporare il pdf con il fallback di img – albert