HTML
HTML
Desarrollador
World Wide Web Consortium, Grupo de
Trabajo de Ingeniería de Internet y Web
Hypertext Application Technology Working
Group
[Link] y https://
[Link]/multipage/
Información general
Extensión de htm y html
archivo
Tipo de MIME text/html
Type code TEXT
Lanzamiento 1993 (32 años)(info)
inicial
Última versión Living Standard
Tipo de Lenguaje de marcado
formato
Extendido de SGML
Extendido a XHTML
Estándar(es) ISO/IEC
15445:2000 (01 de
mayo de 2000)
W3C HTML
4.01 (27 de marzo
de 2018)
HTML Living
Standard
Formato
abierto
[editar datos en Wikidata]
HTML, acrónimo en inglés de HyperText Markup
Language («lenguaje de marcado de hipertexto»), hace referencia
al lenguaje de marcado utilizado en la creación de páginas web. Este
estándar que sirve de referencia del software que interactúa con 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
presentación de contenido de una página web, que incluye texto,
imágenes, videos, juegos, entre otros elementos. Este estándar es
gestionado por el World Wide Web Consortium (W3C) o Consorcio
WWW, una organización dedicada a la estandarización de la mayoría
de las tecnologías asociadas a la web, especialmente en lo
relacionado con su escritura e interpretación. HTML se considera el
lenguaje web más importante y su invención crucial para el
surgimiento, desarrollo y expansión de la World Wide Web (WWW). Es
el estándar que prevalece en la visualización de páginas web y es
adoptado por todos los navegadores actuales.[1]
El lenguaje HTML se fundamenta en la diferenciación como filosofía
de desarrollo. Para añadir elementos externos a una página como
imágenes, vídeos o scripts, no se incrustan directamente en el código
de la página. En su lugar, se realiza una referencia a la ubicación de
cada elemento mediante texto. De este modo, la página web contiene
solamente texto, dejando al navegador web (intérprete del código) la
labor de unir todos los elementos y visualizar la página final. Al ser un
estándar, HTML pretende ser un lenguaje que permita que cualquier
página web escrita en una determinada versión, pueda ser
interpretada de manera uniforme (siguiendo el estándar) por
cualquier navegador web actualizado.
HTML es un lenguaje de marcado que posibilita definir la estructura
de nuestro documento mediante etiquetas. Este lenguaje ofrece una
gran adaptabilidad, una estructuración lógica y es fácil de interpretar
tanto por humanos como por máquinas.
A lo largo de sus diferentes versiones, HTML ha experimentado la
incorporación y eliminación de distintas características, con el
propósito de optimizar su eficiencia y facilitar el desarrollo de páginas
web compatibles con varios navegadores y plataformas (PC de
escritorio, portátiles, teléfonos inteligentes, tabletas, etc.) No
obstante, para interpretar adecuadamente una nueva versión de
HTML, los desarrolladores de navegadores web deben incorporar
estos cambios, y los usuarios debe ser capaces de usar la nueva
versión del navegador con todas las actualizaciones aplicadas. Por lo
general, estos cambios se implementan mediante actualizaciones
automáticas (Firefox, Chrome) u ofreciendo una nueva versión del
navegador con todas las modificaciones incorporadas, disponible en
un sitio web de descarga oficial (Internet Explorer). En consecuencia,
un navegador desactualizado no podrá interpretar de manera precisa
una página web escrita en una versión de HTML superior a la que
soporta, lo que obliga a menudo a los desarrolladores a aplicar
técnicas y cambios para resolver problemas de visualización e incluso
de interpretación de código HTML.
Así mismo, las páginas web creadas en una versión anterior de HTML
deberían ser actualizadas o reescritas, aunque esto no siempre se
cumple. Por esta razón, algunos navegadores todavía conservan la
capacidad de interpretar páginas web en versiones anteriores de
HTML. Estas diferencias en la interpretación de una página web
persisten debido a estas razones, generando discrepancias entre
distintos navegadores y versiones.
Primeras especificaciones de HTML
Tim Berners-Lee, en 1991,[2][3] describe 18 elementos que
conformaban el diseño inicial y relativamente simple de HTML. Trece
de estos elementos aún perduran en HTML 4. [4]
Berners-Lee consideraba el HTML una ampliación de SGML, pero no
fue formalmente reconocida como tal hasta la publicación a mediados
de 1993, cuando la IETF (en español: Grupo de Trabajo de Ingeniería
de Internet)[5] publicó una primera propuesta para la especificación de
HTML: el borrador del Hypertext Markup Language de Berners-Lee
y Dan Connolly. Esta propuesta incluía una Definición de Tipo de
Documento SGML para establecer la sintaxis.[6]A pesar que el
borrador expiró a los seis meses, fue notable por reconocer la
etiqueta específica del navegador Mosaic usada para insertar
imágenes sin cambiar la línea. Esto reflejaba la filosofía del IETF de
basar los estándares en prototipos con éxito. [7]De manera similar, el
borrador 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.[8]
Marcador HTML
Este artículo o sección necesita referencias que
aparezcan en una publicación acreditada.
Busca
fuentes: «HTML» – noticias · libros · académico · imág
enes
Este aviso fue puesto el 13 de diciembre de 2023.
El HTML se escribe utilizando «etiquetas», encerradas por corchetes
angulares (<,>,/). Además de describir la estructura de un
documento, el HTML puede, hasta cierto punto, definir su apariencia y
hacer referencia a un tipo de programa llamado script, el cual puede
influir en el comportamiento de navegadores web y otros
procesadores de HTML.[9]
El término HTML, también se refiere al contenido del tipo de
MIME text/html o de manera más amplia, como un término genérico
para el HTML. Esto puede ser en forma derivada
del XML (como XHTML 1.0 y versiones posteriores) o directamente
derivado de SGML (como HTML 4.01 y versiones anteriores). El HTML
consta de varios componentes esenciales, incluyendo elementos y
sus atributos, tipos de datos y la declaración de tipo de documento.
[cita requerida]
Elementos
HTML element content categories
Los elementos son la estructura básica de HTML. Los elementos
tienen dos propiedades básicas: atributos y contenido. Tanto los
atributos como los contenidos tiene ciertas restricciones para que el
documento HTML se considere válido. Generalmente, un elemento se
compone de una etiqueta de apertura (por ejemplo, <nombre-de-
elemento>) y una etiqueta de cierre correspondiente (por
ejemplo, </nombre-de-elemento>). Los atributos del elemento se
especifican dentro de la etiqueta de apertura, mientras que el
contenido se sitúa entre ambas etiquetas (por ejemplo, <nombre-de-
elemento atributo="valor">Contenido</nombre-de-elemento>).
Algunos elementos, como <br>, carecen de contenido y no requieren
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 encabezado de
segundo nivel, el cual se mostraría en un navegador de una manera
similar al título «Marcador HTML» al inicio de esta sección. El marcado
estructural no determina cómo se verá el elemento, pero la mayoría
de los navegadores web han estandarizado el formato de los
elementos. Se puede aplicar un formato específico al texto por medio
de hojas de estilo en cascada.
El marcado presentacional se encarga de definir la apariencia del
texto, independientemente de su función. Por
ejemplo, <b>negrita</b> indica que los navegadores web deben
mostrar el texto en negrita, pero no específica como deben
interpretarlo los navegadores que presentan el contenido de otra
manera distinta (como aquellos que leen el texto en voz alta). En
contraste, en el caso de <b>negrita</b> e <i>itálica</i>, existen
elementos con una naturaleza más semántica: <strong>énfasis
fuerte</strong> y <em>énfasis</em>. Es evidente cómo un lector
de pantalla debería interpretar estos dos últimos elementos. Sin
embargo, a pesar de su similitud visual, son diferentes a equivalentes
en presentación: un lector de pantalla no debería acentuar más el
nombre de un libro, aunque este el nombre en itálicas en la pantalla.
La mayoría del marcado en presentación ha sido desechado desde la
versión 4.01, en favor de las hojas de estilo en cascada.
El marcado hipertextual se emplea para enlazar partes del
documento con otros documentos o con otras secciones 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 se dirija hacia la Wikipedia podría tener esta
forma <a
href=”[Link]
También es posible crear enlaces con otros objetos, como
imágenes <a href=”enlace”><img src=”imagen” /></a>.
Atributos
Véase también: Atributo HTML
En su mayoría, los atributos de un elemento son pares nombre-valor,
separados por un signo de igual «=» y escritos dentro de la etiqueta
de inicio de un elemento, después del nombre del elemento. El valor
puede estar encerrado por comillas dobles o simples, aunque ciertos
tipos de valores pueden carecer de comillas en HTML (pero no en
XHTML).[10][11] De todas maneras, dejar los valores sin comillas se
considera poco seguro.[12] Por otro lado, en contraste con los pares
nombre-elemento, hay algunos atributos que afectan al elemento
simplemente por su presencia,[13]como el atributo ismap para el
elemento img.[14]
Etiquetas HTML básicas
Un ejemplo de código HTML
con coloreado de sintaxis.
Las etiquetas HTML[15] son códigos utilizados para estructurar y dar
formato al contenido en páginas web. Funcionan como instrucciones
que indican al navegador cómo mostrar diferentes elementos, como
texto, imágenes o enlaces, al interpretar el código HTML. Cada
etiqueta tiene una función específica y se compone de elementos
como apertura <etiqueta> y cierre </etiqueta>, encerrando el
contenido que afectará.
<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.
<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="/[Link]"
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:
<article>: Representa una composición auto-contenida en
un documento, página, una aplicación o en el sitio, que se
destina a distribuir de forma independiente o re-utilizable.
<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).
<footer> : representa el pie de un documento o sección.
La información que se suele añadir en este bloque es el
autor del documento, enlaces a contenido relacionado,
información de copyright, avisos legales, etc.
<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="[Link]
title="Ejemplo" target="_blank"
tabindex="1">Ejemplo</a> se representa como ejemplo.
[16]
<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/[Link]" />. Es conveniente, por
accesibilidad, poner un atributo alt="texto alternativo".
<ol>: etiqueta para listas ordenadas.
<ul>: etiqueta para listas desordenadas.
<li>: etiqueta elementos de una lista.
<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). [17][18]
<main>: división estructural de la página que engloba el
contenido principal de la misma. Dentro de esta etiqueta,
por ejemplo, encontramos los <article>.
<span>: Sirve para diferenciar un texto de otro.
<br>: Sirve para provocar un salto de línea. Esta etiqueta
no se cierra.
<hr>: Sirve para provocar un cambio de tema entre
párrafos. Esta etiqueta no se cierra.
<details> : Sirve para crear una sección desplegable
<summary> : Sirve para crear el título de la sección
desplegable
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>.
<header>División estructural en la parte del
contenido.</header>
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 GNU/Linux, el Bloc de
notas de Windows, o cualquier otro editor que admita texto sin
formato como GNU Emacs, Microsoft
Wordpad, TextPad, Vim, Notepad++, Atom, Visual Studio Code, entre
muchos 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 el desarrollador olvida algún código o etiqueta, basta con
dirigirse 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>
<html>
<head>
<meta charset="utf-8" />
<title>Ejemplo1</title>
</head>
<body>
<p>Párrafo de ejemplo</p>
</body>
</html>
Editores de textos
Para el desarrollo web los programadores se auxilian de un editor de
texto. Estos normalmente están hechos con el fin de facilitar la
programación. Existen actualmente muchos, como son
estos: Notepad++, Adobe Dreamweaver, Sublime text, entre otros.
Aprender HTML analizando páginas reales
Seleccionando la opción «ver código fuente» en el navegador, se
puede ver realmente la información que está recibiendo el navegador
web y cómo la está interpretando.
Captura del inspector de página de
Firefox.
Por ejemplo: en Internet Explorer, simplemente hay que desplegar el
menú «ver» y luego elegir «código fuente», mientras que
en Chrome y Firefox presionar Ctrl+U. De esta forma, se abrirá una
pestaña con el código fuente de la página que se esté viendo en ese
momento en el navegador. 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 de la
página».
Aparte de poder ver el código fuente HTML de una página web con las
opciones antes descritas, Internet Explorer, Firefox y Google Chrome
incorporan también unas herramientas conocidas como inspectores
de página que se puede activar con F12.
Con estas herramientas es posible visualizar una página web y
seleccionar dentro de ella un elemento concreto del cual queremos
conocer cuál es el código HTML con el que está hecho señalando el
elemento en cuestión simplemente con el ratón. Al hacer esto, el
código se mostrará en un área especial dentro del navegador en el
que el usuario podrá ver el código HTML en cuestión (ver imagen),
además, de las reglas CSS que aplican a ese código HTML en
concreto. Este tipo de análisis resulta sumamente instructivo para
aprender a desarrollar en HTML.
Captura del inspector de página de Firefox
95
Para el navegador Firefox, además, existe como alternativa a la
herramienta nativa el plugin Firebug, muy similar a la herramienta
que Firefox incorpora por defecto.
Historia del estándar
En 1989 existían dos técnicas para vincular documentos electrónicos:
los hipervínculos o enlaces (hiperlinks o links) y, por otro lado, un
poderoso lenguaje de etiquetas denominado SGML. En ese entonces,
Tim Berners-Lee, quien trabajaba en el Centro Europeo de
Investigaciones Nucleares CERN informó a la prensa sobre su labor en
un sistema que permitiría acceder a ficheros en línea, funcionando
sobre redes de computadoras o máquinas electrónicas basadas en el
protocolo TCP/IP. En su origen, fue desarrollado para compartir
información entre científicos de distintas universidades e institutos de
investigación de todo el mundo.[19]
A principios de 1990, define por fin el HTML como un subconjunto del
conocido SGML y crea algo más valioso, incluso, el World Wide Web.
Tim Berners-Lee creó el proyecto World Wide Web (Tejido o Telaraña
Mundial), junto con un sistema que facilitaba la lectura de información
a través un programa de navegación. Este programa, denominado
WorldWideWeb, fue el primer navegador web y se desarrolló durante
la segunda mitad del año 1990; posteriormente fue rebautizado como
Nexus, para evitar confusiones por tener el mismo nombre que la
tecnología que representaba. A este le siguieron otros dos
navegadores: el Line Mode Browser y el ViolaWWW. El último,
desarrollado en 1992, fue el primer navegador en popularizarse entre
los primeros usuarios de la World Wide Web.[20]
Pei-Yuan Wei presentó el ViolaWWW,[21] que funcionaba 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+ fue diseñado originalmente
como un avance gradual desde el formato HTML anterior. La primera
especificación formal de HTML+ se identificó con el número de
versión 2 para distinguirla de las propuestas no oficiales previas.
Aunque los esfuerzos para HTML+ continuaron, nunca se convirtió en
un estándar, a pesar de ser la propuesta 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. Este introdujo muchas nuevas
capacidades, como la creación de tablas, el flujo de texto 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. Cuando el
borrador del estándar expiró en septiembre de 1995, se abandonó
debido a la falta de apoyo de los desarrolladores de navegadores
web. El HTML 3.1 nunca llegó a ser recomendado oficialmente, y el
siguiente estándar 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 se integró en un
estándar distinto llamado MathML.
En 1997, se publicó HTML 4.0 como una recomendación del W3C. Este
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 elementos como «desaprobados»
(deprecated, en inglés).
HTML 4.0 implementa características como XForms 1.0 que no
necesitan implementar motores de navegación incompatibles con
algunas páginas web HTML. En 2004, el W3C reabrió el debate de la
evolución del HTML, y presentó las bases para la versión HTML5. No
obstante, este trabajo fue rechazado por los miembros del W3C y se
dio preferencia al desarrollo del XML.
Apple, Mozilla y Opera anunciaron su interés en seguir trabajando en
el proyecto bajo el nombre de WHATWG,[22]basado en la
compatibilidad con las tecnologías anteriores.
En 2006, el W3C mostró interés en el desarrollo de HTML5, y en 2007
se unió al grupo de trabajo del WHATWG para unificar el proyecto.
Accesibilidad web
Artículo principal: 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),[23] aunque muchos países tienen especificaciones
propias, como es el caso de España con la Norma UNE 139803. [24]
Entidades HTML
Artículo principal: Lista de entidades de caracteres XML y HTML
Muchos caracteres especiales, letras con tilde, diéresis o símbolos de
escritura del lenguaje pueden representarse en un documento HTML
tanto por sí mismos, como por una referencia a una entidad. Entre las
ventajas de usar una referencia a entidad, están la de poder
representar caracteres Unicode usando una codificación de
caracteres distinta, o para suplir la falta de algunos caracteres en el
teclado usado.