Me acaba de llegar con esto, parece que funciona en todos los navegadores modernos, sólo probado de entonces (IE8/compatibilidad, Chrome, Safari, Moz)
HTML
<img id="my_image" alt="my text" src="images/small_transparent.gif" />
CSS
#my_image{
background-image:url('images/my_image.png');
width:100px;
height:100px;}
Pros:
- texto alt de la imagen es de las mejores prácticas para la accesibilidad/SEO
- no marcado HTML extra, y el css es bastante escaso demasiado
- obtiene alrededor de la CSS en la/las imágenes apagadas Problema donde las técnicas de "texto-guión" todavía ocultar el texto de usuarios de bajo ancho de banda
La mayor desventaja que puedo pensar es en el css off/images on situation, porque solo enviarás un gif transparente.
Podría ser posible escribir un pequeño javascript para ayudar con esto, reemplazando todas las fuentes de imagen con sus propiedades background-image css. Pero esto solo funcionaría si los navegadores siguen adjuntando propiedades CSS a los elementos y luego los ignora. No sé si este es el caso o no, tendré que probarlo. También querrá desarrollar una prueba basada en Javascript para ver si se está aplicando CSS a la página (tal vez verifique la posición de algún elemento de prueba).
Por cierto, me gustaría saber, ¿quién usa imágenes sin hojas de estilo? algún tipo de teléfono móvil o algo así?
edición:
Basado en comentarios a continuación ... estilos en línea HRM ... quizás debería hacer una función php ayuda semejante <?php echo css_image('image_id','my text','image_url');?>
para generar algo de código como este:
HTML
<div id="image_id" style="background-image:url('image_url')" class="image">
<img src="image_url" class="alt_text" alt="my text" />
<p>my text</p>
</div><!--/#my_image-->
a continuación, sólo unir un poco de CSS en la hoja de estilo
#image_id{width:*image width*;height:*image height*}
.alt_text{position:absolute;top:0px;left:0px}
.image{display:block;background-position:left top}
.image p{position:absolute;left:-9999em}
es una técnica anterior que estoy usando, aunque no estoy seguro de dónde la encontré. Funciona con CSS activado/desactivado, CSS desactivado/imágenes activado, CSS activado/imágenes activadas.
Si un usuario tiene desactivadas/desactivadas las visitas de CSS, verán el texto duplicado. Si una araña de un motor de búsqueda visita, verán texto alternativo y texto normal, una araña inteligente podría identificarlo fácilmente por lo que es, una inocente técnica de reemplazo de imágenes.
Por lo tanto, esta técnica es peor para los lectores de pantalla, ya que el texto alternativo se lee, pero estos usuarios pueden pasar al siguiente párrafo, por lo que cerré <p></p>
alrededor de "mi texto".
Todos los demás con CSS y las imágenes apagadas son algún tipo de bot, ¿verdad?
¿Qué es SEO hostil sobre el uso de sprites? ¿Está colocando atributos 'title' en la etiqueta de anclaje? – beggs
Nada es. Tengo un problema con la sustitución de la imagen. –