Ir directamente al contenido de esta página
Como XHTML está basado en XML, además de incluirse una serie de líneas obligatorias, su marcado es mucho más estricto. Las principales diferencias con el antiguo HTML son las siguientes:
<?xml version="1.0" encoding="utf-8"?>
. Por desgracia, Internet Explorer 6 entra en quirks mode1 al encontrar esta declaración, por lo que hasta que sus usuarios no dejen de ser más del 50 por ciento de los internautas, las autoridades recomiendan no incluirla. Yo, personalmente, sí la incluyo.html
, se debe incluir la declaración de DTD.html
debe incluir la llamada al espacio de nombres de XHTML. Se debería incluir en él también la especificación del idioma del documento por medio del atributo xml:lang
2.title
es obligatorio, y además debería describir de forma sintética el contenido del documento.<elemento />
3. Es importante el espacio antes de />
, para evitar que los navegadores antiguos cometan errores de interpretación. Los elementos vacíos de XHTML son los siguientes:
<area />
<base />
<br />
<col />
<hr />
<img />
<input />
<link />
<meta />
<param />
<p>Esto es un párrafo, con <i>parte del texto en cursiva</p></i>
sería incorrecto; lo correcto sería <p>Esto es un párrafo, con <i>parte del texto en cursiva</i></p>
.checked="checked"
compact="compact"
defer="defer"
disabled="disabled"
multiple="multiple"
readonly="readonly"
selected="selected"
href
de los vínculos.meta
y param
, el atributo name
se sustituye por el atributo id
.xml:lang
el idioma del documento, se debería especificar también por medio de <meta name="language" content="código_idioma" />
y <meta http-equiv="Content-Language" content="código_idioma" />
. <!DOCTYPE>
—que además se escribe en mayúsculas—, porque no es un elemento. <option selected="selected">Opción 1<option>
; <option selected>Opción 1<option>
sería válido en HTML, pero no en XHTML.