2 Introducción a HTML 4

Nota: Este documento es parte de una traducción al castellano de la Recomendación del W3C "HTML 4.01 Specification" (más información). Puede consultar la versión original del mismo. Para cualquier comentario o corrección acerca de la traducción póngase en contacto con el traductor en jrpozo arroba conclase punto net. Gracias por su colaboración.

Véase el Aviso de copyright de la traducción.

Contenidos

  1. ¿Qué es la World Wide Web?
    1. Introducción a los URIs
    2. Identificadores de fragmento
    3. URIs relativos
  2. ¿Qué es el HTML?
    1. Breve historia del HTML
  3. HTML 4
    1. Internacionalización
    2. Accesibilidad
    3. Tablas
    4. Documentos compuestos
    5. Hojas de estilo
    6. Scripts
    7. Impresión
  4. Creación de documentos con HTML 4
    1. Separar estructura y presentación
    2. Considerar la accesibilidad universal a la Web
    3. Ayudar a los agentes de usuario con la representación incremental

2.1 ¿Qué es la World Wide Web?

La World Wide Web (Web), en castellano "Tejido Mundial", es una red de recursos de información. La Web se basa en tres mecanismos para hacer que estos recursos estén listos y a disposición de la mayor audiencia posible:

  1. Un esquema uniforme de nombres para localizar recursos en la Web (p.ej., URIs).
  2. Protocolos, para acceder a recursos con nombre en la Web (p.ej., HTTP).
  3. Hipertexto, para navegar fácilmente entre recursos (p.ej., HTML).

Las relaciones entre los tres mecanismos son evidentes a todo lo largo de esta especificación.

2.1.1 Introducción a los URIs

Todos los recursos disponibles en la Web -- documentos HTML, imágenes, videoclips, programas, etc. -- tienen una dirección que puede ser codificada mediante un Universal Resource Identifier, o "URI", es decir, un Identificador Universal de Recursos.

Los URIs se componen normalmente de tres partes:

  1. El esquema de nombres del mecanismo usado para acceder al recurso.
  2. El nombre de la máquina que aloja el recurso.
  3. El nombre en sí del recurso, dado en forma de "path" o "ruta de acceso".

Consideremos el URI que designa la página de Informes Técnicos del W3C:

   http://www.w3.org/TR

Este URI puede leerse de la siguiente manera: Hay un documento disponible a través del protocolo HTTP (ver [RFC2616]), que se encuentra en la máquina www.w3.org, accesible a través de la ruta "/TR". Entre otros esquemas que pueden encontrarse en documentos HTML se incluyen "mailto" para correo electrónico y "ftp" para FTP.

Aquí tenemos otro ejemplo de URI. Éste se refiere al buzón de correo electrónico de un usuario:

   ...aquí va texto...
   Para cualquier comentario, envíe un mensaje a 
   <A href="mailto:jose@algunsitio.com">Jose Chévere</A>.

Nota. La mayoría de los lectores estará familiarizado con el término "URL" y no con el término "URI". Los URLs forman un subconjunto del esquema de nombres URI, que es más general.

2.1.2 Identificadores de fragmento

Algunos URIs se refieren a una localización dentro de un recurso. Este tipo de URIs termina con un "#" seguido de un identificador de vínculo (llamado identificador de fragmento). Por ejemplo, aquí tenemos un URI que apunta a un vínculo llamando seccion_2:

http://algunsitio.com/html/superior.html#seccion_2

2.1.3 URIs relativos

Un URI relativo no contiene información sobre el esquema de nombres. Su ruta de acceso se refiere generalmente a un recurso que está en la misma máquina que el documento actual. Los URIs relativos pueden contener indicadores relativos de ruta (p.ej., ".." significa un nivel superior en la jerarquía definida por la ruta de acceso), y puede contener identificadores de fragmento.

Los URIs relativos se convierten en URIs completos a partir de un URI base. Como ejemplo de conversión de un URI relativo, supongamos que tenemos el URI base "http://www.acme.com/soporte/intro.html". El URI relativo de la siguiente línea de código de un vínculo hipertextual:

   <A href="proveedores.html">Proveedores</A>

se expandiría al URI completo "http://www.acme.com/soporte/proveedores.html", mientras que el URI relativo de la siguiente línea de código de una imagen:

   <IMG src="../iconos/logo.gif" alt="logo">

se expandiría al URI completo "http://www.acme.com/iconos/logo.gif".

En HTML, los URIs se usan para:

Consulte la sección sobre el tipo URI para más información sobre URIs.

2.2 ¿Qué es el HTML?

Para publicar información y distribuirla globalmente, se necesita un lenguaje entendido universalmente, una especie de lengua franca de publicación que todas las computadoras puedan comprender potencialmente. El lenguaje de publicación usado por la World Wide Web es el HTML (acrónimo de HyperText Markup Language, Lenguaje para el Formato de Documentos de Hipertexto).

El HTML da a los autores las herramientas para:

