HTML
hace referencia al lenguaje de marcadopara la elaboración de páginas web. Es un estándar que sirve de referencia para la elaboración de páginas web en sus diferentes versiones, define una estructura básica y un código (denominado código HTML) para la definición de contenido de una página web, como texto, imágenes, etc. Es un estándar a cargo de la W3C, organización dedicada a la estandarización de casi todas las tecnologías ligadas a la web, sobre todo en lo referente a su escritura e interpretación. Es el lenguaje con el que se definen las páginas web.
El lenguaje HTML basa su filosofía de desarrollo en la referenciación. Para añadir un elemento externo a la página (imagen, vídeo, script, etc.), este no se incrusta directamente en el código de la página, sino que se hace una referencia a la ubicación de dicho elemento mediante texto. De este modo, la página web contiene sólo texto mientras que recae en el navegador web (interpretador del código) la tarea de unir todos los elementos y visualizar la página final. Al ser un estándar, HTML busca ser un lenguaje que permita que cualquier página web escrita en una determinada versión, pueda ser interpretada de la misma forma (estándar) por cualquier navegador web actualizado.
Sin embargo, a lo largo de sus diferentes versiones, se han incorporado y suprimido diversas características, con el fin de hacerlo más eficiente y facilitar el desarrollo de páginas web compatibles con distintos navegadores y plataformas (PC de escritorio, portátiles, teléfonos inteligentes, tabletas, etc.). Sin embargo, para interpretar correctamente una nueva versión de HTML, los desarrolladores de navegadores web deben incorporar estos cambios y el usuario debe ser capaz de usar la nueva versión del navegador con los cambios incorporados. Usualmente los cambios son aplicados mediante parches de actualización automática (Firefox, Chrome) u ofreciendo una nueva versión del navegador con todos los cambios incorporados, en un sitio web de descarga oficial (Internet Explorer). Un navegador no actualizado no será capaz de interpretar correctamente una página web escrita en una versión de HTML superior a la que pueda interpretar, lo que obliga muchas veces a los desarrolladores a aplicar técnicas y cambios que permitan corregir problemas de visualización e incluso de interpretación de código HTML. Así mismo, las páginas escritas en una versión anterior de HTML deberían ser actualizadas o reescritas, lo que no siempre se cumple. Es por ello que ciertos navegadores aún mantienen la capacidad de interpretar páginas web de versiones HTML anteriores. Por estas razones, aún existen diferencias entre distintos navegadores y versiones al interpretar una misma página web.
Marcado
HTML
El HTML
se escribe en forma de «etiquetas», rodeadas por corchetes
angulares (<,>).
HTML también puede describir, hasta un cierto punto, la apariencia de un
documento, y puede incluir o hacer referencia a un tipo de programa llamado script, el
cual puede afectar el comportamiento de navegadores web y otros procesadores de HTML.7
HTML
también sirve para referirse al contenido del tipo de MIME text/html o todavía más ampliamente
como un término genérico para el HTML, ya sea en forma descendida delXML (como XHTML 1.0 y posteriores) o en forma
descendida directamente de SGML (como HTML 4.01 y anteriores).
HTML
consta de varios componentes vitales, entre ellos los elementos y sus atributos, tipos de data y la declaración
de tipo de documento.
Elementos
Los
elementos son la estructura básica de HTML. Los elementos tienen dos
propiedades básicas: atributos y contenido. Cada atributo y contenido tiene
ciertas restricciones para que se considere válido al documento HTML. Un
elemento generalmente tiene una etiqueta de inicio (por ejemplo, <nombre-de-elemento>) y una
etiqueta de cierre (por ejemplo, </nombre-de-elemento>). Los
atributos del elemento están contenidos en la etiqueta de inicio y el contenido
está ubicado entre las dos etiquetas (por ejemplo,<nombre-de-elemento atributo="valor">Contenido</nombre-de-elemento>).
Algunos elementos, tales como <br>, no tienen contenido ni llevan
una etiqueta de cierre. Debajo se listan varios tipos de elementos de marcado
usados en HTML.
Estructura
general de una línea de código en el lenguaje de etiquetas HTML.
El
marcado estructural describe el propósito del texto. Por
ejemplo, <h2>Golf</h2> establece «Golf» como un encabezamiento de
segundo nivel, el cual se mostraría en un navegador de una manera similar al
título «Marcado HTML» al principio de esta sección. El marcado estructural no
define cómo se verá el elemento, pero la mayoría de los navegador web han
estandarizado el formato de los elementos. Puede aplicarse un formato
específico al texto por medio de hojas de estilo en cascada.
El
marcado presentacional describe la apariencia del texto, sin
importar su función. Por ejemplo, <b>negrita</b>indica
que los navegadores web visuales deben mostrar el texto en negrita, pero no indica qué
deben hacer los navegadores web que muestran el contenido de otra manera (por
ejemplo, los que leen el texto en voz alta). En el caso de <b>negrita</b> e <i>itálica</i>,
existen elementos que se ven de la misma manera pero tienen una naturaleza más
semántica: <strong>énfasis fuerte</strong> y <em>énfasis</em>. Es
fácil ver cómo unlector de pantalla debería interpretar estos dos
elementos. Sin embargo, son equivalentes a sus correspondientes elementos
presentacionales: un lector de pantalla no debería decir más fuerte el nombre
de un libro, aunque éste esté en itálicas en una pantalla. La mayoría del
marcado presentacional ha sido desechada con HTML 4.0, en favor de hojas de
estilo en cascada.
El
marcado hipertextual se utiliza para enlazar partes del
documento con otros documentos o con otras partes del mismo documento. Para
crear un enlace es necesario utilizar la etiqueta de ancla <a> junto con el atributo href, que
establecerá la dirección URL a la que apunta el enlace. Por ejemplo, un enlace
que muestre el texto de la dirección y vaya hacia nuestra Wikipedia podría ser
de la forma <a
href=”http://www.wikipedia.org”>http://www.wikipedia.org</a>.
También se pueden crear enlaces sobre otros objetos, tales como imágenes <a
href=”enlace”><img src=”imagen” /></a>.
Atributos
La mayoría
de los atributos de un elemento son pares nombre-valor, separados por un signo
de igual «=» y escritos en la etiqueta de comienzo de un elemento, después del
nombre de éste. El valor puede estar rodeado por comillas dobles o simples,
aunque ciertos tipos de valores pueden estar sin comillas en HTML (pero no en
XHTML).8 9 De todas maneras, dejar los valores
sin comillas es considerado poco seguro. En contraste con los pares
nombre-elemento, hay algunos atributos que afectan al elemento simplemente por
su presencia (tal como el atributo ismap para el elemento).
Códigos
HTML básicos
·
<html>:
define el inicio del documento HTML, le indica al navegador que lo que viene a continuación debe
ser interpretado como código HTML. Esto es así de facto,
ya que en teoría lo que define el tipo de documento es elDOCTYPE,
que significa la palabra justo tras DOCTYPE el tag de raíz.
·
<script>:
incrusta un script en una web, o llama a uno mediante src="url del script". Se
recomienda incluir eltipo MIME en el atributo type, en el caso de JavaScript text/javascript.
·
<head>:
define la cabecera del
documento HTML; esta cabecera suele contener información sobre el documento que
no se muestra directamente al usuario como, por ejemplo, el título de la
ventana del navegador. Dentro de la cabecera<head> es posible encontrar:
·
<title>:
define el título de la página. Por lo general, el título aparece en la barra de
título encima de la ventana.
·
<link>: para
vincular el sitio a hojas de estilo o iconos. Por ejemplo:<link
rel="stylesheet" href="/style.css"
type="text/css">.
·
<style>: para
colocar el estilo interno de la página; ya sea usando CSS u
otros lenguajes similares. No es necesario colocarlo si se va a vincular a un
archivo externo usando la etiqueta <link>.
·
<meta>: para
metadatos como la autoría o la licencia, incluso para indicar parámetros http
(mediante http-equiv="")
cuando no se pueden modificar por no estar disponible la configuración o por
dificultades con server-side scripting.
·
<body>:
define el contenido principal o cuerpo del documento. Esta es la parte del
documento html que se muestra en el navegador; dentro de esta etiqueta pueden
definirse propiedades comunes a toda la página, como color de fondo y márgenes. Dentro del cuerpo <body> es posible encontrar numerosas etiquetas. A
continuación se indican algunas a modo de ejemplo:
·
<h1> a <h6>:
encabezados o títulos del documento con diferente relevancia.
·
<table>:
define una tabla.
·
<tr>: fila
de una tabla.
·
<td>: celda
de una tabla (debe estar dentro de una fila).
·
<a>: hipervínculo o enlace, dentro o fuera del sitio web.
Debe definirse el parámetro de pasada por medio del atributo href. Por ejemplo:<a href="http://www.example.com"
title="Ejemplo" target="_blank"
tabindex="1">Ejemplo</a> se representa como Ejemplo).
·
<div>:
división de la página. Se recomienda, junto con css, en vez de <table> cuando se desea alinear contenido.
·
<img>:
imagen. Requiere del atributo src,
que indica la ruta en la que se encuentra la imagen. Por ejemplo: <img src="./imágenes/mifoto.jpg"
/>. Es conveniente, por accesibilidad, poner un atributo alt="texto alternativo".
·
<li><ol><ul>:
etiquetas para listas.
·
<b>: texto
en negrita (etiqueta desaprobada. Se recomienda usar la etiqueta <strong>).
·
<i>: texto
en cursiva (etiqueta desaprobada. Se recomienda usar la etiqueta <em>).
·
<s>: texto
tachado (etiqueta desaprobada. Se recomienda usar la etiqueta <del>).
·
<u>: Antes
texto subrayado. A partir de HTML 5 define porciones de texto diferenciadas o
destacadas del resto, para indicar correcciones por ejemplo. (etiqueta
desaprobada en HTML 4.01 y redefinida en HTML 5)13 14
La
mayoría de etiquetas deben cerrarse como se abren, pero con una barra («/») tal
como se muestra en los siguientes ejemplos:
·
<table><tr><td>Contenido de
una celda</td></tr></table>.
·
<script>Código de un script integrado
en la página</script>.
Nociones
básicas de HTML
Existen,
además, otros editores para la realización de sitios web con características WYSIWYG (What You See Is What You Get,
o en español: «lo que ves es lo que obtienes»). Estos editores permiten ver el
resultado de lo que se está editando en tiempo real, a medida que se va
desarrollando el documento. Ahora bien, esto no significa una manera distinta
de realizar sitios web, sino que una forma un tanto más simple, ya que estos
programas, además de tener la opción de trabajar con la vista preliminar, tiene
su propia sección HTML, la cual va generando todo el código a medida que se va
trabajando. Algunos ejemplos de editores WYSIWYG son KompoZer, Microsoft FrontPage o Adobe
Dreamweaver.
Combinar
estos dos métodos resulta muy interesante, ya que de alguna manera se ayudan
entre sí. Por ejemplo, si se edita todo en HTML y de pronto se olvida algún
código o etiqueta, simplemente me dirijo al editor visual o WYSIWYG y se
continúa ahí la edición o viceversa, ya que hay casos en que resulta más rápido
y fácil escribir directamente el código de alguna característica que el usuario
desea adherir al sitio que buscar la opción en el programa mismo.
Existe
otro tipo de editores HTML llamados WYSIWYM que dan más importancia al contenido y
al significado que a la apariencia visual. Entre los objetivos que tienen estos
editores es la separación del contenido y la presentación, fundamental en el
diseño web.
HTML
utiliza etiquetas o marcas, que consisten en breves instrucciones de comienzo y
final, mediante las cuales se determina la forma en la que debe aparecer en su navegadorel
texto, así como también las imágenes y los demás elementos, en la pantalla del
ordenador.
Toda
etiqueta se identifica porque está encerrada entre los signos menor que y mayor
que (<>), y algunas tienen atributos que pueden tomar algún valor. En
general las etiquetas se aplicarán de dos formas especiales:
·
Se abren y se cierran, como por ejemplo: <b>negrita</b>,
que se vería en su navegador web como negrita.
·
No pueden abrirse y cerrarse, como <hr />, que se vería en
su navegador web como una línea horizontal.
·
Otras que pueden abrirse y cerrarse, como por ejemplo <p>.
·
Las etiquetas básicas o mínimas son:
<!DOCTYPE HTML>
<html>
<head>
<title>Ejemplo1</title>
</head>
<body>
<p>ejemplo1</p>
</body>
</html>
html5

