<img> elemento HTML de imagen incrustada
Baseline
Widely available
*
This feature is well established and works across many devices and browser versions. It’s been available across browsers since julio de 2015.
* Some parts of this feature may have varying levels of support.
El elemento <img> de HTML incrusta una imagen en el documento.
Pruébalo
<img
class="fit-picture"
src="/shared-assets/images/examples/grapefruit-slice.jpg"
alt="Rodaja de pomelo sobre un montón de otras rodajas" />
.fit-picture {
width: 250px;
}
Atributos
Este elemento incluye los atributos globales.
alt-
Define el texto que puede sustituir a la imagen en la página.
Nota: Los navegadores no siempre muestran las imágenes. Hay varias situaciones en las que un navegador podría no mostrarlas, por ejemplo:
- Navegadores no visuales (como los que usan las personas con discapacidad visual)
- El usuario elige no mostrar imágenes (para ahorrar ancho de banda o por motivos de privacidad)
- La imagen no es válida o tiene un tipo no admitido
En estos casos, el navegador puede sustituir la imagen por el texto del atributo
altdel elemento. Por estas y otras razones, proporciona siempre que puedas un valor útil paraalt.Establecer este atributo como una cadena vacía (
alt="") indica que la imagen no es una parte clave del contenido (es decorativa o un píxel de seguimiento), y que los navegadores no visuales pueden omitirla del renderizado. Los navegadores visuales también ocultan el icono de imagen rota cuando el atributoaltestá vacío y la imagen no se pudo mostrar.Este atributo también se usa al copiar y pegar la imagen como texto, o al guardar una imagen enlazada como marcador.
attributionsrc-
Especifica que quieres que el navegador envíe una cabecera
Attribution-Reporting-Eligiblejunto con la petición de la imagen.En el lado del servidor, esto se usa para activar el envío de una cabecera
Attribution-Reporting-Register-SourceoAttribution-Reporting-Register-Triggeren la respuesta, con el fin de registrar una fuente de atribución o un disparador de atribución basados en imagen, respectivamente. Qué cabecera de respuesta debe enviarse depende del valor de la cabeceraAttribution-Reporting-Eligibleque activó el registro.El evento de fuente o disparador correspondiente se desencadena una vez que el navegador recibe la respuesta que contiene el archivo de imagen.
Nota: Consulta la Attribution Reporting API para más información.
Hay dos versiones de este atributo que puedes establecer:
- Booleana, es decir, usando solo el nombre
attributionsrc. Esto especifica que quieres que la cabeceraAttribution-Reporting-Eligiblese envíe al mismo servidor al que apunta el atributosrc. Esto es suficiente cuando gestionas el registro de la fuente o el disparador de atribución en el mismo servidor. Al registrar un disparador de atribución, esta propiedad es opcional, y si se omite se usará un valor booleano. - Un valor con una o más URL, por ejemplo:
html<img src="image-file.png" alt="Descripción de mi archivo de imagen" attributionsrc="https://a.example/register-source https://b.example/register-source" />Esto es útil cuando el recurso solicitado no está en un servidor que controlas, o cuando simplemente quieres gestionar el registro de la fuente de atribución en un servidor distinto. En ese caso, puedes especificar una o más URL como valor de
attributionsrc. Cuando se produzca la petición del recurso, la cabeceraAttribution-Reporting-Eligiblese enviará a la URL (o URL) especificada enattributionSrc, además de al origen del recurso. Esas URL pueden entonces responder con una cabeceraAttribution-Reporting-Register-SourceoAttribution-Reporting-Register-Trigger, según corresponda, para completar el registro.Nota: Especificar varias URL significa que se pueden registrar varias fuentes de atribución para la misma característica. Por ejemplo, podrías tener distintas campañas cuyo éxito quieres medir, lo que implica generar informes distintos sobre datos distintos.
- Booleana, es decir, usando solo el nombre
crossorigin-
Indica si la obtención de la imagen debe hacerse mediante una petición CORS. Los datos de imagen de una imagen con CORS habilitado obtenida mediante una petición CORS pueden reutilizarse en el elemento
<canvas>sin quedar marcados como "contaminados".Si el atributo
crossoriginno está especificado, se envía una petición no CORS (sin la cabecera de peticiónOrigin), y el navegador marca la imagen como contaminada y restringe el acceso a sus datos, impidiendo su uso en elementos<canvas>.Si el atributo
crossoriginsí está especificado, se envía una petición CORS (con la cabecera de peticiónOrigin); pero si el servidor no permite el acceso de origen cruzado a los datos de la imagen desde el sitio de origen (al no enviar ninguna cabecera de respuestaAccess-Control-Allow-Origin, o al no incluir el origen del sitio en ninguna cabeceraAccess-Control-Allow-Originque sí envíe), el navegador bloquea la carga de la imagen y registra un error de CORS en la consola de las herramientas de desarrollo.Valores permitidos:
anonymous-
Se envía una petición CORS sin credenciales (es decir, sin cookies, certificados X.509 ni cabecera de petición
Authorization). use-credentials-
La petición CORS se envía incluyendo cualquier credencial (es decir, cookies, certificados X.509 y la cabecera de petición
Authorization). Si el servidor no permite compartir credenciales con el sitio de origen (enviando de vuelta la cabecera de respuestaAccess-Control-Allow-Credentials: true), el navegador marca la imagen como contaminada y restringe el acceso a sus datos.
Si el atributo tiene un valor no válido, los navegadores lo manejan como si se hubiera usado el valor
anonymous. Consulta atributos de configuración de CORS para más información. decoding-
Este atributo da al navegador una pista sobre si debe decodificar la imagen junto con la renderización del otro contenido del DOM en un solo paso de presentación que se vea más "correcto" (
sync), o si debe renderizar y presentar el otro contenido del DOM primero y decodificar y mostrar la imagen después (async). En la práctica,asyncsignifica que el siguiente pintado no espera a que la imagen se decodifique.A menudo es difícil percibir algún efecto notable al usar
decodingen elementos<img>estáticos. Es probable que se rendericen inicialmente como imágenes vacías mientras se obtienen los archivos de imagen (ya sea desde la red o desde la caché), para luego gestionarse de forma independiente de todos modos, por lo que la "sincronización" de las actualizaciones de contenido resulta menos evidente. Sin embargo, el bloqueo del renderizado mientras ocurre la decodificación, aunque suele ser muy pequeño, sí puede medirse, incluso si es difícil de percibir a simple vista. Consulta What does the image decoding attribute actually do? para un análisis más detallado (tunetheweb.com, 2023).Usar distintos tipos de
decodingpuede producir diferencias más notables al insertar dinámicamente elementos<img>en el DOM mediante JavaScript; consultaHTMLImageElement.decodingpara más detalles.Valores permitidos:
sync-
Decodifica la imagen de forma síncrona junto con el resto del contenido del DOM, y presenta todo a la vez.
async-
Decodifica la imagen de forma asíncrona, después de renderizar y presentar el resto del contenido del DOM.
auto-
Sin preferencia por el modo de decodificación; el navegador decide qué es lo mejor para el usuario. Este es el valor predeterminado.
elementtiming-
Marca la imagen para que sea observada por la API
PerformanceElementTiming. El valor indicado se convierte en el identificador del elemento de imagen observado. Consulta también la página del atributoelementtiming. fetchpriority-
Proporciona una pista sobre la prioridad relativa que se debe usar al obtener la imagen. Valores permitidos:
high-
Obtiene la imagen con una prioridad alta respecto a otras imágenes.
low-
Obtiene la imagen con una prioridad baja respecto a otras imágenes.
auto-
No establece ninguna preferencia sobre la prioridad de obtención. Este es el valor predeterminado. Se usa cuando no se establece ningún valor o se establece un valor no válido.
height-
La altura intrínseca de la imagen, en píxeles. Debe ser un entero sin unidad.
Nota: Incluir
heightywidthpermite al navegador calcular la relación de aspecto de la imagen antes de que esta se cargue. Esta relación de aspecto se usa para reservar el espacio necesario para mostrar la imagen, reduciendo o incluso evitando un cambio de diseño cuando la imagen se descarga y se pinta en pantalla. Reducir el cambio de diseño es un componente clave de una buena experiencia de usuario y de un buen rendimiento web. ismap-
Este atributo booleano indica que la imagen forma parte de un mapa del lado del servidor. Si es así, las coordenadas donde el usuario hizo clic en la imagen se envían al servidor.
loading-
Indica cómo debe cargar la imagen el navegador:
eager-
Carga la imagen de inmediato, sin importar si actualmente está o no dentro del viewport visual (este es el valor predeterminado).
lazy-
Retrasa la carga de la imagen hasta que alcanza una distancia calculada respecto al viewport, definida por el navegador.
La carga diferida evita el consumo de ancho de banda de red y de almacenamiento necesario para gestionar la imagen hasta que sea razonablemente seguro que se va a necesitar. Esto mejora el rendimiento en la mayoría de los casos de uso habituales.
Aunque se recomienda incluir los atributos
widthyheightde forma explícita en todas las imágenes para evitar el cambio de diseño, son especialmente importantes en las imágenes con carga diferida. Las imágenes con carga diferida nunca se cargarán si no intersectan una parte visible de un elemento, incluso si cargarlas cambiaría eso, porque las imágenes sin cargar tienen unwidthy unheightde0. Esto crea una experiencia de usuario aún más disruptiva cuando el contenido visible en el viewport se reajusta en mitad de la lectura.Es posible que las imágenes con carga diferida (lazy-loaded) situadas en el área de visualización (viewport) aún no sean visibles cuando se dispare el evento
loadde la ventana (Window). Esto se debe a que el evento se dispara en función de las imágenes con carga inmediata; las imágenes con carga diferida no se tienen en cuenta aunque estén ubicadas dentro del viewport visual en la carga inicial de la página.La carga solo se difiere cuando JavaScript está habilitado. Esta es una medida antirrastreo, porque si un agente de usuario admitiera la carga diferida con la ejecución de scripts deshabilitada, seguiría siendo posible que un sitio rastreara la posición aproximada de desplazamiento de un usuario a lo largo de una sesión, colocando imágenes de forma estratégica en el marcado de una página para que un servidor pudiera rastrear cuántas imágenes se solicitan y cuándo.
referrerpolicy-
Una cadena que indica qué referrer usar al obtener el recurso:
no-referrer: la cabeceraRefererno se enviará.no-referrer-when-downgrade: la cabeceraRefererno se enviará a orígenes sin TLS (HTTPS).origin: el referrer enviado se limitará al origen de la página que lo envía: su esquema, host y puerto.origin-when-cross-origin: el referrer enviado a otros orígenes se limitará al esquema, el host y el puerto. Las navegaciones dentro del mismo origen seguirán incluyendo la ruta.same-origin: se enviará un referrer para el mismo origen, pero las peticiones de origen cruzado no contendrán información de referrer.strict-origin: solo envía el origen del documento como referrer cuando el nivel de seguridad del protocolo se mantiene igual (HTTPS→HTTPS), pero no lo envía a un destino menos seguro (HTTPS→HTTP).strict-origin-when-cross-origin(predeterminado): envía una URL completa al realizar una petición del mismo origen, solo envía el origen cuando el nivel de seguridad del protocolo se mantiene igual (HTTPS→HTTPS), y no envía ninguna cabecera a un destino menos seguro (HTTPS→HTTP).unsafe-url: el referrer incluirá el origen y la ruta (pero no el fragmento, la contraseña ni el nombre de usuario). Este valor no es seguro, porque filtra orígenes y rutas de recursos protegidos por TLS hacia orígenes no seguros.
sizes-
Uno o más valores separados por comas, que pueden ser tamaños de origen o la palabra clave
auto. La especificación exige que el atributosizessolo esté presente cuandosrcsetusa descriptores de ancho.- tamaño de origen
-
Un tamaño de origen consiste en:
- Una condición de medios, omitida para el último elemento de la lista.
- Un valor de tamaño de origen.
Por ejemplo, el siguiente tamaño de origen propone usar una imagen de
1000pxde ancho si el ancho del viewport es de 500px o menos.css(width <= 500px) 1000pxLas condiciones de medio describen propiedades del viewport, no de la imagen. Como un descriptor de tamaño de origen especifica el ancho que se usará para la imagen durante el diseño, la condición de medio suele basarse (aunque no necesariamente) en
width.Los valores de tamaño de origen especifican el tamaño de visualización previsto de la imagen. Los agentes de usuario usan el tamaño de origen actual para seleccionar uno de los orígenes proporcionados por el atributo
srcset, cuando esos orígenes están descritos usando descriptores de ancho (w). El valorwdefinido ensizesdetermina el ancho de diseño predeterminado de la imagen. En ausencia de CSS, el navegador renderizará la imagen a este tamaño, independientemente de las dimensiones físicas en píxeles del archivo descargado.Un valor de tamaño de origen puede ser cualquier longitud no negativa. No debe usar funciones CSS distintas de las funciones matemáticas. Las unidades se interpretan igual que en las consultas de medios, lo que significa que todas las unidades de longitud relativas son relativas a la raíz del documento y no al elemento
<img>. Por ejemplo, un valor enemes relativo al tamaño de fuente de la raíz, no al tamaño de fuente de la imagen. No se permiten valores en porcentaje. Si no se proporciona el atributosizes, su valor predeterminado es100vw(el ancho del viewport). auto-
La palabra clave
autoindica que el navegador debe usar el ancho de diseño previsto del elemento para seleccionar la imagen que se mostrará. Es decir, debe usar el tamaño concreto de la imagen, calculado tras aplicar el diseño basado en HTML y CSS. Esto solo es válido cuando se combina conloading="lazy", ya que se espera que la página ya cuente con el CSS y otra información de diseño para cuando se cargue la imagen.El uso de
autote ahorra tener que especificar las condiciones de medios (media conditions) del diseño dos veces: una para el diseño y otra para seleccionar la imagen adecuada que se debe obtener y mostrar.Si
autono puede resolverse, ya sea porque el navegador no lo admite o porque la imagen aún no tiene un tamaño de diseño definido, el navegador recurre a los tamaños de origen de la lista para determinar el ancho, luego a los atributoswidth/heightdefinidos en el elemento y, por último, al tamaño intrínseco predeterminado para los elementos<img>definido en la hoja de estilos del agente de usuario (300px por 150px).Para una mejor compatibilidad con versiones anteriores en navegadores que no admiten
auto, puedes incluir tamaños de respaldo después deautoen el atributosizes. También deberías establecer los atributoswidthyheightdel elemento con las dimensiones intrínsecas de la imagen más grande de tusrcset, para que el navegador pueda reservar espacio utilizando la relación de aspecto correcta:html<img loading="lazy" width="200" height="200" sizes="auto, (max-width: 30em) 100vw, (max-width: 50em) 50vw, calc(33vw - 100px)" srcset=" swing-200.jpg 200w, swing-400.jpg 400w, swing-800.jpg 800w, swing-1600.jpg 1600w " src="swing-400.jpg" alt="Balanceo de pesa rusa" />
src-
La URL de la imagen. Es obligatorio incluir al menos uno de los atributos
srcosrcseten un elemento<img>. Si se especificasrcset,srcse usa de una de estas dos formas:- como alternativa para los navegadores que no admiten
srcset. - si
srcsetusa el descriptor "x", entoncessrcequivale a una fuente con el descriptor de densidad1x; es decir, la imagen indicada porsrcse usa en pantallas de baja densidad (como las pantallas habituales de 72 DPI o 96 DPI).
- como alternativa para los navegadores que no admiten
srcset-
Una o más cadenas separadas por comas, que indican las posibles fuentes de imagen que puede usar el agente de usuario.
Cada cadena se compone de:
- Una URL a una imagen
- Opcionalmente, un espacio en blanco seguido de uno de los siguientes:
- Un descriptor de ancho (un entero positivo seguido directamente de
w). Debe coincidir con el ancho intrínseco de la imagen referenciada. El descriptor de anchura se divide entre el tamaño de fuente indicado en el atributosizespara calcular la densidad de píxeles efectiva. Por ejemplo, para proporcionar un recurso de imagen que se use cuando el renderizador necesite una imagen de 450 píxeles de ancho, usa el descriptor de ancho450w. Cuando unsrcsetcontiene descriptores "w", el navegador los usa junto con el atributosizespara elegir un recurso. - Un descriptor de densidad de píxeles (un número decimal positivo seguido directamente de
x). Especifica la condición de densidad de píxeles de la pantalla bajo la cual debe utilizarse el recurso de imagen correspondiente. Por ejemplo, para proporcionar un recurso de imagen que se use cuando la densidad de píxeles sea el doble de la densidad estándar, usa el descriptor de densidad de píxeles2xo2.0x.
- Un descriptor de ancho (un entero positivo seguido directamente de
Si no se especifica ningún descriptor, a la fuente se le asigna el descriptor predeterminado
1x. Es incorrecto mezclar descriptores de ancho y descriptores de densidad de píxeles en el mismo atributosrcset. Los descriptores duplicados (por ejemplo, dos fuentes en el mismosrcsetdescritas ambas con2x) tampoco son válidos.Se ignoran los caracteres de espacio, salvo el espacio en blanco que separa la URL del descriptor de condición correspondiente; esto incluye tanto el espacio inicial como el final, así como el espacio antes o después de cada coma. Sin embargo, si una cadena candidata de imagen no contiene descriptores ni espacio en blanco después de la URL, la siguiente cadena candidata de imagen, si la hay, debe comenzar con uno o más espacios en blanco, o la coma se considerará parte de la URL.
Cuando el
srcsetdel elemento<img>usa descriptoresx, los navegadores también consideran la URL del atributosrc(si está presente) como candidata, y le asignan el descriptor predeterminado1x. En cambio, si el atributosrcsetusa descriptores de ancho,srcno se tiene en cuenta y se usa el atributosizesen su lugar.El agente de usuario elige a su criterio cualquiera de las fuentes disponibles. Esto le da un margen considerable para adaptar su selección según factores como las preferencias del usuario o las condiciones de ancho de banda. Consulta nuestro tutorial de imágenes adaptables para ver un ejemplo.
width-
El ancho intrínseco de la imagen en píxeles. Debe ser un entero sin unidad.
usemap-
La URL parcial (que empieza con
#) de un mapa de imagen asociado al elemento.
Atributos obsoletos
align-
Alinea la imagen respecto al contexto que la rodea. Usa las propiedades CSS
floatovertical-alignen lugar de este atributo. Valores permitidos: border-
El grosor del borde alrededor de la imagen. Usa la propiedad CSS
borderen su lugar. hspace-
El número de píxeles de espacio en blanco a la izquierda y a la derecha de la imagen. Usa la propiedad CSS
marginen su lugar. longdesc-
Un enlace a una descripción más detallada de la imagen. Los valores posibles son una URL o el
idde un elemento.Nota: Este atributo se considera en desuso en la especificación de HTML. Su futuro es incierto; los autores deberían usar una alternativa WAI-ARIA como
aria-describedbyoaria-details. name-
Un nombre para el elemento. Usa el atributo
iden su lugar. vspace-
El número de píxeles de espacio en blanco por encima y por debajo de la imagen. Usa la propiedad CSS
marginen su lugar.
Notas de uso
Necesitas al menos dos atributos para cada elemento <img>. Los más comunes son src y alt.
- El atributo
srccontiene la ruta de la imagen que quieres incrustar. No es obligatorio si el atributo srcset está disponible. Sin embargo, es necesario incluir al menos uno de los dos atributos:srcosrcset. - El atributo
altcontiene un texto alternativo para la imagen, que es obligatorio e increíblemente útil para la accesibilidad: los lectores de pantalla leen el valor del atributo a sus usuarios para que sepan qué representa la imagen. El texto alternativo también se muestra en la página si la imagen no se puede cargar por algún motivo, por ejemplo, errores de red, bloqueo de contenido o enlaces rotos.
Existen muchos otros atributos para diversos fines:
- Control de Referrer/CORS por motivos de seguridad y privacidad: consulta
crossoriginyreferrerpolicy. - Usa tanto
widthcomoheightpara establecer el tamaño intrínseco de la imagen, permitiendo que ocupe espacio antes de cargarse y así mitigar saltos de diseño en el contenido. - Sugerencias de imagen adaptable con
sizesysrcset(consulta también el elemento<picture>y nuestro tutorial de imágenes adaptables).
La guía de tipos y formatos de archivo de imagen ofrece información sobre los formatos de imagen compatibles y recomendaciones generales sobre dónde usarlos.
Errores de carga de imagen
Si ocurre un error al cargar o renderizar una imagen, y se ha configurado un manejador de eventos onerror para el evento error, ese manejador de eventos se ejecutará. Esto puede ocurrir en varias situaciones, entre ellas:
- Los atributos
srcosrcsetestán vacíos ("") o sonnull. - La URL de
srces la misma que la URL de la página en la que se encuentra actualmente el usuario. - La imagen está dañada de tal forma que impide su carga.
- Los metadatos de la imagen están dañados de tal forma que resulta imposible obtener sus dimensiones, y no se especificó ninguna dimensión en los atributos del elemento
<img>. - La imagen tiene un formato no compatible con el agente de usuario.
Estilos con CSS
<img> es un elemento reemplazado; tiene un valor display de inline por defecto, pero sus dimensiones predeterminadas se definen a partir de los valores intrínsecos de la imagen incrustada, como si fuera inline-block. Puedes establecer propiedades como border/border-radius, padding/margin, width, height, etc. en una imagen.
<img> no tiene línea base, así que cuando las imágenes se usan en un contexto de formato en línea con vertical-align: baseline, la parte inferior de la imagen se coloca sobre la línea base del texto.
Puedes usar la propiedad object-position para posicionar la imagen dentro de la caja del elemento, y la propiedad object-fit para ajustar el tamaño de la imagen dentro de la caja (por ejemplo, si la imagen debe ajustarse a la caja o rellenarla aunque eso implique recortarla).
Según su tipo, una imagen puede tener un ancho y un alto intrínsecos. Sin embargo, para algunos tipos de imagen las dimensiones intrínsecas no son necesarias. Las imágenes SVG, por ejemplo, no tienen dimensiones intrínsecas si su elemento raíz <svg> no tiene un width o un height establecidos.
Accesibilidad
>Creación de descripciones alternativas significativas
El valor de un atributo alt debe ofrecer un texto alternativo claro y conciso para el contenido de la imagen. No debe describir la presencia de la imagen en sí ni el nombre de su archivo. Si el atributo alt se omite deliberadamente porque la imagen no tiene un equivalente textual, considera otros métodos para transmitir lo que la imagen intenta comunicar.
Incorrecto
<img alt="imagen" src="penguin.jpg" />
Correcto
<img alt="Un pingüino en una playa." src="penguin.jpg" />
Una prueba de accesibilidad importante consiste en leer el contenido del atributo alt junto con el texto que lo precede, para comprobar si transmite el mismo significado que la imagen. Por ejemplo, si la imagen estuviera precedida por la frase "En mis viajes, vi un animalito adorable:", el ejemplo incorrecto podría ser leído por un lector de pantalla como "En mis viajes, vi un animalito adorable: imagen", lo cual no tiene sentido. El ejemplo correcto podría leerse como "En mis viajes, vi un animalito adorable: Un pingüino en una playa.", que sí tiene sentido.
Para las imágenes que sirven para activar una acción, por ejemplo, imágenes anidadas dentro de un elemento <a> o <button>, considera describir la acción que se desencadena en el valor del atributo alt. Por ejemplo, podrías escribir alt="página siguiente" en lugar de alt="flecha derecha". También puedes considerar añadir una descripción adicional opcional dentro de un atributo title; los lectores de pantalla pueden leerla si el usuario lo solicita.
Cuando un elemento de imagen no tiene un atributo alt, algunos lectores de pantalla pueden anunciar en su lugar el nombre del archivo de la imagen. Esto puede resultar confuso si el nombre del archivo no es representativo del contenido de la imagen.
Identificar un SVG como imagen
Debido a un error de VoiceOver, VoiceOver no anuncia correctamente las imágenes SVG como imágenes. Incluye role="img" en todos los elementos <img> con archivos fuente SVG para asegurarte de que las tecnologías de asistencia anuncien correctamente el SVG como contenido de imagen.
<img src="mdn.svg" alt="MDN" role="img" />
El atributo title
El atributo title no es un sustituto aceptable del atributo alt. Además, evita duplicar el valor del atributo alt en un atributo title declarado en la misma imagen. Hacerlo puede hacer que algunos lectores de pantalla anuncien el mismo texto dos veces, generando una experiencia confusa.
El atributo title tampoco debería usarse como información de subtítulo complementaria para acompañar la descripción alt de una imagen. Si una imagen necesita un pie de foto, usa los elementos figure y figcaption.
El valor del atributo title normalmente se muestra al usuario como una información emergente (tooltip), que aparece poco después de que el cursor deja de moverse sobre la imagen. Aunque esto puede ofrecer información adicional al usuario, no debes asumir que el usuario llegará a verla: es posible que solo use teclado o pantalla táctil. Si tienes información especialmente importante o valiosa para el usuario, preséntala en línea usando alguno de los métodos mencionados anteriormente en lugar de usar title.
Ejemplos
>Texto alternativo
El siguiente ejemplo incrusta una imagen en la página e incluye texto alternativo para accesibilidad.
<img src="/shared-assets/images/examples/favicon144.png" alt="MDN" />
Enlace de imagen
Este ejemplo se basa en el anterior y muestra cómo convertir la imagen en un enlace. Para ello, anida la etiqueta <img> dentro de <a>. Debes hacer que el texto alternativo describa el recurso al que apunta el enlace, tal como harías si usaras un enlace de texto en su lugar.
<a href="https://developer.mozilla.org">
<img
src="/shared-assets/images/examples/favicon144.png"
alt="Visita el sitio de MDN" />
</a>
Uso del atributo srcset
En este ejemplo incluimos un atributo srcset con una referencia a una versión en alta resolución del logotipo; esta se cargará en lugar de la imagen de src en dispositivos de alta resolución. La imagen referenciada en el atributo src se cuenta como candidata 1x en los agentes de usuario que admiten srcset.
<img
src="/shared-assets/images/examples/favicon72.png"
alt="MDN"
srcset="/shared-assets/images/examples/favicon144.png 2x" />
Uso de los atributos srcset y sizes
El atributo src se ignora en los agentes de usuario que admiten srcset cuando se incluyen descriptores w. Cuando se cumple la condición de medios (width <= 600px), se carga la imagen de 200 píxeles de ancho (es la que más se aproxima a 200px); en caso contrario, se carga la otra imagen.
<img
src="clock-demo-200px.png"
alt="Son las 12:45."
srcset="clock-demo-200px.png 200w, clock-demo-400px.png 400w"
sizes="(width <= 600px) 200px, 50vw" />
Nota: Para ver el cambio de tamaño en acción, consulta el ejemplo en una página aparte, para poder redimensionar realmente el área de contenido.
Aspectos de seguridad y privacidad
Aunque los elementos <img> tienen usos inofensivos, pueden tener consecuencias no deseadas para la seguridad y la privacidad del usuario. Consulta Cabecera Referer: aspectos de seguridad y privacidad para más información y formas de mitigarlos.
Resumen técnico
| Categorías de contenido |
Contenido de flujo,
contenido de frase,
contenido incrustado,
contenido palpable. Si el elemento tiene un atributo usemap, también
forma parte de la categoría de contenido interactivo.
|
|---|---|
| Contenido permitido | Ninguno; es un elemento vacío. |
| Omisión de etiqueta | Debe tener una etiqueta de apertura y no debe tener etiqueta de cierre. |
| Elementos padre permitidos | Cualquier elemento que acepte contenido incrustado. |
| Rol ARIA implícito |
|
| Roles ARIA permitidos |
|
| Interfaz DOM | HTMLImageElement |
Especificaciones
| Specification |
|---|
| HTML> # the-img-element> |
Compatibilidad con navegadores
Véase también
- Elementos
<picture>,<object>y<embed> object-fit,object-position,image-orientation,image-renderingeimage-resolution: Propiedades CSS relacionadas con imágenes.- Interfaz
HTMLImageElementpara este elemento - Imágenes HTML
- Guía de tipos y formatos de archivo de imagen
- Imágenes adaptables