2.2.1 Breve historia del HTML

El HTML fue desarrollado originalmente por Tim Berners-Lee mientras estaba en el CERN, y fue popularizado por el navegador Mosaic desarrollado en el NCSA. Durante los años 90 ha proliferado con el crecimiento explosivo de la Web. Durante este tiempo, el HTML se ha desarrollado de diferentes maneras. La Web depende de que los autores de páginas Web y las compañías compartan las mismas convenciones de HTML. Esto ha motivado el trabajo colectivo en las especificaciones del HTML.

El HTML 2.0 (noviembre de 1995, ver [RFC1866]) fue desarrollado bajo los auspicios de la Internet Engineering Task Force (IETF) para codificar lo que era la práctica común a finales de 1994. HTML+ (1993) y HTML 3.0 (1995, ver [HTML30]) propusieron versiones mucho más ricas de HTML. A pesar de no haber logrado nunca el consenso en las discusiones sobre estándares, estos borradores llevaron a la adopción de un número de nuevas características. Los esfuerzos del Grupo de Trabajo HTML del World Wide Web Consortium para codificar la práctica común en 1996 condujeron a HTML 3.2 (enero de 1997, ver [HTML32]). Los cambios desde HTML 3.2 se resumen en el Apéndice A.

La mayoría de las personas están de acuerdo en que los documentos HTML deberían funcionar bien en diferentes navegadores y plataformas. Gracias a la interoperabilidad los proveedores de contenidos reducen gastos, ya que sólo deben desarrollar una versión de cada documento. Si este esfuerzo no se realiza, hay un riesgo mucho mayor de que la Web se convierta en un mundo propietario de formatos incompatibles, que al final acabaría por reducir el potencial comercial de la Web para todos los que forman parte de ella.

Cada versión de HTML ha intentado reflejar un consenso cada vez mayor entre los interlocutores de la industria, de modo que no se desperdicien las inversiones hechas por los proveedores de contenidos y que sus documentos no dejen de ser legibles a corto plazo.

El HTML ha sido desarrollado con la premisa de que cualquier tipo de dispositivo debería ser capaz de usar la información de la Web: PCs con pantallas gráficas con distintas resoluciones y colores, teléfonos móviles, dispositivos de mano, dispositivos de salida y entrada por voz, computadoras con anchos de banda grandes o pequeños, etc.

2.3 HTML 4

El HTML 4 desarrolla el lenguaje HTML con mecanismos para hojas de estilo, ejecución de scripts, marcos, objetos incluidos, soporte mejorado para texto de derecha a izquierda y direcciones mezcladas, tablas más ricas y mejoras en formularios, ofreciendo mejoras de accesibilidad para personas con discapacidades.

El HTML 4.01 es una revisión de HTML 4.0 que corrige errores e introduce algunos cambios desde la revisión anterior.

2.3.1 Internacionalización

Esta versión de HTML ha sido diseñada con la ayuda de expertos en el campo de la internacionalización, para que los documentos puedan ser escritos en cualquier idioma y fácilmente transportados por todo el mundo. Esto se ha logrado incorporando la referencia [RFC2070], que trata sobre la internacionalización del HTML.

Un paso importante ha sido la adopción del estándar ISO/IEC:10646 (ver [ISO10646]) como el conjunto de caracteres del documento para HTML. Este es el estándar más exhaustivo del mundo relacionado con la representación de caracteres internacionales, dirección del texto, puntuación, y otros aspectos de los idiomas del mundo.

HTML ofrece ahora un mayor soporte para diversos lenguajes humanos dentro de un documento. Esto permite un indexado más efectivo de los documentos por parte de los motores de búsqueda, tipografía de mayor calidad, mejor conversión de texto a voz, mejor separación de palabras, etc.

2.3.2 Accesibilidad

A medida que la comunidad de la Web crece y sus miembros diversifican sus habilidades, es crucial que las tecnologías subyacentes sean apropiadas para sus fines específicos. El HTML se ha diseñado para hacer las páginas web más accesibles a aquéllos con limitaciones físicas. Los desarrollos de HTML 4 derivados de cuestiones de accesibilidad incluyen:

Los autores que diseñen páginas pensando en el aspecto de la accesibilidad, no sólo recibirán el agradecimiento de la comunidad preocupada por el tema de la accesibilidad, sino que también se beneficiarán en otros aspectos: los documentos HTML bien diseñados que distingan entre estructura y presentación se adaptarán más fácilmente a las nuevas tecnologías.

Nota. Para más información sobre el diseño de documentos HTML accesibles, consúltese en [WAI].

2.3.3 Tablas

El nuevo modelo de tablas de HTML se basa en [RFC1942]. Ahora los autores tienen mayor control sobre la estructura y la presentación (p.ej., grupos de columnas). La posibilidad que tienen los autores de recomendar anchuras para las columnas permite a los agentes de usuario mostrar los datos de la tabla incrementalmente (a medida que los reciben) en lugar de tener que cargar toda la tabla antes de empezar a representarla.