Es la quinta revisión importante del lenguaje básico de la World Wide Web,HTML. HTML5 especifica dos variantes de sintaxis para HTML: un «clásico» HTML (text/html), la variante conocida comoHTML5 y una variante XHTML conocida como sintaxis XHTML5 que deberá ser servida como XML.1 2 Esta es la primera vez que HTML y XHTML se han desarrollado en paralelo.
Todavía se encuentra en modo experimental,nota 1 lo cual indica la misma W3C, aunque ya es usado por múltiples desarrolladores web por sus avances, mejoras y ventajas.
Al no ser reconocido en viejas versiones de navegadores por sus nuevas etiquetas, se recomienda al usuario común actualizar a la versión más nueva, para poder disfrutar de todo el potencial que provee HTML5.
Nuevas APIs y Javascript
- API para hacer Drag & Drop. Mediante eventos.
- API para trabajar Off-Line. Permite descargar todos los contenidos necesarios y trabajar en local.
- API de Geolocalización para dispositivos que lo soporten.
- API Storage. Facilidad de almacenamiento persistente en local, con bases de datos (basadas en SQLite) o con almacenamiento de objetos por aplicación o por dominio Web (Local Storage y Global Storage). Se dispone de una Base de datos con la posibilidad de hacer consultas SQL.
- WebSockets. API de comunicación bidireccional entre páginas. Similar a los Sockets de C.
- WebWorkers. Hilos de ejecución en paralelo.
- Estándar futuro. System Information API. Acceso al hardware a bajo nivel: red, ficheros, CPU, memoria, puertos USB, cámaras, micrófonos... Muy interesante, pero con numerosas salvedades de seguridad.
Ejemplos de códigos HTML5
Código HTML5 para reproducir audio sin la necesidad de plugins.
Para vídeo es algo similar.
<!DOCTYPE HTML>
<html>
<head>
<title>fuente de múltiples elementos</title>
</head>
<body>
<audio id="audioTestElem" autobuffer controls >
<source src="test.m4a">
<source src="test.ogg" type="audio/ogg; codecs=vorbis">
<source src="url">
no audio for you
</audio>
</body>
</html>