HTML semántico
# HTML semántico

HTML Semántico es el uso de las etiquetas HTML para reforzar la semántica, o el significado, de la información en las páginas web más que simplemente redefinir su forma de presentación (apariencia). El HTML semántico es procesado por los navegadores web regulares así como por muchos otros agentes de usuarios. Las CSS son usadas para sugerir la presentación de la página a usuarios humanos.

Como un ejemplo, estándares recientes de HTML no recomiendan el uso de etiquetas presentacionales como <i> ya que prefieren etiquetas más específicas como <em> (énfasis); las hojas de estilo CSS deberían entonces especificar cuando el énfasis es denotado por una fuente cursiva, una en negritas, subrayada, etc. Esto es porque las cursivas son usadas para otros propósitos además de hacer énfasis, como citar una fuente; para esto, HTML 4 provee la etiqueta <cite>. Otro uso de las cursivas es para citar frases; los diseñadores web pueden usar los atributos del lenguaje XHTML o especificar sus propias etiquetas semánticas escogiendo apropiadamente nombres para los valores de los atributos de los elementos de HTML como class (e.g. class="loanword"). Marcar el énfasis y las citas, hace mucho más fácil en muchas maneras para agentes de usuario como motores de búsqueda y otras aplicaciones que se interprete de forma correcta el significado del texto.

## Historia

HTML tiene incluido el marcado semántico desde su creación. En un documento HTML, el autor puede, entre otras cosas, "empezar con un título; añadir encabezados y párrafos; poner énfasis en el texto; insertar imágenes; añadir vínculos a otras páginas; y usar varios tipos de listas". Llegó un tiempo en que HTML también incluía marcado de presentación con las etiquetas <font>, <i> y <center>. También existen las etiquetas neutrales semánticamente hablando como <span> y <div>. Desde el final de los 1990s cuando las hojas de estilo comenzaron a trabajar en la mayoría de los navegadores, los autores web fueron alentados a evitar el uso de marcado de presentación de HTML con el objetivo de lograr la separación entre la presentación y el contenido.

En el 2001 Tim Berners-Lee participó en una discusión sobre la web semántica, donde se declaró que aplicaciones inteligentes 'agentes' podían algún día recorrer automáticamente la web y encontrar, filtrar y relacionar , la información publicada para el beneficio de usuarios humanos. Estos agentes no son comunes ni siquiera en la actualidad , pero algunas de las ideas de Web 2.0, mashups y price comparison websites pueden estarse acercando. La principal diferencia entre estas aplicaciones web híbridas y los agentes semánticos de Berners-Lee se encuentra en el hecho de que el actual aggregation y la hibridación de información es usualmente diseñada por desarrolladores web, quienes ya conocen las localizaciones web y el API semántico de datos específicos que se quieren comparar y combinar.

Un importante tipo de agente web que si explora y lee las páginas web de forma automática, sin un conocimiento previo de lo que pueda encontrar, es el motor de búsqueda o araña. Estas aplicaciones son dependientes de la claridad de la semántica de las páginas web que encuentran a la vez que usan varias técnicas y algoritmos para leer e indexar millones de páginas web cada día y proveer a usuarios web con facilidades de búsqueda sin las cuales el uso del mundo entero de la web se reduciría a una fracción de lo que se utiliza hoy en día.

Para que los motores de búsqueda arañas sean capaces de calcular el significado de pedazos de texto que encuentran en los documentos HTML, la estructura semántica que existe en HTML necesita ser inteligente y uniformemente aplicada para resaltar el significado del texto publicado.

Mientras la verdadera web semántica puede depender de complejas RDF, ontologías y metadatos, todos los documentos HTML hacen su contribución a dar significado a las cosas en la web con el uso correcto de encabezados, listas, títulos y otros marcados semánticos mientras estos sean necesarios. El correcto uso del etiquetado en la Web 2.0 crea folkosomías que pueden ser igual o aún más significativas para muchos. HTML5 va a introducir muchas etiquetas semánticas que se convertirán en comunes en los documentos web del futuro, como section, article, footer, progress, nav etc.

Las etiquetas de marcado de presentación no están ausentes en las actuales HTML (4.01) y XHTML recomendaciones, pero no se recomienda su uso. En HTML 5 algunos de esos elementos, tales como i y b continúan especificados como su significado claramente se define "as to be stylistically offset from the normal prose without conveying any extra importance".

## Consideraciones

En casos donde un documento requiere de semántica más precisa que aquella que se puede alcanzar con HTML solamente, fragmentos del documento pueden ser encerrados en elementos span o div utilizando el nombre de la clase para describir semánticamente lo que se quiere como <span class="author"> y <div class="invoice">. Aunque estos nombres de clase son solo identificadores sin esquemas ni ontologías, estos puede servir de enlace significados mejor definidos. Microformatos formalizan este acercamiento a la semántica en HTML.

Una importante restricción de este acercamiento es que dicho marcado basado en inclusión de elementos debe conocer las condiciones de buena formación. Estos documentos son estructurados en forma de árbol, esto significa que solo fragmentos balanceados de un sub-árbol pueden ser marcados de esta forma. Significaría que para marcar cualquier sección de forma arbitraria del HTML requeriría un mecanismo independiente de la propia estructura de marcado, como por ejemplo XPointer.

Buen HTML semántico también mejora la accesibilidad de documentos web (ver Web Content Accessibility Guidelines). Por ejemplo, cuando un lector de pantalla o un navegador de audio puede correctamente interpretar la estructura de un documento, no se perderá el tiempo del usuario discapacitado en leer información repetida o irrelevante si el marcado es correcto.

## Google y los 'fragmentos enriquecidos'

En el 2010, Google especificó tres formas de estructuras de metadatos que sus sistemas comenzarán a utilizar para encontrar contenido semánticamente especificado en las páginas web. Información como, la relacionada con críticas, perfiles de personas, listas de negocios, y eventos serán usados por Google para enriquecer los 'fragmentos', o cortos pedazos de texto acotado que se muestran cuando la página aparece en listas de búsqueda. Google especificó también que los datos pueden ser dados utilizando microdato, microformatos o RDFa. Los microdatos se especifican dentro de itemtype y itemprop que son atributos añadidos a elementos ya existentes de documentos HTML; las palabras claves que son los microformato son añadidos dentro del atributo class como ya vimos anteriormente; y RDFa utiliza los atributos rel, typeof y property añadidos también a elementos existentes.