Nota. En el momento de escribir esta especificación, algunas herramientas de creación de HTML se basan exhaustivamente en el uso de tablas para dar formato a los documentos, lo cual puede causar fácilmente problemas de accesibilidad.

2.3.4 Documentos compuestos

HTML ofrece ahora un mecanismo estándar para incluir objetos genéricos y aplicaciones dentro de documentos HTML. El elemento OBJECT (junto a los antiguos elementos IMG y APPLET, más específicos) proporciona un mecanismo para incluir imágenes, vídeo, sonido, fórmulas matemáticas, aplicaciones especializadas y otros objetos en un documento. También permite a los autores especificar una jerarquía de representaciones alternativas para los agentes de usuario que no soporten una representación específica.

2.3.5 Hojas de estilo

Las hojas de estilo simplifican el código HTML y liberan en gran medida al HTML de las responsabilidades de presentación. Esto da tanto a los autores como a los usuarios control sobre la presentación de los documentos: fuentes, alineación, colores, etc.

La información de estilo puede especificarse para elementos individuales o para grupos de elementos. La información de estilo puede especificarse en un documento HTML o en hojas de estilo externas.

El mecanismo para asociar una hoja de estilo con un documento es independiente del lenguaje de la hoja de estilo.

Antes de la llegada de las hojas de estilo, los autores tenían un control limitado sobre la representación. HTML 3.2 incluía un número de atributos y elementos que ofrecían control sobre la alineación, el tamaño de la fuente y el color del texto. Además los autores utilizaban las tablas y las imágenes como medio de organizar la presentación de sus páginas. El tiempo relativamente largo que necesitan los usuarios para actualizar sus navegadores hará que estas características sigan siendo usadas durante algún tiempo. Sin embargo, al ofrecer las hojas de estilo mecanismos de presentación más potentes, el World Wide Web Consortium declarará obsoletos en el futuro muchos de los elementos y atributos de presentación del HTML. A lo largo de esta especificación dichos elementos y atributos se marcan como "desaprobados". Se acompañan con ejemplos de cómo lograr los mismos efectos con otros elementos o con hojas de estilo.

2.3.6 Ejecución de scripts

Gracias a los scripts, los autores pueden crear páginas web dinámicas (p.ej., "formularios inteligentes", que reaccionan a medida que los usuarios los rellenan) y utilizar el HTML para crear aplicaciones en red.

Los mecanismos proporcionados para incluir scripts en un documento HTML son independientes del lenguaje de programación de los scripts.

2.3.7 Impresión

En ocasiones los autores querrán facilitar a los usuarios la impresión de su trabajo, sin limitarse al documento actual. Cuando un documento forme parte de un trabajo mayor, las relaciones entre los documentos pueden describirse mediante el elemento HTML LINK o usando el Resource Description Framework (RDF, Marco de Descripción de Recursos) del W3C (ver [RDF10]).

2.4 Creación de documentos con HTML 4

Recomendamos a los autores e implementadores que sigan los siguientes principios generales cuando trabajen con HTML 4.

2.4.1 Separar estructura y presentación

El HTML tiene sus raíces en SGML, que siempre ha sido un lenguaje para la especificación de código estructural. A medida que el HTML madura, un número cada vez mayor de sus elementos y atributos presentacionales ha sido reemplazado por otros mecanismos, en particular las hojas de estilo. La experiencia ha demostrado que separando la estructura de un documento de sus aspectos presentacionales se reduce el coste de servir a un amplio espectro de plataformas, medios, etc. y se facilitan las revisiones del documento.

2.4.2 Considerar la accesibilidad universal a la Web

Para hacer la Web más accesible a todos, en especial a aquéllos con discapacidades, los autores deberían considerar cómo pueden representarse sus documentos en diferentes plataformas: navegadores basados en voz, lectores braille, etc. No estamos recomendando a los autores que limiten su creatividad, sólo que consideren representaciones alternativas de sus diseños. El HTML ofrece un número de mecanismos con este fin (p.ej., el atributo alt, el atributo accesskey, etc.)

Además de esto, los autores deberían recordar que sus documentos pueden llegar a una audiencia muy lejana con diferentes computadoras y configuraciones. Para que los documentos sean correctamente interpretados, los autores deberían incluir en sus documentos información sobre el idioma natural y la dirección del texto, cómo está codificado el documento, y otras cuestiones relacionadas con la internacionalización.

2.4.3 Ayudar a los agentes de usuario con la representación incremental

Mediante un diseño cuidadoso de las tablas y haciendo uso de las nuevas características de las tablas de HTML 4, los autores pueden ayudar a los agentes de usuario a representar los documentos más rápidamente. Los autores pueden aprender a diseñar tablas para su representación incremental (ver elemento TABLE). Los implementadores deberían consultar las notas sobre tablas del apéndice para obtener información sobre algoritmos incrementales.