Para responder la pregunta en el encabezado: sí, es válido, por supuesto. La validez de un elemento object
ni siquiera depende del tipo de datos que se incrustan. Si desea preguntar si es correcto, la respuesta es sí, no hay nada en las especificaciones que lo prohíban o recomienden en su contra.
Entre las posibles razones para usar object
para incrustar una imagen, lo más práctico es que permite que el contenido alternativo contenga marcas HTML, como encabezados, listas, tablas y marcas de frase. El elemento img
le permite especificar solo texto sin formato como contenido alternativo; incluso los saltos de párrafo no se pueden especificar.
Por razones de accesibilidad, cualquier imagen debe tener contenido alternativo para representar, p. cuando el documento se utiliza en navegación no visual (lector de pantalla, Braille, etc.) o la imagen no se muestra por una razón u otra. Para cualquier imagen rica en contenido (por ejemplo, un organigrama o un dibujo que describa un proceso complejo), el contenido alternativo debe ser largo y debe tener cierta estructura.
Sin embargo, es raro utilizar object
para incrustar una imagen. La importancia del contenido alternativo no se entiende ampliamente, y las consideraciones prácticas económicas y técnicas a menudo hacen que los problemas de retroceso sean ignorados. Además, object
tiene una larga historia de implementación lenta, con errores y cualitativamente deficiente en navegadores. Solo recientemente se ha vuelto viable usar object
con bastante seguridad para la inclusión de imágenes.
La pregunta qué elemento es más semántica es sobre todo inútil, y las respuestas suelen reflejar simplemente diferentes maneras de malinterpretar el concepto “semántica”. Tanto img
y object
significa la inclusión (incrustación) de contenido externo. El elemento img
es, en principio, para la inclusión de imágenes, lo que sea que eso signifique, aunque también se ha utilizado para incluir videos. Para el elemento object
, el atributo type
se puede usar para especificar el tipo de contenido incrustado, hasta el tipo de imagen específico, p. Ej. type=image/gif
, o puede dejarse abierto.
Esto implica que el elemento object
es más flexible: puede dejar el tipo no especificado, permitiendo que se especifique en encabezados HTTP. De esta forma, el tipo de datos incrustados podría cambiarse sin cambiar el elemento object
o el documento incrustado en general; Por ejemplo, puede comenzar con una versión simple donde el contenido incrustado es una imagen, luego lo reemplaza por un documento HTML (que contiene una imagen y texto, por ejemplo).
he visto lo mismo cuando uso el objeto para incrustar el pdf con la img fallback – albert