El validador del W3C muestra un mensaje de error cada vez que utilizo etiquetas que se cierran y se abren a la vez (mediante la sintaxis />
). Así que la pregunta es, ¿son válidas estas etiquetas en HTML5?
Los ejemplos típicos de estas etiquetas vacías son los siguientes:
<br /> <img src="..." /> <input type="text" name="campo_formulario" />
Estás leyendo una traducción autorizada de la pregunta Are self-closing tags valid in HTML5? planteada por cdeszaq en StackOverflow.
Respuestas
La respuesta es no.
En HTML5, una etiqueta de este tipo (<etiqueta />
) se interpreta como la etiqueta de apertura (<etiqueta>
). Así que no es una etiqueta que se abre y se cierra a la vez, solamente se abre.
Este tipo de etiquetas en HTML5 se llaman etiquetas vacías ("void tags" en inglés) y están pensadas para que no tengan etiqueta de cierre, como es el caso por ejemplo de <br>
. Si añades />
a una etiqueta que no es vacía, el validador muestra un error porque falta la etiqueta de cierre.
Así que las etiquetas del ejemplo que indicas deberían escribirse de la siguiente manera para que sean válidas en HTML5:
<br> <img src="..."> <input type="text" name="campo_formulario">
En el antiguo estándar XHTML, <etiqueta />
sí que significa <etiqueta></etiqueta>
y por eso no ocurren estos problemas.
@librosweb