XHTML

XHTML es la revisión de HTML para hacerla acorde al estándar de XML. Se trata, por tanto de una redefinición, de forma que XHTML 1.0 es equivalente a HTML 4.0 (el que hemos visto en este curso). Esta redefinición se basa principalmente en un incremento de las restricciones que deben cumplirse a la hora de escribir un documento HTML.

A continuación se citan las principales de dichas restricciones:

  1. Hay que construir documentos gramaticalmente correctos.

  2.  
  3. Anidar correctamente:
    Bien: <i><strong>Texto</strong></i>
    Mal: <i><strong>Text</i>o</strong>

  4.  
  5. Usar minúsculas para los nombres de todos los elementos y atributos HTML:
    Bien: <body bgcolor="white">
    Mal: <BODY BGCOLOR="White">

     
  6. Hay que cerrar todos los elementos, los vacíos y los no vacíos:
    Bien: <br></br> o <br/> o <br />
    Mal: <br>
    Bien: <p>Párrafo 1</p><p>Párrafo 2</p>
    Mal: <p>Párrafo 1<p>Párrafo 2

  7.  
  8. Todos los valores de atributos deben ir entre comillas:
    Bien: <td width="2">
    Mal: <td width=2>

  9.  
  10. Los elementos de línea deben estar contenidos dentro de los elementos de bloque y no al revés:
    Bien : <b><div class="texto">Hola</div></b>
    Mal: <div class="texto"><b>Hola</b></div>

  11.  
  12. Se debe siempre especificar un texto alternativo para imágenes (atributo "alt" para la etiqueta "img"):
    Bien: <img src="imagen.jpg" alt="Foto">
    Mal: <img src="imagen.jpg">

  13.  
  14. Cuando el valor de un atributo contenga un carácter &, debe expresarse como una referencia a la entidad de tipo carácter (&amp;):
    Bien: http://misitio.es/fichero.php?id=4&amp;nombre=cosa
    Mal: http://misitio.es/fichero.php?id=4&nombre=cosa

  15.  
  16. El elemento style no está soportado. Se utiliza el elemento link para adjuntar ficheros de estilo externos. La separación entre estructura y presentación permite a los navegadores descargar las hojas de estilo si las soportan o ignorarlas si no las soportan.
    <link href="hoja_de_estilo.css" />

  17.  
  18. Los elementos script y noscript no están soportados. Los contenidos deben ser legibles si no se ejecuta el script. Se pueden utilizan ficheros externos:
    <script language="JavaScript" src="fichero_codigo.js"></script>

  19.  
  20. Algunos elementos específicos no pueden contener otros elementos:
    • El elemento "a" no debe contener otros elementos "a".
    • El elemento "pre" no debe contener otros elementos "img", "object", "big", "small", "sub" o "sup".
    • El elemento "button" no debe contener otros elementos "input", "select", "textarea", "label", "button", "form", "fieldset", "iframe" o "isindex".
    • El elemento "label" no debe contener otros elementos "label".
    • El elemento "form" no debe contener otros elementos "form".

Otras cuestiones de diseño:

  • El elemento raíz del documento debe ser <html>.

  •  
  • En los documentos XHTML estricto, el texto no debe ser definido directamente en el cuerpo del documento. Se debe insertar dentro de un párrafo, de un bloque div o de algún otro elemento.
    • Bien: <body><p>Texto</p></body>
    • Mal: <body>Texto</body>

    •  
  • Diferencias entre XHTML 1.0 y XHMTL 1.1:
    • El atributo "lang" ha sido completamente reemplazado por el atributo "xml:lang".
      Válido: <span xml:lang="es">Texto</span>
      Inválido: <span lang="es" xml:lang="es">Texto</span>
    • El atributo "name" ha sido completamente reemplazado por el atributo "id" para los elementos "a" y "map".
      Válido: <a id="bookmark1">Texto ancla</a>
      Inválido: <a name="bookmark1">Texto ancla</a>

    •  
  • Se admiten formularios (http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_forms).

  •  
  • También se admiten tablas sencillas. Hay que tener en cuenta que las tablas pueden no verse bien en dispositivos pequeños.
    (http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_simpletablemodule).

  •  
  • Los marcos no están soportados.

Validación de documentos XHTML

Existe una utilidad creada por el W3C (el organismo oficial que define los estándares de internet) para comprobar si un documento HTML o XHTML cumple con las restricciones y no tiene errores.

Para ello podemos acceder al enlace: Validador de XHTML

Tras pasar la URL de nuestro fichero o el fichero en si, nos saldrá un mensaje de aprobación o una lista de errores a corregir. Cuando obtengamos el deseado mensaje, podremos incluir en nuestra página el famoso 'sello':    sello de validez de XHTML 1.0