2009-02-18 31 views
7

Tengo un montón de etiquetas de span vacío, y así sucesivamente en mi código, debido a las técnicas de sustitución de imágenes CSS. Activan una advertencia de validación de HTML. ¿Debería importarme?Etiquetas HTML vacías

Gracias.

Respuesta

1

Una advertencia no es un error. Es solo un recordatorio de que debes mejorar algo.

+5

Es sólo un recordatorio de que debe mejorar algo. - Historia de mi vida;) –

10

Estoy de acuerdo con @Gumbo, pero tener muchas advertencias que no hacen ninguna diferencia puede ocultar las que necesita prestar atención. Si puede poner algo en el tramo que elimine la advertencia pero no rompa su UI, al menos debería pensar en hacerlo.

1

Supongo que si el ancho de banda fuera un problema, esas etiquetas vacías podrían volver a revisarse para ver si se puede lograr que aparezcan juntas.

8

Debe considerar el comportamiento de la página para cosas como lectores de pantalla. Es común poner algunas palabras describiendo la imagen en la etiqueta que luego se oculta por la sustitución de la imagen.

Consulte el CSS Zen Garden donde puede ver ejemplos como tramos H1 con texto reemplazado en CSS por imágenes.

Esto mejorará no solo la accesibilidad de su sitio, sino también la capacidad de búsqueda.

9

He hecho de la validación parte de mi flujo de trabajo porque me ayuda a detectar errores de manera temprana. Y aunque no considero que los elementos vacíos sean un problema, niega parte del valor de usar un validador si tengo que analizar mentalmente una lista de advertencias cada vez y decidir si una advertencia es importante o no. Así que trato de mantener mis páginas libres de errores y advertencias para que un vistazo rápido al HTML Validator icon in the Firefox status bar solo cambie cuando hay un problema real. Para ello, mantengo los elementos vacíos "inactivos" insertando un comentario vacío.

<span><!-- --></span> 

(Al menos eso funciona con el validador ordenado.)

Ahora, dicho esto, no creo que esto es en absoluto necesario para muchas situaciones. Es perfectamente razonable pensar que añadir ocho caracteres adicionales a su código solo para evitar una advertencia de validador es ridículo. Pero funciona para mí.

+0

¡Esa es una gran solución, gracias! – Hikari

2

Una etiqueta de "vacío" tiene una definición muy específica en HTML:

<span/> 

frente

<span></span> 

El primero no está permitido por la HTML 4.0 Strict DTD, por lo que debe ser marcado por un validador. Las únicas etiquetas que pueden usar la sintaxis anterior son aquellas específicamente identificadas como "VACÍAS" en la DTD (por ejemplo, <br>).

La segunda forma es HTML válido, y no se marcan por el W3C validator.

así que tengo que asumir que (1) el validador se rompe, o (2) que está utilizando la etiqueta de forma incorrecta.

0

Eric Meyer también dice que las etiquetas empy son malas, semánticamente.

El cuidado no significa que sea malo, pero dicen que podría, o, a veces debe, ser mejor.

De la misma manera

if("value"==variable) 

es mejor que

if(variable=="value") 
Cuestiones relacionadas