HTML
HTML, siglas de
HyperText Markup Language («lenguaje de marcado de hipertexto»), hace referencia al
lenguaje de marcado predominante para la elaboración de
páginas web
que se utiliza para describir y traducir la estructura y la información
en forma de texto, así como para complementar el texto con objetos
tales como imágenes. 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 un
script (por ejemplo
JavaScript), el cual puede afectar el comportamiento de
navegadores web y otros procesadores de HTML.
1
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 del
XML (como
XHTML 1.0 y posteriores) o en forma descendida directamente de
SGML (como HTML 4.01 y anteriores).
Historia de HTML
Primeras especificaciones
La primera descripción de HTML disponible públicamente fue un documento llamado
HTML Tags (Etiquetas HTML), publicado por primera vez en Internet por
Tim Berners-Lee en 1991.
2 3
Describe 22 elementos que incluyen el diseño inicial y relativamente
simple de HTML. Trece de estos elementos todavía existen en HTML 4.
4
Berners-Lee consideraba a HTML una ampliación de
SGML, pero no fue formalmente reconocida como tal hasta la publicación de mediados de 1993, por la
IETF, de una primera proposición para una especificación de HTML: el boceto
Hypertext Markup Language de Berners-Lee y
Dan Connolly, el cual incluía una
Definición de Tipo de Documento SGML para definir la gramática.
5 El boceto expiró luego de seis meses, pero fue notable por su reconocimiento de la etiqueta propia del navegador
Mosaic
usada para insertar imágenes sin cambio de línea, que reflejaba la
filosofía del IETF de basar estándares en prototipos con éxito.
6 De la misma manera, el boceto competidor de Dave Raggett
HTML+ (Hypertext Markup Format) (Formato de Marcaje de Hipertexto), de finales de 1993, sugería estandarizar características ya implementadas, como las tablas.
7
Marcado HTML
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 navegadores 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>enfásis fuerte</strong>
y
<em>énfasis</em>
. Es fácil ver cómo un
lector 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 a la Wikipedia sería de la forma
<a href=”es.wikipedia.org”>Wikipedia</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.
10 En contraste con los pares nombre-elemento, hay algunos atributos que afectan al elemento simplemente por su presencia
11 (tal como el atributo
ismap
para el elemento
img
).
12
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 el DOCTYPE, que significa la palabra justo tras DOCTYPE el tag de raíz, por ejemplo:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN" "http://www.w3.org/TR/html4/strict.dtd">
<script>
: incrusta un script en una web, o llama a uno mediante src="url del script"
. Se recomienda incluir el tipo 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.
-
-
-
-
-
<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.wikipedia.org" title="Wikipedia" target="_blank" tabindex="1">Wikipedia</a>
se representa como Wikipedia).
-
<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
El lenguaje HTML puede ser creado y editado con cualquier
editor de textos básico, como puede ser
Gedit en
Linux, el
Bloc de notas de Windows, o cualquier otro editor que admita texto sin formato como
GNU Emacs,
Microsoft Wordpad,
TextPad,
Vim,
Notepad++, entre otros.
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
navegador el 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 PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="es">
<head>
<title>Ejemplo1</title>
</head>
<body>
<p>ejemplo1</p>
</body>
</html>
Saber más
Seleccionando la opción «ver código fuente» en el navegador, se puede
ver realmente la información que está recibiendo éste y cómo la está
interpretando. Por ejemplo: en
Internet Explorer o en
Firefox, simplemente hay que desplegar el menú «ver» y luego elegir «código fuente», mientras que en
Chrome
presionar CTRL + U. De esta forma, se abrirá el editor de texto
configurado como predeterminado en el sistema con el código fuente de la
página que se esté viendo en ese momento en el explorador. Otra forma
más rápida consiste en hacer clic con el botón derecho del ratón en
cualquier punto del área donde el navegador muestra la página web y
elegir «ver código fuente».
Para el navegador Firefox existe el plugin
Firebug,
un depurador que permite entre otras cosas visualizar el código HTML de
la página que estamos visualizando de forma dinámica, y que incluso
resalta el trozo de código por el que está pasando el ratón en cada
momento, por lo que es una herramienta muy útil para aprender diversos
conceptos de este lenguaje.
Historia del estándar
En 1989 existían dos técnicas que permitían vincular documentos electrónicos, por un lado los hipervínculos (
enlaces) y por otro lado un poderoso lenguaje de etiquetas denominado
SGML. Por entonces,
Tim Berners-Lee, quien trabajaba en el Centro Europeo de Investigaciones Nucleares
CERN
da a conocer a la prensa que estaba trabajando en un sistema que
permitirá acceder a ficheros en línea que funcionaba sobre redes de
computadoras o máquinas electrónicas basadas en el protocolo
TCP/IP.
Inicialmente fue desarrollado para que se pueda compartir fácilmente
información entre científicos de distintas universidades e institutos de
investigación de todo el mundo.
15
A principios de
1990,
Tim Berners-Lee define por fin el HTML como un subconjunto del conocido
SGML y crea algo más valioso aún, el
World Wide Web. En 1991, Tim Berners-Lee crea el primer navegador web, ViolaWWW, que funcionaría en modo texto y sobre un sistema operativo
UNIX.
Los trabajos para crear un sucesor del HTML, denominado
HTML +, comenzaron a finales de
1993.
HTML+ se diseñó originalmente para ser un superconjunto del HTML que
permitiera evolucionar gradualmente desde el formato HTML anterior. A la
primera especificación formal de HTML+ se le dio, por lo tanto, el
número de versión 2 para distinguirla de las propuestas no oficiales
previas. Los trabajos sobre HTML+ continuaron, pero nunca se convirtió
en un estándar, a pesar de ser la base formalmente más parecida al
aspecto compositivo de las especificaciones actuales.
El borrador del
estándar HTML 3.0 fue propuesto por el recién formado
W3C en marzo de
1995.
Con él se introdujeron muchas nuevas capacidades; por ejemplo,
facilidades para crear tablas, hacer que el texto fluyese alrededor de
las figuras y mostrar elementos matemáticos complejos. Aunque se diseñó
para ser compatible con
HTML 2.0,
era demasiado complejo para ser implementado con la tecnología de la
época, y cuando el borrador del estándar expiró en septiembre de
1995, se abandonó debido a la carencia de apoyos de los fabricantes de
navegadores web. El
HTML 3.1 nunca llegó a ser propuesto oficialmente, y el estándar siguiente fue el
HTML 3.2, que abandonaba la mayoría de las nuevas características del
HTML 3.0 y, a cambio, adoptaba muchos elementos desarrollados inicialmente por los navegadores web
Netscape y
Mosaic.
La posibilidad de trabajar con fórmulas matemáticas que se había
propuesto en el HTML 3.0 pasó a quedar integrada en un estándar distinto
llamado
MathML.
En 1997,
HTML 4.0 se publicó como una recomendación del
W3C.
HTML 4.0
adoptó muchos elementos específicos desarrollados inicialmente para un
navegador web concreto, pero al mismo tiempo comenzó a limpiar el HTML
señalando algunos de ellos como «desaprobados» o
deprecated en inglés.
HTML 4.0 implementa características como
XForms 1.0 que no necesitan implementar motores de navegación que eran incompatibles con algunas páginas web HTML. En 2004 la
W3C reabrió el debate de la evolución del HTML, y se dieron a conocer las bases para la versión
HTML5. No obstante, este trabajo fue rechazado por los miembros del
W3C y se daría preferencia al desarrollo del XML.
Apple,
Mozilla y
Opera anunciaron su interés en seguir trabajando en el proyecto bajo el nombre de
WHATWG,
16 que se basa en la compatibilidad con tecnologías anteriores.
En 2006, el
W3C se interesó en el desarrollo de
HTML5, y en 2007 se unió al grupo de trabajo del
WHATWG para unificar el proyecto.
Accesibilidad web
El diseño en HTML, aparte de cumplir con las especificaciones propias del lenguaje, debe respetar ciertos criterios de
accesibilidad web,
siguiendo unas pautas o las normativas y leyes vigentes en los países
donde se regule dicho concepto. Se encuentra disponible y desarrollado
por el
W3C a través de las Pautas de Accesibilidad al Contenido Web 1.0 WCAG (actualizadas recientemente con la especificación 2.0
17 ), aunque muchos países tienen especificaciones propias, como es el caso de España con la Norma UNE 139803.
18
Entidades HTML
Los caracteres especiales como signo de puntuación, letras con tilde o
diéresis o símbolos del lenguaje se deben convertir en entidad HTML
para mostrarse en un navegador. La siguiente es una lista de caracteres
españoles y su correspondiente entidad HTML:
Carácter |
Entidad HTML |
Carácter |
Entidad HTML |
á |
á |
Á |
Á |
é |
é |
É |
É |
í |
í |
Í |
Í |
ó |
ó |
Ó |
Ó |
ú |
ú |
Ú |
Ú |
ü |
ü |
Ü |
Ü |
ñ |
ñ |
Ñ |
Ñ |
¡ |
¡ |
¿ |
¿ |
Véase también
Referencias