martes, 21 de junio de 2011

Problemas con las entidades HTML

En el apartado  5.3 Character references de la especificación de HTML 4.01 del W3C encontramos la siguiente definición de referencias de caracteres:
Una codificación de caracteres dada puede no ser capaz de expresar todos los caracteres del conjunto de caracteres del documento. Para tales codificaciones, o cuando las configuraciones de hardware o de software no permitan a los usuarios introducir algunos caracteres del documento directamente, los autores pueden usar referencias de caracteres SGML. Las referencias de caracteres son un mecanismo independiente de la codificación de caracteres para introducir cualquier carácter del conjunto de caracteres del documento.

Las referencias de caracteres en HTML pueden aparecer de dos maneras:
  • Referencias numéricas de caracteres (bien decimales, bien hexadecimales). Por ejemplo: å o &Xe5;
  • Referencias a entidades de caracteres. Por ejemplo, å


Esta claro que las referencias a entidades de caracteres son más útiles porque son más intuitivas y más fáciles de recordar. En el capítulo 24 Character entity references in HTML4 de la especificación de HTML 4.01 se pueden encontrar las listas de referencias a entidades de caracteres definidas en HTML 4.

En principio, si se emplea la codificación Unicode ya no es necesario utilizar las referencias a entidades de caracteres, ya que esta codificación permite representar todos los caracteres. Sólo hay cuatro caracteres especiales que por tener una función especial en HTML sí que se tienen que representar como referencias a entidades de caracteres para evitar confusión:
  • "&lt;" representa el signo <.
  • "&gt;" representa el signo >.
  • "&amp;" representa el signo &.
  • "&quot;" representa el signo ".
En la página 10 HTML Entity Crimes You Really Shouldn't Commit nos explican 10 errores típicos que se cometen por un no uso de las referencias a entidades de caracteres. Estos errores pueden perjudicar la accesibilidad de una página web, en especial pueden perjudicar a los usuarios invidentes que utilicen un lector de pantallas, ya que el lector de pantallas puede vocalizar un carácter erróneo y puede crear cierta confusión.

Los 10 errores típicos son:
  1. No convertir el "ampersand": &amp;
  2. Uso de una elipsis propia (...): &hellip;
  3. Uso incorrecto del guión "em": &mdash;
  4. Uso incorrecto del gión "en": &ndash;
  5. Uso de un símbolo de copyright propio: &copy;
  6. Uso de un símbolo de marca registrada propio: &trade;
  7. Uso de fracciones como texto plano: &frac14; &frac12; &frac34;
  8. Uso de texto plano como símbolos matemáticos: &times; &divide;
  9. Uso de la "o" como símbolo de grados: &deg;
  10. Uso incorrecto de las comillas simples y dobles: &lsquo; &rsquo; &ldquo; &rdquo;

No hay comentarios: