HTML

Lenguaje de marcado de hipertexto

HTML
Logotipo oficial de HTML5 [1]
Extensión de nombre de archivo
  • .html
  • .htm
Tipo de medio de Internet
texto/html
Código de tipoTEXTO
Identificador de tipo uniforme (UTI)público.html
Desarrollado por
Lanzamiento inicial1993 ; hace 31 años ( 1993 )
Último lanzamiento
Nivel de vida
Tipo de formatoFormato de archivo de documento
Contenedor paraElementos HTML
Contenido porNavegador web
Extendido desdeSGML
Extendido aXHTML
¿ Formato abierto ?
Sitio webhtml.spec.whatwg.org

El lenguaje de marcado de hipertexto ( HTML ) es el lenguaje de marcado estándar para documentos diseñados para ser mostrados en un navegador web . Define el contenido y la estructura del contenido web . A menudo se complementa con tecnologías como hojas de estilo en cascada (CSS) y lenguajes de programación como JavaScript .

Los navegadores web reciben documentos HTML de un servidor web o de un almacenamiento local y los convierten en páginas web multimedia. HTML describe la estructura de una página web semánticamente y originalmente incluía claves para su apariencia.

Los elementos HTML son los componentes básicos de las páginas HTML. Con las construcciones HTML, se pueden incrustar imágenes y otros objetos, como formularios interactivos , en la página representada. HTML proporciona un medio para crear documentos estructurados al indicar la semántica estructural del texto, como encabezados, párrafos, listas, enlaces , citas y otros elementos. Los elementos HTML se delimitan mediante etiquetas , escritas con corchetes angulares . Las etiquetas como y introducen directamente el contenido en la página. Otras etiquetas como y rodean a y proporcionan información sobre el texto del documento y pueden incluir etiquetas de subelementos. Los navegadores no muestran las etiquetas HTML, sino que las utilizan para interpretar el contenido de la página.<img><input><p></p>

HTML puede incrustar programas escritos en un lenguaje de programación como JavaScript , lo que afecta el comportamiento y el contenido de las páginas web. La inclusión de CSS define la apariencia y el diseño del contenido. El Consorcio World Wide Web (W3C), antiguo mantenedor del HTML y actual mantenedor de los estándares CSS, ha fomentado el uso de CSS sobre HTML de presentación explícito desde 1997. [2] Una forma de HTML, conocida como HTML5 , se utiliza para mostrar video y audio, principalmente utilizando el elemento, junto con JavaScript.[update]<canvas>

Historia

Desarrollo

Fotografía de Tim Berners-Lee en abril de 2009
Tim Berners-Lee en abril de 2009

En 1980, el físico Tim Berners-Lee , contratista del CERN , propuso y creó el prototipo de ENQUIRE , un sistema para que los investigadores del CERN utilizaran y compartieran documentos. En 1989, Berners-Lee escribió un memorando en el que proponía un sistema de hipertexto basado en Internet . [3] Berners-Lee especificó el HTML y escribió el software del navegador y del servidor a finales de 1990. Ese año, Berners-Lee y el ingeniero de sistemas de datos del CERN Robert Cailliau colaboraron en una solicitud conjunta de financiación, pero el proyecto no fue adoptado formalmente por el CERN. En sus notas personales de 1990, Berners-Lee enumeró "algunas de las muchas áreas en las que se utiliza el hipertexto"; una enciclopedia es la primera entrada. [4]

La primera descripción públicamente disponible de HTML fue un documento llamado "Etiquetas HTML", [5] mencionado por primera vez en Internet por Tim Berners-Lee a finales de 1991. [6] [7] Describe 18 elementos que comprenden el diseño inicial, relativamente simple, de HTML. A excepción de la etiqueta de hipervínculo, estos fueron fuertemente influenciados por SGMLguid , un formato de documentación basado en el Lenguaje de Marcado Generalizado Estándar (SGML) desarrollado internamente en el CERN. Once de estos elementos todavía existen en HTML 4. [8]

HTML es un lenguaje de marcado que los navegadores web utilizan para interpretar y componer texto, imágenes y otros materiales en páginas web visibles o audibles. Las características predeterminadas para cada elemento de marcado HTML se definen en el navegador, y estas características se pueden alterar o mejorar mediante el uso adicional de CSS por parte del diseñador de la página web . Muchos de los elementos de texto se mencionan en el informe técnico ISO de 1988 TR 9537 Técnicas para usar SGML , que describe las características de los primeros lenguajes de formato de texto, como el utilizado por el comando RUNOFF desarrollado a principios de la década de 1960 para el sistema operativo CTSS (sistema de tiempo compartido compatible). Estos comandos de formato se derivaron de los comandos utilizados por los tipógrafos para formatear documentos manualmente. Sin embargo, el concepto SGML de marcado generalizado se basa en elementos (rangos anotados anidados con atributos) en lugar de simplemente efectos de impresión, con estructura y marcado separados. HTML se ha movido progresivamente en esta dirección con CSS.

Berners-Lee consideró que HTML era una aplicación de SGML. Fue definido formalmente como tal por el Grupo de Trabajo de Ingeniería de Internet (IETF) con la publicación a mediados de 1993 de la primera propuesta para una especificación HTML, el Borrador de Internet "Hypertext Markup Language (HTML)" de Berners-Lee y Dan Connolly , que incluía una definición de tipo de documento SGML para definir la sintaxis. [9] [10] El borrador expiró después de seis meses, pero fue notable por su reconocimiento de la etiqueta personalizada del navegador Mosaic de NCSA para incrustar imágenes en línea, lo que refleja la filosofía del IETF de basar los estándares en prototipos exitosos. De manera similar, el Borrador de Internet competidor de Dave Raggett , "HTML+ (Hypertext Markup Format)", de finales de 1993, sugería estandarizar características ya implementadas como tablas y formularios para completar. [11]

Después de que los borradores de HTML y HTML+ caducasen a principios de 1994, la IETF creó un grupo de trabajo sobre HTML. En 1995, este grupo de trabajo completó "HTML 2.0", la primera especificación HTML que se pretendía tratar como un estándar en el que se basarían las implementaciones futuras. [12]

El desarrollo posterior bajo los auspicios de la IETF se vio estancado por intereses en pugna. Desde 1996, [update]las especificaciones HTML han sido mantenidas, con aportes de proveedores de software comercial, por el Consorcio World Wide Web (W3C). [13] En 2000, HTML se convirtió en un estándar internacional ( ISO / IEC 15445:2000). HTML 4.01 se publicó a fines de 1999, con más erratas publicadas hasta 2001. En 2004, comenzó el desarrollo de HTML5 en el Grupo de Trabajo de Tecnología de Aplicaciones de Hipertexto Web (WHATWG), que se convirtió en un producto conjunto con el W3C en 2008, y se completó y estandarizó el 28 de octubre de 2014. [14]

Línea de tiempo de la versión HTML

HTML 2

24 de noviembre de 1995
HTML 2.0 se publicó como RFC  1866. Las RFC complementarias agregaron capacidades:
  • 25 de noviembre de 1995: RFC  1867 (carga de archivos basada en formularios)
  • Mayo de 1996: RFC  1942 (tablas)
  • Agosto de 1996: RFC  1980 (mapas de imágenes del lado del cliente)
  • Enero de 1997: RFC  2070 ( internacionalización )

HTML 3

14 de enero de 1997
HTML 3.2 [15] fue publicado como una Recomendación del W3C . Fue la primera versión desarrollada y estandarizada exclusivamente por el W3C, ya que el IETF había cerrado su Grupo de Trabajo HTML el 12 de septiembre de 1996. [16]
Inicialmente denominado "Wilbur", [17] HTML 3.2 eliminó por completo las fórmulas matemáticas, reconcilió la superposición entre varias extensiones propietarias y adoptó la mayoría de las etiquetas de marcado visual de Netscape . El elemento blink de Netscape y el elemento marquee de Microsoft se omitieron debido a un acuerdo mutuo entre las dos empresas. [13] Un marcado para fórmulas matemáticas similar al de HTML se estandarizó 14 meses después en MathML .

HTML 4

18 de diciembre de 1997
HTML 4.0 [18] se publicó como recomendación del W3C y ofrece tres variantes:
  • Estricto, en el que se prohíben los elementos obsoletos
  • Transicional, en el que se permiten elementos obsoletos
  • Conjunto de marcos en el que en su mayoría solo se permiten elementos relacionados con el marco .
  • HTML 4.0 , cuyo nombre en código inicial era "Cougar", [17] adoptó muchos tipos de elementos y atributos específicos del navegador, pero también intentó eliminar gradualmente las características de marcado visual de Netscape marcándolas como obsoletas en favor de las hojas de estilo. HTML 4 es una aplicación SGML que cumple con la norma ISO 8879 – SGML. [19]
24 de abril de 1998
HTML 4.0 [20] se reeditó con modificaciones menores sin incrementar el número de versión.
24 de diciembre de 1999
HTML 4.01 [21] se publicó como una recomendación del W3C. Ofrece las mismas tres variantes que HTML 4.0 y sus últimas erratas [22] se publicaron el 12 de mayo de 2001.
Mayo de 2000
La norma ISO/IEC 15445:2000 [23] (" ISO HTML", basada en HTML 4.01 Strict) se publicó como un estándar internacional ISO/IEC. [24] En la ISO, este estándar se encuentra en el dominio del ISO/IEC JTC 1/SC 34 (ISO/IEC Joint Technical Committee 1, Subcommittee 34 – Document description and processing language). [23]
Después de HTML 4.01, no hubo nuevas versiones de HTML durante muchos años, ya que el desarrollo del lenguaje paralelo basado en XML XHTML ocupó el Grupo de Trabajo HTML del W3C.

HTML 5

28 de octubre de 2014
HTML5 [25] se publicó como una recomendación del W3C. [26]
1 de noviembre de 2016
HTML 5.1 [27] se publicó como una recomendación del W3C. [28] [29]
14 de diciembre de 2017
HTML 5.2 [30] se publicó como una recomendación del W3C. [31] [32]

Cronología de la versión borrador HTML

Octubre de 1991
Etiquetas HTML , [6] un documento informal del CERN que enumera 18 etiquetas HTML, se mencionó por primera vez en público.
Junio ​​de 1992
Primer borrador informal de la DTD HTML, [33] con siete revisiones posteriores (15 de julio, 6 de agosto, 18 de agosto, 17 de noviembre, 19 de noviembre, 20 de noviembre, 22 de noviembre) [34] [35] [36]
Noviembre de 1992
HTML DTD 1.1 (el primero con un número de versión, basado en las revisiones de RCS, que comienzan con 1.1 en lugar de 1.0), un borrador informal [36]
Junio ​​de 1993
El lenguaje de marcado de hipertexto [37] fue publicado por el grupo de trabajo IIIR de la IETF como borrador de Internet (una propuesta preliminar para un estándar). Fue reemplazado por una segunda versión [38] un mes después.
Noviembre de 1993
El IETF publicó HTML+ como borrador de Internet y fue una propuesta que competía con el borrador del lenguaje de marcado de hipertexto. Expiró en julio de 1994. [39]
Noviembre de 1994
Primer borrador (revisión 00) de HTML 2.0 publicado por el propio IETF [40] (denominado como "HTML 2.0" a partir de la revisión 02 [41] ), que finalmente condujo a la publicación del RFC  1866 en noviembre de 1995. [42]
Abril de 1995 (escrito en marzo de 1995)
HTML 3.0 [43] fue propuesto como estándar para la IETF, pero la propuesta expiró cinco meses después (28 de septiembre de 1995) [44] sin que se tomaran medidas adicionales. Incluía muchas de las capacidades que estaban en la propuesta HTML+ de Raggett, como soporte para tablas, flujo de texto alrededor de figuras y visualización de fórmulas matemáticas complejas. [44]
El W3C comenzó a desarrollar su propio navegador Arena como banco de pruebas para HTML 3 y las hojas de estilo en cascada, [45] [46] [47] pero HTML 3.0 no tuvo éxito por varias razones. El borrador se consideró muy grande, con 150 páginas, y el ritmo de desarrollo del navegador, así como el número de partes interesadas, había superado los recursos del IETF. [13] Los proveedores de navegadores, incluidos Microsoft y Netscape en ese momento, decidieron implementar diferentes subconjuntos de las características del borrador de HTML 3, así como introducir sus propias extensiones. [13] (Véase browser wars .) Estas incluían extensiones para controlar aspectos estilísticos de los documentos, en contra de la "creencia [de la comunidad de ingeniería académica] de que cosas como el color del texto, la textura del fondo, el tamaño de la fuente y el tipo de fuente estaban definitivamente fuera del alcance de un lenguaje cuando su única intención era especificar cómo se organizaría un documento". [13] Dave Raggett, que ha sido miembro del W3C durante muchos años, ha comentado, por ejemplo: "Hasta cierto punto, Microsoft construyó su negocio en la Web ampliando las características HTML". [13]
Logotipo oficial de HTML5
Logotipo de HTML5
Enero de 2008
HTML5 fue publicado como borrador de trabajo por el W3C. [48]
Aunque su sintaxis se parece mucho a la de SGML , HTML5 ha abandonado cualquier intento de ser una aplicación SGML y ha definido explícitamente su propia serialización "html", además de una serialización alternativa XHTML5 basada en XML. [49]
HTML5 2011 – Última llamada
El 14 de febrero de 2011, el W3C amplió el estatuto de su Grupo de Trabajo HTML con hitos claros para HTML5. En mayo de 2011, el grupo de trabajo elevó HTML5 a la "última convocatoria", una invitación a las comunidades dentro y fuera del W3C para confirmar la solidez técnica de la especificación. El W3C desarrolló un conjunto de pruebas integral para lograr una amplia interoperabilidad para la especificación completa en 2014, que era la fecha objetivo para la recomendación. [50] En enero de 2011, el WHATWG cambió el nombre de su estándar de vida "HTML5" a "HTML". No obstante, el W3C continúa con su proyecto de lanzar HTML5. [51]
2012 HTML5 – Recomendación de candidatos
En julio de 2012, el WHATWG y el W3C decidieron separarse en cierta medida. El W3C continuará con el trabajo de especificación de HTML5, centrándose en un único estándar definitivo, que el WHATWG considera una "instantánea". La organización del WHATWG continuará su trabajo con HTML5 como un "estándar de vida". El concepto de un estándar de vida es que nunca está completo y siempre se actualiza y mejora. Se pueden agregar nuevas características, pero no se eliminará la funcionalidad. [52]
En diciembre de 2012, el W3C designó a HTML5 como una Recomendación candidata. [53] El criterio para avanzar a la categoría de Recomendación del W3C es "dos implementaciones 100% completas y totalmente interoperables". [54]
2014 HTML5 – Propuesta de recomendación y recomendación
En septiembre de 2014, el W3C trasladó HTML5 a la categoría de Recomendación Propuesta. [55]
El 28 de octubre de 2014, HTML5 se publicó como una recomendación estable del W3C, [56] lo que significa que el proceso de especificación está completo. [57]

Versiones XHTML

XHTML es un lenguaje independiente que comenzó como una reformulación de HTML 4.01 utilizando XML 1.0. Ahora se lo conoce como la sintaxis XML para HTML y ya no se desarrolla como un estándar independiente. [58]

  • XHTML 1.0 se publicó como una recomendación del W3C el 26 de enero de 2000, [59] y luego se revisó y volvió a publicar el 1 de agosto de 2002. Ofrece las mismas tres variaciones que HTML 4.0 y 4.01, reformuladas en XML, con restricciones menores.
  • XHTML 1.1 [60] se publicó como una recomendación del W3C el 31 de mayo de 2001. Se basa en XHTML 1.0 Strict, pero incluye cambios menores, se puede personalizar y se reformula utilizando módulos en la recomendación del W3C "Modularización de XHTML", que se publicó el 10 de abril de 2001. [61]
  • XHTML 2.0 era un borrador de trabajo. El trabajo en él se abandonó en 2009 a favor del trabajo en HTML5 y XHTML5 . [62] [63] [64] XHTML 2.0 era incompatible con XHTML 1.x y, por lo tanto, sería más preciso caracterizarlo como un nuevo lenguaje inspirado en XHTML que como una actualización de XHTML 1.x.

Transición de la publicación HTML a WHATWG

El 28 de mayo de 2019, el W3C anunció que WHATWG sería el único editor de los estándares HTML y DOM. [65] [66] [67] [68] El W3C y WHATWG habían estado publicando estándares en competencia desde 2012. Si bien el estándar del W3C era idéntico al WHATWG en 2007, desde entonces los estándares han divergido progresivamente debido a diferentes decisiones de diseño. [69] El "Estándar de vida" de WHATWG había sido el estándar web de facto durante algún tiempo. [70]

Margen

El marcado HTML consta de varios componentes clave, incluidos los denominados tags (y sus atributos ), tipos de datos basados ​​en caracteres , referencias a caracteres y referencias a entidades . Las etiquetas HTML suelen presentarse en pares, como y , aunque algunas representan elementos vacíos y, por lo tanto, no están emparejadas, por ejemplo . La primera etiqueta de dicho par es la etiqueta de inicio y la segunda es la etiqueta de fin (también se denominan etiquetas de apertura y etiquetas de cierre ).<h1></h1><img>

Otro componente importante es la declaración del tipo de documento HTML , que activa la representación en modo estándar .

El siguiente es un ejemplo del clásico programa "¡Hola, mundo!" :

<!DOCTYPE html> < html >  < head >  < title > Este es un título </ title >  </ head >  < body >  < div >  < p > ¡Hola mundo! </ p >  </ div >  </ body > </ html >

El texto entre y describe la página web, y el texto entre y es el contenido visible de la página. El texto de marcado define el título de la página del navegador que se muestra en las pestañas del navegador y en los títulos de las ventanas , y la etiqueta define una división de la página que se utiliza para facilitar la aplicación de estilos. Entre y , se puede utilizar un elemento para definir los metadatos de la página web.<html></html><body></body><title>This is a title</title><div><head></head><meta>

La declaración del tipo de documento <!DOCTYPE html>es para HTML5. Si no se incluye una declaración, varios navegadores volverán al " modo peculiar " para la representación. [71]

Elementos

Categorías de contenido de elementos HTML

Los documentos HTML implican una estructura de elementos HTML anidados . Estos se indican en el documento mediante etiquetas HTML , encerradas entre corchetes angulares, de la siguiente manera: . [72] [ se necesita una mejor fuente ]<p>

En el caso general y simple, la extensión de un elemento se indica mediante un par de etiquetas: una "etiqueta de inicio" y una "etiqueta de fin" . El contenido de texto del elemento, si lo hay, se coloca entre estas etiquetas.<p></p>

Las etiquetas también pueden incluir más etiquetas entre el inicio y el final, incluida una combinación de etiquetas y texto. Esto indica otros elementos (anidados) como elementos secundarios del elemento principal.

La etiqueta de inicio también puede incluir los atributos del elemento dentro de la etiqueta. Estos indican otra información, como identificadores para secciones dentro del documento, identificadores utilizados para vincular la información de estilo a la presentación del documento y, para algunas etiquetas, como las utilizadas para incrustar imágenes, la referencia al recurso de imagen en un formato como el siguiente:<img><img src="example.com/example.jpg">

Algunos elementos, como el salto de línea, no permiten ningún contenido incrustado, ya sea texto o etiquetas adicionales. Estos solo requieren una etiqueta vacía (similar a una etiqueta de inicio) y no utilizan una etiqueta de cierre.<br />

Muchas etiquetas, en particular la etiqueta de cierre del elemento de párrafo , que se usa con mucha frecuencia, son opcionales. Un navegador HTML u otro agente puede inferir el cierre del final de un elemento a partir del contexto y las reglas estructurales definidas por el estándar HTML. Estas reglas son complejas y la mayoría de los autores HTML no las entienden bien.<p>

La forma general de un elemento HTML es, por tanto: . Algunos elementos HTML se definen como elementos vacíos y adoptan la forma . Los elementos vacíos pueden no contener contenido, por ejemplo, la etiqueta o la etiqueta en línea. El nombre de un elemento HTML es el nombre utilizado en las etiquetas. El nombre de la etiqueta de cierre va precedido de un carácter de barra diagonal, , y en los elementos vacíos la etiqueta de cierre no es obligatoria ni está permitida. Si no se mencionan atributos, se utilizan los valores predeterminados en cada caso.<tag attribute1="value1" attribute2="value2">''content''</tag><tag attribute1="value1" attribute2="value2"><br /><img>/

Ejemplos de elementos

Encabezado del documento HTML: . El título se incluye en el encabezado, por ejemplo:<head>...</head>

< head >  < title > El título </ title >  < link  rel = "stylesheet"  href = "stylebyjimbowales.css" >  <!-- Importa hojas de estilo --> </ head >
Encabezados

Los encabezados HTML se definen con las etiquetas to , siendo H1 el nivel más alto (o más importante) y H6 el menos importante:<h1><h6>

< h1 > Nivel de encabezado 1 </ h1 > < h2 > Nivel de encabezado 2 </ h2 > < h3 > Nivel de encabezado 3 </ h3 > < h4 > Nivel de encabezado 4 </ h4 > < h5 > Nivel de encabezado 5 </ h5 > < h6 > Nivel de encabezado 6 </ h6 >

Los efectos son:

Título Nivel 1
Título Nivel 2
Título Nivel 3
Título Nivel 4
Título Nivel 5
Título Nivel 6

CSS puede cambiar sustancialmente la representación.

Párrafos:

< p > Párrafo 1 </ p >  < p > Párrafo 2 </ p >
Saltos de línea

<br />La diferencia entre y es que divide una línea sin alterar la estructura semántica de la página, mientras que divide la página en párrafos . El elemento es un elemento vacío en el sentido de que, aunque puede tener atributos, no puede tener contenido y no puede tener una etiqueta de cierre.<br /><p><br /> <p><br />

< p > Este < br > es un párrafo < br > con < br > saltos de línea </ p >

Este es un enlace en HTML. Para crear un enlace se utiliza la etiqueta. El atributo contiene la dirección URL del enlace.<a>href

< a  href = "https://www.wikipedia.org/" > ¡Un enlace a Wikipedia! </ a >
Entradas

Hay muchas formas posibles en las que un usuario puede proporcionar información como:

< input  type = "text" >  <!-- Esto es para entrada de texto --> < input  type = "file" >  <!-- Esto es para cargar archivos --> < input  type = "checkbox" >  <!-- Esto es para casillas de verificación -->

Comentarios:

<!-- Esto es un comentario -->

Los comentarios pueden ayudar a comprender el marcado y no se muestran en la página web.

Hay varios tipos de elementos de marcado utilizados en HTML:

El marcado estructural indica el propósito del texto.
Por ejemplo, establece "Golf" como un encabezado de segundo nivel . El marcado estructural no denota ninguna representación específica, pero la mayoría de los navegadores web tienen estilos predeterminados para el formato de elementos. El contenido puede ser estilizado aún más utilizando hojas de estilo en cascada (CSS). [73]<h2>Golf</h2>
El marcado de presentación indica la apariencia del texto, independientemente de su propósito.
Por ejemplo, indica que los dispositivos de salida visual deben mostrar "negrita" en texto en negrita, pero da una pequeña indicación de lo que deben hacer los dispositivos que no pueden hacer esto (como los dispositivos auditivos que leen el texto en voz alta). En el caso de y , hay otros elementos que pueden tener representaciones visuales equivalentes pero que son de naturaleza más semántica, como y respectivamente. Es más fácil ver cómo un agente de usuario auditivo debe interpretar los últimos dos elementos. Sin embargo, no son equivalentes a sus contrapartes de presentación: sería indeseable que un lector de pantalla enfatizara el nombre de un libro, por ejemplo, pero en una pantalla, dicho nombre estaría en cursiva. La mayoría de los elementos de marcado de presentación han quedado obsoletos según la especificación HTML 4.0 a favor del uso de CSS para el estilo.<b>bold text</b><b>bold text</b><i>italic text</i><strong>strong text</strong><em>emphasized text</em>
El marcado de hipertexto convierte partes de un documento en enlaces a otros documentos
Un elemento de anclaje crea un hipervínculo en el documento y su atributo establece la URLhref de destino del vínculo . Por ejemplo, el marcado HTML , representará la palabra " Wikipedia " como un hipervínculo. Para representar una imagen como un hipervínculo, se inserta un elemento como contenido en el elemento. Por ejemplo , , es un elemento vacío con atributos pero sin contenido ni etiqueta de cierre .<a href="https://en.wikipedia.org/">Wikipedia</a>imgabrimg<a href="https://example.org"><img src="image.gif" alt="descriptive text" width="50" height="50" border="0"></a>

Atributos

La mayoría de los atributos de un elemento son pares nombre-valor , separados por =y escritos dentro de la etiqueta de inicio de un elemento después del nombre del elemento. El valor puede estar entre comillas simples o dobles, aunque los valores que constan de ciertos caracteres pueden dejarse sin comillas en HTML (pero no en XHTML). [74] [75] Dejar los valores de los atributos sin comillas se considera inseguro. [76] A diferencia de los atributos de pares nombre-valor, hay algunos atributos que afectan al elemento simplemente por su presencia en la etiqueta de inicio del elemento, [6] como el ismapatributo para el imgelemento. [77]

Hay varios atributos comunes que pueden aparecer en muchos elementos:

  • El idatributo proporciona un identificador único para todo el documento de un elemento. Se utiliza para identificar el elemento de modo que las hojas de estilo puedan modificar sus propiedades de presentación y los scripts puedan modificar, animar o eliminar su contenido o presentación. Si se añade a la URL de la página, proporciona un identificador único global para el elemento, normalmente una subsección de la página. Por ejemplo, el ID "Atributos" en https://en.wikipedia.org/wiki/HTML#Attributes.
  • El classatributo proporciona una forma de clasificar elementos similares. Esto se puede utilizar con fines semánticos o de presentación. Por ejemplo, un documento HTML puede utilizar semánticamente la designación para indicar que todos los elementos con este valor de clase están subordinados al texto principal del documento. En la presentación, dichos elementos se pueden reunir y presentar como notas al pie de una página en lugar de aparecer en el lugar donde aparecen en el código fuente HTML. Los atributos de clase se utilizan semánticamente en microformatos . Se pueden especificar varios valores de clase; por ejemplo, coloca el elemento en las clases y .<class="notation"><class="notation important">notationimportant
  • Un autor puede utilizar el styleatributo para asignar propiedades de presentación a un elemento en particular. Se considera una mejor práctica utilizar los atributos de un elemento idpara classseleccionar el elemento desde dentro de una hoja de estilo , aunque a veces esto puede resultar demasiado complicado para un estilo simple, específico o ad hoc.
  • El titleatributo se utiliza para adjuntar una explicación subtextual a un elemento. En la mayoría de los navegadores, este atributo se muestra como una información sobre herramientas .
  • El langatributo identifica el idioma natural del contenido del elemento, que puede ser diferente al del resto del documento. Por ejemplo, en un documento en inglés:
    < p > Bueno, < span  lang = "fr" > c'est la vie </ span > , como dicen en Francia. </ p >

El elemento de abreviatura, abbr, se puede utilizar para demostrar algunos de estos atributos:

< abbr  id = "anId"  class = "jargon"  style = "color:purple;"  title = "Lenguaje de marcado de hipertexto" > HTML </ abbr >

Este ejemplo se muestra como HTML ; en la mayoría de los navegadores, al apuntar el cursor a la abreviatura debería aparecer el texto del título "Lenguaje de marcado de hipertexto".

La mayoría de los elementos toman el atributo relacionado con el idioma dirpara especificar la dirección del texto, como "rtl" para texto de derecha a izquierda en, por ejemplo, árabe , persa o hebreo . [78]

Referencias de personajes y entidades

A partir de la versión 4.0, HTML define un conjunto de 252 referencias de entidades de caracteres y un conjunto de 1.114.050 referencias de caracteres numéricos , que permiten escribir caracteres individuales mediante un marcado simple, en lugar de hacerlo de forma literal. Un carácter literal y su equivalente en el marcado se consideran equivalentes y se representan de forma idéntica.

La capacidad de " escapar " caracteres de esta manera permite que los caracteres <y &(cuando se escriben como &lt;y &amp;, respectivamente) se interpreten como datos de caracteres, en lugar de marcado. Por ejemplo, un literal <normalmente indica el comienzo de una etiqueta, y &normalmente indica el comienzo de una referencia de entidad de caracteres o una referencia de caracteres numéricos; escribirlo como &amp;o &#x26;o &#38;permite &que se incluya en el contenido de un elemento o en el valor de un atributo. El carácter de comillas dobles ( "), cuando no se utiliza para citar un valor de atributo, también se debe escapar como &quot;o &#x22;o &#34;cuando aparece dentro del valor del atributo en sí. De manera equivalente, el carácter de comillas simples ( '), cuando no se utiliza para citar un valor de atributo, también se debe escapar como &#x27;o &#39;(o como &apos;en los documentos HTML5 o XHTML [79] [80] ) cuando aparece dentro del valor del atributo en sí. Si los autores de documentos pasan por alto la necesidad de escapar dichos caracteres, algunos navegadores pueden ser muy indulgentes e intentar usar el contexto para adivinar su intención. El resultado sigue siendo un marcado no válido, lo que hace que el documento sea menos accesible para otros navegadores y otros agentes de usuario que puedan intentar analizar el documento con fines de búsqueda e indexación , por ejemplo.

El escape también permite que caracteres que no se escriben fácilmente o que no están disponibles en la codificación de caracteres del documento se representen dentro del contenido de elementos y atributos. Por ejemplo, el acento agudo e( é), un carácter que normalmente se encuentra solo en los teclados de Europa occidental y Sudamérica, se puede escribir en cualquier documento HTML como referencia de entidad &eacute;o como referencias numéricas &#xE9;o &#233;, utilizando caracteres que están disponibles en todos los teclados y son compatibles con todas las codificaciones de caracteres. Las codificaciones de caracteres Unicode como UTF-8 son compatibles con todos los navegadores modernos y permiten el acceso directo a casi todos los caracteres de los sistemas de escritura del mundo. [81]

Ejemplos de secuencias de escape HTML
NombradoDecimalHexadecimalResultadoDescripciónNotas
&&&&Y comercial
&lt;&#60;&#x3C;<Menos que
&gt;&#62;&#x3e;>Más que
&quot;&#34;&#x22;"Comillas dobles
&apos;&#39;&#x27;'Comilla simple
&nbsp;&nbsp;&nbsp;Espacio indivisible
&copy;©©©Derechos de autor
&reg;®®®Marca registrada
Daga
Doble dagaLos nombres distinguen entre mayúsculas y minúsculas
Doble dagaLos nombres pueden tener sinónimos
&trade;Marca

Tipos de datos

HTML define varios tipos de datos para el contenido de los elementos, como datos de script y datos de hojas de estilo, y una gran cantidad de tipos para valores de atributos, incluidos identificadores, nombres, URI , números, unidades de longitud, idiomas, descriptores de medios, colores, codificaciones de caracteres, fechas y horas, etc. Todos estos tipos de datos son especializaciones de los datos de caracteres.

Declaración de tipo de documento

Los documentos HTML deben comenzar con una declaración de tipo de documento (de manera informal, un "doctype"). En los navegadores, el doctype ayuda a definir el modo de representación, en particular si se debe utilizar el modo quirks .

El propósito original del doctype era permitir el análisis y la validación de documentos HTML por parte de herramientas SGML basadas en la definición de tipo de documento (DTD). La DTD a la que hace referencia el DOCTYPE contiene una gramática legible por máquina que especifica el contenido permitido y prohibido para un documento conforme a dicha DTD. Los navegadores, por otro lado, no implementan HTML como una aplicación de SGML y, en consecuencia, no leen la DTD.

HTML5 no define un DTD; por lo tanto, en HTML5 la declaración del doctype es más simple y corta: [82]

<!DOCTYPE  html >

Un ejemplo de un tipo de documento HTML 4

<!DOCTYPE  HTML  PUBLIC  "-//W3C//DTD HTML 4.01//ES"  "https://www.w3.org/TR/html4/strict.dtd" >

Esta declaración hace referencia al DTD para la versión "estricta" de HTML 4.01. Los validadores basados ​​en SGML leen el DTD para analizar correctamente el documento y realizar la validación. En los navegadores modernos, un tipo de documento válido activa el modo estándar en lugar del modo peculiar .

Además, HTML 4.01 ofrece DTD de transición y de conjunto de marcos, como se explica a continuación. El tipo de transición es el más inclusivo, ya que incorpora etiquetas actuales, así como etiquetas más antiguas o "obsoletas", mientras que el DTD estricto excluye las etiquetas obsoletas. El conjunto de marcos tiene todas las etiquetas necesarias para crear marcos en una página junto con las etiquetas incluidas en el tipo de transición. [83]

HTML semántico

El HTML semántico es una forma de escribir HTML que enfatiza el significado de la información codificada por sobre su presentación (apariencia). HTML ha incluido marcado semántico desde sus inicios, [84] pero también ha incluido marcado de presentación, como las etiquetas , y . También existen las etiquetas semánticamente neutrales div y span . Desde finales de la década de 1990, cuando las hojas de estilo en cascada comenzaron a funcionar en la mayoría de los navegadores, se ha alentado a los autores web a evitar el uso de marcado HTML de presentación con vistas a la separación de contenido y presentación . [85]<font><i><center>

En un debate de 2001 sobre la Web semántica , Tim Berners-Lee y otros dieron ejemplos de formas en las que los "agentes" de software inteligentes podrían algún día rastrear automáticamente la web y encontrar, filtrar y correlacionar datos publicados previamente no relacionados para el beneficio de los usuarios humanos. [86] Dichos agentes no son comunes incluso ahora, pero algunas de las ideas de la Web 2.0 , los mashups y los sitios web de comparación de precios pueden estar acercándose. La principal diferencia entre estos híbridos de aplicaciones web y los agentes semánticos de Berners-Lee radica en el hecho de que la agregación e hibridación actual de información generalmente está diseñada por desarrolladores web , que ya conocen las ubicaciones web y la semántica API de los datos específicos que desean mezclar, comparar y combinar.

Un tipo importante de agente web que rastrea y lee páginas web automáticamente, sin conocimiento previo de lo que puede encontrar, es el rastreador web o araña de motor de búsqueda. Estos agentes de software dependen de la claridad semántica de las páginas web que encuentran, ya que utilizan diversas técnicas y algoritmos para leer e indexar millones de páginas web al día y proporcionar a los usuarios de la web funciones de búsqueda sin las cuales la utilidad de la World Wide Web se vería enormemente reducida.

Para que las arañas de los motores de búsqueda puedan evaluar la importancia de los fragmentos de texto que encuentran en los documentos HTML, y también para aquellos que crean mashups y otros híbridos, así como para agentes más automatizados a medida que se desarrollan, las estructuras semánticas que existen en HTML deben aplicarse de manera amplia y uniforme para resaltar el significado del texto publicado. [87]

Las etiquetas de marcado de presentación están obsoletas en las recomendaciones actuales de HTML y XHTML . La mayoría de las características de presentación de versiones anteriores de HTML ya no están permitidas porque conducen a una accesibilidad deficiente, un mayor costo de mantenimiento del sitio y tamaños de documentos más grandes. [88]

Un buen código HTML semántico también mejora la accesibilidad de los documentos web (consulte también las Pautas de Accesibilidad al Contenido Web ). Por ejemplo, cuando un lector de pantalla o un navegador de audio puede determinar correctamente la estructura de un documento, no hará perder el tiempo al usuario con discapacidad visual leyendo información repetida o irrelevante cuando se ha marcado correctamente.

Entrega

Los documentos HTML se pueden enviar por los mismos medios que cualquier otro archivo informático. Sin embargo, lo más frecuente es que se envíen por HTTP desde un servidor web o por correo electrónico .

HTTP

La World Wide Web se compone principalmente de documentos HTML transmitidos desde servidores web a navegadores web mediante el Protocolo de transferencia de hipertexto (HTTP). Sin embargo, HTTP se utiliza para ofrecer imágenes, sonido y otros contenidos, además de HTML. Para permitir que el navegador web sepa cómo manejar cada documento que recibe, se transmite otra información junto con el documento. Estos metadatos suelen incluir el tipo MIME (por ejemplo, text/htmlo application/xhtml+xml) y la codificación de caracteres (consulte Codificaciones de caracteres en HTML ).

En los navegadores modernos, el tipo MIME que se envía con el documento HTML puede afectar la interpretación inicial del documento. Se espera que un documento enviado con el tipo MIME XHTML sea XML bien formado ; los errores de sintaxis pueden provocar que el navegador no lo represente. El mismo documento enviado con el tipo MIME HTML puede mostrarse correctamente, ya que algunos navegadores son más tolerantes con HTML.

Las recomendaciones del W3C establecen que los documentos XHTML 1.0 que siguen las pautas establecidas en el Apéndice C de la recomendación pueden etiquetarse con cualquiera de los tipos MIME. [89] XHTML 1.1 también establece que los documentos XHTML 1.1 deben [90] etiquetarse con cualquiera de los tipos MIME. [91]

Correo electrónico HTML

La mayoría de los clientes de correo electrónico gráficos permiten el uso de un subconjunto de HTML (a menudo mal definido) para proporcionar formato y marcado semántico que no está disponible con texto simple . Esto puede incluir información tipográfica como encabezados en color, texto resaltado y entrecomillado, imágenes en línea y diagramas. Muchos de estos clientes incluyen un editor de GUI para redactar mensajes de correo electrónico HTML y un motor de renderizado para mostrarlos. El uso de HTML en el correo electrónico es criticado por algunos debido a problemas de compatibilidad, porque puede ayudar a disfrazar ataques de phishing , debido a problemas de accesibilidad para personas ciegas o con discapacidad visual, porque puede confundir a los filtros de spam y porque el tamaño del mensaje es mayor que el del texto simple.

Convenciones de nombres

La extensión de nombre de archivo más común para los archivos que contienen HTML es .html. Una abreviatura común de esto es .htm, que se originó porque algunos de los primeros sistemas operativos y sistemas de archivos, como DOS y las limitaciones impuestas por la estructura de datos FAT , limitaron las extensiones de archivo a tres letras . [92]

Aplicación HTML

Una aplicación HTML (HTA; extensión de archivo .hta) es una aplicación de Microsoft Windows que utiliza HTML y HTML dinámico en un navegador para proporcionar la interfaz gráfica de la aplicación. Un archivo HTML normal está confinado al modelo de seguridad del navegador web , se comunica solo con servidores web y manipula solo objetos de páginas web y cookies del sitio . Una HTA se ejecuta como una aplicación de total confianza y, por lo tanto, tiene más privilegios, como la creación/edición/eliminación de archivos y entradas del Registro de Windows . Debido a que operan fuera del modelo de seguridad del navegador, las HTA no se pueden ejecutar a través de HTTP, sino que se deben descargar (al igual que un archivo EXE ) y ejecutar desde el sistema de archivos local.

Variaciones de HTML4

Desde sus inicios, HTML y sus protocolos asociados ganaron aceptación con relativa rapidez. Sin embargo, no existían estándares claros en los primeros años del lenguaje. Aunque sus creadores originalmente concibieron HTML como un lenguaje semántico desprovisto de detalles de presentación, [93] los usos prácticos introdujeron muchos elementos y atributos de presentación en el lenguaje, impulsados ​​en gran medida por los diversos proveedores de navegadores. Los últimos estándares en torno a HTML reflejan esfuerzos por superar el desarrollo a veces caótico del lenguaje [94] y crear una base racional para construir documentos significativos y bien presentados. Para devolver a HTML su papel como lenguaje semántico, el W3C ha desarrollado lenguajes de estilo como CSS y XSL para asumir la carga de la presentación. Al mismo tiempo, la especificación HTML ha ido frenando lentamente los elementos de presentación.

Hay dos ejes que diferencian las distintas variantes de HTML tal como se especifica actualmente: HTML basado en SGML versus HTML basado en XML (conocido como XHTML) en un eje, y estricto versus transicional (suelto) versus conjunto de marcos en el otro eje.

HTML basado en SGML versus HTML basado en XML

Una diferencia en las últimas especificaciones HTML [ ¿cuándo? ] radica en la distinción entre la especificación basada en SGML y la especificación basada en XML. La especificación basada en XML suele denominarse XHTML para distinguirla claramente de la definición más tradicional. Sin embargo, el nombre del elemento raíz sigue siendo "html" incluso en el HTML especificado en XHTML. El W3C pretendía que XHTML 1.0 fuera idéntico a HTML 4.01, excepto en los casos en que las limitaciones de XML sobre el más complejo SGML requirieran soluciones alternativas. Dado que XHTML y HTML están estrechamente relacionados, a veces se documentan en paralelo. En tales circunstancias, algunos autores confunden los dos nombres como (X)HTML o X(HTML).

Al igual que HTML 4.01, XHTML 1.0 tiene tres subespecificaciones: estricta, transicional y de marcos.

Aparte de las diferentes declaraciones de apertura de un documento, las diferencias entre un documento HTML 4.01 y un documento XHTML 1.0 (en cada uno de los DTD correspondientes) son en gran medida sintácticas. La sintaxis subyacente de HTML permite muchos atajos que XHTML no permite, como elementos con etiquetas de apertura o cierre opcionales, e incluso elementos vacíos que no deben tener una etiqueta de cierre. Por el contrario, XHTML requiere que todos los elementos tengan una etiqueta de apertura y una etiqueta de cierre. XHTML, sin embargo, también introduce un nuevo atajo: una etiqueta XHTML puede abrirse y cerrarse dentro de la misma etiqueta, incluyendo una barra antes del final de la etiqueta como esto: . La introducción de esta abreviatura, que no se utiliza en la declaración SGML para HTML 4.01, puede confundir al software anterior que no esté familiarizado con esta nueva convención. Una solución para esto es incluir un espacio antes de cerrar la etiqueta, como esto: . [95]<br /><br />

Para comprender las sutiles diferencias entre HTML y XHTML, considere la transformación de un documento XHTML 1.0 válido y bien formado que se ajuste al Apéndice C (ver a continuación) en un documento HTML 4.01 válido. Para realizar esta traducción se requieren los siguientes pasos:

  1. El idioma de un elemento se debe especificar con un langatributo en lugar del xml:langatributo XHTML. XHTML utiliza el atributo de funcionalidad de definición de lenguaje integrado de XML.
  2. Eliminar el espacio de nombres XML ( xmlns=URI). HTML no tiene funciones para espacios de nombres.
  3. Cambie la declaración del tipo de documento de XHTML 1.0 a HTML 4.01. (consulte la sección DTD para obtener más explicaciones).
  4. Si está presente, elimine la declaración XML. (Normalmente es: <?xml version="1.0" encoding="utf-8"?>).
  5. Asegúrese de que el tipo MIME del documento esté configurado en text/html. Tanto para HTML como para XHTML, esto proviene del Content-Typeencabezado HTTP enviado por el servidor.
  6. Cambie la sintaxis de elemento vacío XML a un elemento vacío de estilo HTML ( a ).<br /><br />

Estos son los principales cambios necesarios para traducir un documento de XHTML 1.0 a HTML 4.01. Para traducir de HTML a XHTML también sería necesario añadir las etiquetas de apertura o cierre omitidas. Ya sea que se codifique en HTML o XHTML, puede que sea mejor incluir siempre las etiquetas opcionales dentro de un documento HTML en lugar de recordar qué etiquetas se pueden omitir.

Un documento XHTML bien formado cumple con todos los requisitos de sintaxis de XML. Un documento válido cumple con la especificación de contenido de XHTML, que describe la estructura del documento.

El W3C recomienda varias convenciones para garantizar una migración sencilla entre HTML y XHTML (consulte las Pautas de compatibilidad de HTML). Los siguientes pasos se pueden aplicar únicamente a documentos XHTML 1.0:

  • Incluya ambos xml:langatributos langen cualquier elemento que asigne idioma.
  • Utilice la sintaxis de elemento vacío sólo para elementos especificados como vacíos en HTML.
  • Incluya un espacio adicional en las etiquetas de elementos vacíos: por ejemplo, en lugar de .<br /><br />
  • Incluya etiquetas de cierre explícitas para los elementos que permiten contenido pero se dejan vacíos (por ejemplo, , no ).<div />
  • Omitir la declaración XML.

Si se siguen cuidadosamente las pautas de compatibilidad del W3C, un agente de usuario debería poder interpretar el documento tanto como HTML como XHTML. En el caso de los documentos que son XHTML 1.0 y se han hecho compatibles de esta manera, el W3C permite que se muestren como HTML (con un text/html tipo MIME ) o como XHTML (con un tipo MIME application/xhtml+xmlo application/xml). Cuando se entregan como XHTML, los navegadores deben utilizar un analizador XML que se ajuste estrictamente a las especificaciones XML para analizar el contenido del documento.

Transicional versus estricto

HTML 4 definió tres versiones diferentes del lenguaje: estricta, transicional (antes llamada Loose) y Frameset. La versión estricta está pensada para documentos nuevos y se considera la mejor práctica, mientras que las versiones transicional y Frameset se desarrollaron para facilitar la transición de documentos que se ajustaban a especificaciones HTML más antiguas o que no se ajustaban a ninguna especificación a una versión de HTML 4. Las versiones transicional y Frameset permiten el marcado de presentación, que se omite en la versión estricta. En su lugar, se recomiendan las hojas de estilo en cascada para mejorar la presentación de los documentos HTML. Debido a que XHTML 1 solo define una sintaxis XML para el lenguaje definido por HTML 4, las mismas diferencias se aplican también a XHTML 1.

La versión transicional permite las siguientes partes del vocabulario, que no están incluidas en la versión estricta:

  • Un modelo de contenido más flexible
    • Se permiten elementos en línea y texto sin formato directamente en: body, blockquote, form, noscriptynoframes
  • Elementos relacionados con la presentación
    • subrayado ( u)(Obsoleto. Puede confundir a un visitante con un hipervínculo).
    • tachado ( s)
    • center(Obsoleto. Utilice CSS en su lugar).
    • font(Obsoleto. Utilice CSS en su lugar).
    • basefont(Obsoleto. Utilice CSS en su lugar).
  • Atributos relacionados con la presentación
    • background(Obsoleto. Utilice CSS en su lugar) y bgcoloratributos (Obsoleto. Utilice CSS en su lugar) para bodyel elemento (elemento obligatorio según W3C).
    • align(Obsoleto. Utilice CSS en su lugar). atributo en elementos div, form, párrafo ( p) y encabezado ( h1... )h6
    • align(Obsoleto. Use CSS en su lugar.), noshade(Obsoleto. Use CSS en su lugar.), size(Obsoleto. Use CSS en su lugar.) y width(Obsoleto. Use CSS en su lugar.) atributos en hrel elemento
    • align(Obsoleto. Utilice CSS en su lugar), bordery vspaceatributos hspaceen elementos imgy object(precaución: el objectelemento solo es compatible con Internet Explorer (desde los principales navegadores))
    • align(Obsoleto. Utilice CSS en su lugar). atributo en elementos legendycaption
    • align(Obsoleto. Use CSS en su lugar.) y bgcolor(Obsoleto. Use CSS en su lugar.) en tableel elemento
    • nowrap(Obsoleto), bgcolor(En desuso. Use CSS en su lugar) width, heighten elementos tdyth
    • bgcolor(Obsoleto. Utilice CSS en su lugar). atributo en trel elemento
    • clearAtributo (obsoleto) en brel elemento
    • compactatributo en dl, diry menuelementos
    • type(Obsoleto. Utilice CSS en su lugar.), compact(Obsoleto. Utilice CSS en su lugar.) y start(Obsoleto. Utilice CSS en su lugar.) atributos en elementos olyul
    • typey valueatributos del lielemento
    • widthatributo en preel elemento
  • Elementos adicionales en la especificación de transición
    • menu(Obsoleto. Utilice CSS en su lugar). lista (no se recomienda ningún sustituto, aunque se recomienda la lista desordenada)
    • dir(Obsoleto. Utilice CSS en su lugar). lista (sin sustituto, aunque se recomienda la lista desordenada)
    • isindex(Obsoleto.) (El elemento requiere soporte del lado del servidor y generalmente se agrega a los documentos del lado del servidor, formy inputlos elementos se pueden usar como sustituto)
    • applet(Obsoleto. Utilice el objectelemento en su lugar).
  • El languageatributo (obsoleto) en el elemento de script (redundante con el typeatributo ).
  • Entidades relacionadas con el marco
    • iframe
    • noframes
    • target(Obsoleto en los elementos map, linky form). atributo en a, mapa de imagen del lado del cliente ( map), link, formy baseelementos

La versión Frameset incluye todo lo de la versión Transitional, así como el framesetelemento (usado en lugar de body) y el frameelemento .

Conjunto de cuadros versus transicional

Además de las diferencias transicionales mencionadas anteriormente, las especificaciones del conjunto de marcos (ya sea XHTML 1.0 o HTML 4.01) especifican un modelo de contenido diferente, con framesetreemplazo body, que contiene frameelementos o, opcionalmente, noframescon un body.

Resumen de versiones de especificaciones

Como demuestra esta lista, las versiones flexibles de la especificación se mantienen para dar soporte a las versiones anteriores. Sin embargo, contrariamente a las ideas erróneas populares, el paso a XHTML no implica la eliminación de este soporte heredado. Más bien, la X en XML significa extensible y el W3C está modularizando toda la especificación y la abre a extensiones independientes. El logro principal en el paso de XHTML 1.0 a XHTML 1.1 es la modularización de toda la especificación. La versión estricta de HTML se implementa en XHTML 1.1 a través de un conjunto de extensiones modulares a la especificación XHTML 1.1 base. Del mismo modo, alguien que busque especificaciones flexibles (de transición) o de conjunto de marcos encontrará un soporte XHTML 1.1 extendido similar (gran parte del cual está contenido en los módulos heredados o de marcos). La modularización también permite que se desarrollen características separadas según su propio cronograma. Por ejemplo, XHTML 1.1 permitirá una migración más rápida a estándares XML emergentes como MathML (un lenguaje matemático semántico y de presentación basado en XML) y XForms , una nueva tecnología de formularios web altamente avanzada para reemplazar los formularios HTML existentes.

En resumen, la especificación HTML 4 restringió principalmente todas las diversas implementaciones de HTML en una única especificación claramente escrita basada en SGML. XHTML 1.0 adaptó esta especificación, tal como está, a la nueva especificación definida en XML. A continuación, XHTML 1.1 aprovecha la naturaleza extensible de XML y modulariza toda la especificación. XHTML 2.0 fue concebido como el primer paso para agregar nuevas características a la especificación en un enfoque basado en organismos de estándares.

¿QUÉ ES HTML? Comparación entre HTML5 y HTML5

El HTML Living Standard, desarrollado por WHATWG, es la versión oficial, mientras que W3C HTML5 ya no está separado de WHATWG.

Editores WYSIWYG

Existen algunos editores WYSIWYG ( lo que ves es lo que obtienes ), en los que el usuario presenta todo tal como debe aparecer en el documento HTML mediante una interfaz gráfica de usuario (GUI), a menudo similar a los procesadores de texto . El editor reproduce el documento en lugar de mostrar el código, por lo que los autores no necesitan conocimientos extensos de HTML.

El modelo de edición WYSIWYG ha sido criticado, [96] [97] principalmente por la baja calidad del código generado; hay voces [ ¿quiénes? ] que abogan por un cambio al modelo WYSIWYM ( lo que ves es lo que quieres decir ).

Los editores WYSIWYG siguen siendo un tema controvertido debido a sus defectos percibidos, como:

  • Confiando principalmente en el diseño en lugar del significado, a menudo utilizando un marcado que no transmite el significado deseado sino que simplemente copia el diseño. [98]
  • A menudo se produce un código extremadamente detallado y redundante que no aprovecha la naturaleza en cascada de HTML y CSS .
  • A menudo se produce un marcado agramatical, llamado sopa de etiquetas o marcado semánticamente incorrecto (como el de cursiva).<em>
  • Como gran parte de la información de los documentos HTML no está en el diseño, el modelo ha sido criticado por su naturaleza de "lo que ves es todo lo que obtienes". [99]

Véase también

Referencias

  1. ^ "W3C HTML".
  2. ^ "Especificación HTML 4.0 — Recomendación W3C — Conformidad: requisitos y recomendaciones". World Wide Web Consortium. 18 de diciembre de 1997. Archivado desde el original el 5 de julio de 2015 . Consultado el 6 de julio de 2015 .
  3. ^ Tim Berners-Lee, "Gestión de la información: una propuesta". CERN (marzo de 1989, mayo de 1990). W3C.
  4. ^ Berners-Lee, Tim. "Usos previstos". W3C .
  5. ^ "Etiquetas utilizadas en HTML". info.cern.ch . Octubre de 1991 . Consultado el 2 de marzo de 2023 .
  6. ^ abc «Etiquetas utilizadas en HTML». World Wide Web Consortium. 3 de noviembre de 1992. Archivado desde el original el 31 de enero de 2010. Consultado el 16 de noviembre de 2008 .
  7. ^ Berners-Lee, Tim (29 de octubre de 1991). "Re: status. Re: X11 BROWSER for WWW". Consorcio World Wide Web. Archivado desde el original el 24 de mayo de 2007. Consultado el 8 de abril de 2007 .
  8. ^ "Índice de elementos HTML 4". World Wide Web Consortium. 24 de diciembre de 1999. Archivado desde el original el 5 de mayo de 2007. Consultado el 8 de abril de 2007 .
  9. ^ Berners-Lee, Tim (9 de diciembre de 1991). "Re: Documentos SGML/HTML, X Browser". w3 . Archivado desde el original el 22 de diciembre de 2007 . Consultado el 16 de junio de 2007 . SGML es muy general. HTML es una aplicación específica de la sintaxis básica de SGML aplicada a documentos de hipertexto con estructura simple.
  10. ^ Berners-Lee, Tim; Connolly, Daniel (junio de 1993). "Hypertext Markup Language (HTML): A Representation of Textual Information and MetaInformation for Retrieval and Interchange" (Lenguaje de marcado de hipertexto (HTML): una representación de información textual y metainformación para recuperación e intercambio). w3 . Archivado desde el original el 3 de enero de 2017 . Consultado el 4 de enero de 2017 .
  11. ^ Raggett, Dave . "Una revisión del formato de documento HTML+". w3 . Archivado desde el original el 29 de febrero de 2000 . Consultado el 22 de mayo de 2020 . El lenguaje de marcado de hipertexto HTML se desarrolló como un formato de entrega simple y no propietario para hipertexto global. HTML+ es un conjunto de extensiones modulares de HTML y se desarrolló en respuesta a una creciente comprensión de las necesidades de los proveedores de información. Estas extensiones incluyen flujo de texto alrededor de figuras flotantes, formularios para completar, tablas y ecuaciones matemáticas.
  12. ^ Berners-Lee, Tim ; Connolly, Daniel W. (noviembre de 1995). Lenguaje de marcado de hipertexto - 2.0. Grupo de trabajo de redes. doi : 10.17487/RFC1866 . RFC 1866. Histórico. Obsoleto por la RFC 2854. Este documento define un HTML 2.0 (para distinguirlo de las especificaciones informales anteriores). Las versiones futuras de HTML (generalmente compatibles con versiones anteriores) con nuevas características se publicarán con números de versión más altos.
  13. ^ abcdef Raggett, Dave (1998). Raggett on HTML 4. Archivado desde el original el 9 de agosto de 2007 . Consultado el 9 de julio de 2007 .
  14. ^ "HTML5 – Hypertext Markup Language – 5.0". Grupo de trabajo de ingeniería de Internet. 28 de octubre de 2014. Archivado desde el original el 28 de octubre de 2014. Consultado el 25 de noviembre de 2014. Este documento recomienda HTML 5.0 una vez finalizado.
  15. ^ "Especificación de referencia HTML 3.2". World Wide Web Consortium. 14 de enero de 1997. Consultado el 16 de noviembre de 2008 .
  16. ^ "IETF HTML WG" . Consultado el 16 de junio de 2007 . Nota: Este grupo de trabajo está cerrado
  17. ^ ab Engelfriet, Arnoud. "Introducción a Wilbur". htmlhelp.com . Consultado el 16 de junio de 2007 .
  18. ^ "Especificación HTML 4.0". World Wide Web Consortium. 18 de diciembre de 1997. Consultado el 16 de noviembre de 2008 .
  19. ^ "Conformidad con HTML 4 – 4: requisitos y recomendaciones" . Consultado el 30 de diciembre de 2009 .
  20. ^ "Especificación HTML 4.0". World Wide Web Consortium. 24 de abril de 1998. Consultado el 16 de noviembre de 2008 .
  21. ^ "Especificación HTML 4.01". World Wide Web Consortium. 24 de diciembre de 1999. Consultado el 16 de noviembre de 2008 .
  22. ^ "Erratas de HTML 4". W3C . Consultado el 2 de marzo de 2023 .
  23. ^ ab ISO (2000). «ISO/IEC 15445:2000 – Tecnología de la información – Lenguajes de descripción y procesamiento de documentos – Lenguaje de marcado de hipertexto (HTML)» . Consultado el 1 de marzo de 2023 .
  24. ^ "ISO/IEC 15445:2000(E) ISO-HTML". www.scss.tcd.ie . Ginebra, Suiza: ISO/IEC. 15 de mayo de 2000 . Consultado el 1 de marzo de 2023 .
  25. ^ "HTML5: Un vocabulario y API asociadas para HTML y XHTML". Consorcio World Wide Web. 28 de octubre de 2014. Consultado el 31 de octubre de 2014 .
  26. ^ "Se alcanza un hito en la plataforma web abierta con la recomendación de HTML5" (nota de prensa). World Wide Web Consortium. 28 de octubre de 2014. Consultado el 31 de octubre de 2014 .
  27. ^ "HTML 5.1". World Wide Web Consortium. 1 de noviembre de 2016. Consultado el 6 de enero de 2017 .
  28. ^ "HTML 5.1 es una recomendación del W3C". World Wide Web Consortium. 1 de noviembre de 2016. Consultado el 6 de enero de 2017 .
  29. ^ Philippe le Hegaret (17 de noviembre de 2016). «HTML 5.1 es el estándar de oro». World Wide Web Consortium . Consultado el 6 de enero de 2017 .
  30. ^ "HTML 5.2". World Wide Web Consortium. 14 de diciembre de 2017. Consultado el 15 de diciembre de 2017 .
  31. ^ "HTML 5.2 es ahora una recomendación del W3C". World Wide Web Consortium. 14 de diciembre de 2017. Consultado el 15 de diciembre de 2017 .
  32. Charles McCathie Nevile (14 de diciembre de 2017). «HTML 5.2 está listo, HTML 5.3 está por llegar». World Wide Web Consortium . Consultado el 15 de diciembre de 2017 .
  33. ^ Connolly, Daniel (6 de junio de 1992). "MIME como arquitectura de hipertexto". CERN . Consultado el 24 de octubre de 2010 .
  34. ^ Connolly, Daniel (15 de julio de 1992). «HTML DTD enclosed». CERN . Consultado el 24 de octubre de 2010 .
  35. ^ Connolly, Daniel (18 de agosto de 1992). «Subconjunto de declaración de tipo de documento para lenguaje de marcado de hipertexto definido por el proyecto World Wide Web». CERN. Archivado desde el original el 14 de marzo de 2012. Consultado el 24 de octubre de 2010 .
  36. ^ ab Connolly, Daniel (24 de noviembre de 1992). "Definición de tipo de documento para el lenguaje de marcado de hipertexto utilizado por la aplicación World Wide Web". CERN. Archivado desde el original el 18 de enero de 2012. Consultado el 24 de octubre de 2010 .Ver sección "Historial de revisiones"
  37. ^ Berners-Lee, Tim ; Connolly, Daniel (junio de 1993). "Hyper Text Markup Language (HTML) Internet-Draft version 1.1". Grupo de trabajo IIIR de IETF . Consultado el 18 de septiembre de 2010 .
  38. ^ Berners-Lee, Tim ; Connolly, Daniel (junio de 1993). "Hypertext Markup Language (HTML) Internet-Draft version 1.2". Grupo de trabajo IETF IIIR . Consultado el 18 de septiembre de 2010 .
  39. ^ Raggett, Dave (8 de noviembre de 1993). «Historial de draft-raggett-www-html-00». IETF Datatracker . Consultado el 18 de noviembre de 2019 .
  40. ^ Berners-Lee, Tim ; Connolly, Daniel (28 de noviembre de 1994). "Especificación del lenguaje de marcado de hipertexto – BORRADOR DE INTERNET 2.0". Grupo de trabajo de ingeniería de Internet . Consultado el 24 de octubre de 2010 .
  41. ^ Connolly, Daniel W. (16 de mayo de 1995). "Lenguaje de marcado de hipertexto – 2.0". tools.ietf.org . Consultado el 18 de noviembre de 2019 .
  42. ^ Berners-Lee, Tim ; Connolly, Daniel W. (noviembre de 1995). Lenguaje de marcado de hipertexto - 2.0. Grupo de trabajo de redes. doi : 10.17487/RFC1866 . RFC 1866. Histórico. Obsoleto por RFC 2854.
  43. ^ "Materiales del borrador HTML 3.0 (¡vencido!)". World Wide Web Consortium. 21 de diciembre de 1995. Consultado el 16 de noviembre de 2008 .
  44. ^ ab "HyperText Markup Language Specification Version 3.0" (Especificación del lenguaje de marcado de hipertexto, versión 3.0) . Consultado el 16 de junio de 2007 .
  45. ^ Raggett, Dave (28 de marzo de 1995). "HyperText Markup Language Specification Version 3.0". El borrador de Internet de HTML 3.0 expira en seis meses . Consorcio World Wide Web . Consultado el 17 de junio de 2010 .
  46. ^ Bowers, N. (1998). "Weblint: otro truco más de Perl" (PDF) . Conferencia técnica anual de USENIX de 1998 (USENIX ATC 98) .
  47. ^ Lie, Håkon Wium ; Bos, Bert (abril de 1997). Hojas de estilo en cascada: diseño para la Web . Addison Wesley Longman. pág. 263. ISBN 978-0-201-41998-6. Recuperado el 9 de junio de 2010 .
  48. ^ "HTML5". World Wide Web Consortium. 10 de junio de 2008. Consultado el 16 de noviembre de 2008 .
  49. ^ "HTML5, un vocabulario, dos serializaciones". 15 de enero de 2008. Consultado el 25 de febrero de 2009 .
  50. ^ "El W3C confirma mayo de 2011 para la última convocatoria de HTML5 y apunta a 2014 para el estándar HTML5". World Wide Web Consortium . 14 de febrero de 2011 . Consultado el 18 de febrero de 2011 .
  51. ^ Hickson, Ian (19 de enero de 2011). "HTML es el nuevo HTML5". El blog de WHATWG . Archivado desde el original el 6 de octubre de 2019. Consultado el 21 de enero de 2011 .
  52. ^ Grannell, Craig (23 de julio de 2012). "HTML5 obtiene las divisiones". Revista Net. Archivado desde el original el 25 de julio de 2012. Consultado el 23 de julio de 2012 .
  53. ^ "HTML5". W3C. 17 de diciembre de 2012. Consultado el 15 de junio de 2013 .
  54. ^ "¿Cuándo estará terminado HTML5?". Preguntas frecuentes . Grupo de trabajo WHAT . Consultado el 29 de noviembre de 2009 .
  55. ^ "Convocatoria de revisión: propuesta de recomendación de HTML5 publicada en W3C News". W3C . 16 de septiembre de 2014. Consultado el 27 de septiembre de 2014 .
  56. ^ "Se alcanza un hito en la plataforma web abierta con la recomendación de HTML5". W3C. 28 de octubre de 2014. Consultado el 29 de octubre de 2014 .
  57. ^ "Se ha finalizado la especificación HTML5, pero continúan las disputas sobre las especificaciones". Ars Technica . 2014-10-29 . Consultado el 2014-10-29 .
  58. ^ "Sintaxis HTML vs XML". WHATWG . Consultado el 22 de marzo de 2023 .
  59. ^ "XHTML 1.0: El lenguaje de marcado de hipertexto extensible (segunda edición)". Consorcio World Wide Web. 26 de enero de 2000. Consultado el 16 de noviembre de 2008 .
  60. ^ "XHTML 1.1 – XHTML basado en módulos — Segunda edición". World Wide Web Consortium. 16 de febrero de 2007. Consultado el 16 de noviembre de 2008 .
  61. ^ "Modularización de XHTML". W3C . Consultado el 4 de enero de 2017 .
  62. ^ "XHTM 2.0". World Wide Web Consortium. 26 de julio de 2006. Consultado el 16 de noviembre de 2008 .
  63. ^ "Se espera que el grupo de trabajo XHTML 2 deje de trabajar a finales de 2009; el W3C aumentará los recursos en HTML5". Consorcio World Wide Web. 17 de julio de 2009. Consultado el 16 de noviembre de 2008 .
  64. ^ "Preguntas frecuentes sobre XHTML del W3C".
  65. ^ Jaffe, Jeff (28 de mayo de 2019). «W3C y WHATWG trabajarán juntos para impulsar la plataforma web abierta». Blog del W3C . Archivado desde el original el 29 de mayo de 2019. Consultado el 29 de mayo de 2019 .
  66. ^ "El W3C y el WHATWG firmaron un acuerdo para colaborar en una única versión de HTML y DOM". W3C . 28 de mayo de 2019. Archivado desde el original el 29 de mayo de 2019 . Consultado el 29 de mayo de 2019 .
  67. ^ "Memorando de entendimiento entre el W3C y el WHATWG". W3C . 28 de mayo de 2019. Archivado desde el original el 29 de mayo de 2019 . Consultado el 29 de mayo de 2019 .
  68. ^ Cimpanu, Catalin (29 de mayo de 2019). «Los proveedores de navegadores ganan la guerra con el W3C por los estándares HTML y DOM». ZDNet . Archivado desde el original el 29 de mayo de 2019. Consultado el 29 de mayo de 2019 .
  69. ^ "W3C – WHATWG Wiki". WHATWG Wiki . Archivado desde el original el 29 de mayo de 2019. Consultado el 29 de mayo de 2019 .
  70. ^ Shankland, Stephen (9 de julio de 2009). "Un epitafio para el estándar web, XHTML 2". CNET . CBS INTERACTIVE INC.
  71. ^ Activación de los modos de navegación con Doctype. Hsivonen.iki.fi. Recuperado el 16 de febrero de 2012.
  72. ^ "Elementos HTML". w3schools . Consultado el 16 de marzo de 2015 .
  73. ^ "Introducción a CSS". W3schools . Consultado el 16 de marzo de 2015 .
  74. ^ "Sobre SGML y HTML". World Wide Web Consortium . Consultado el 16 de noviembre de 2008 .
  75. ^ "XHTML 1.0 – Diferencias con HTML 4". World Wide Web Consortium . Consultado el 16 de noviembre de 2008 .
  76. ^ Korpela, Jukka (6 de julio de 1998). "Por qué los valores de los atributos siempre deben ir entre comillas en HTML". Cs.tut.fi. Consultado el 16 de noviembre de 2008 .
  77. ^ "Objetos, imágenes y subprogramas en documentos HTML". World Wide Web Consortium. 24 de diciembre de 1999. Consultado el 16 de noviembre de 2008 .
  78. ^ "H56: Uso del atributo dir en un elemento en línea para resolver problemas con ejecuciones direccionales anidadas". Técnicas para WCAG 2.0 . W3C . Consultado el 18 de septiembre de 2010 .
  79. ^ "Cuadro de referencia de entidades de caracteres". Consorcio World Wide Web. 24 de octubre de 2012.
  80. ^ "La referencia de carácter nombrado '". Consorcio World Wide Web. 26 de enero de 2000.
  81. ^ "El estándar Unicode: una introducción técnica". Unicode . Consultado el 16 de marzo de 2010 .
  82. ^ "La sintaxis HTML". Estándar HTML . Consultado el 19 de agosto de 2013 .
  83. ^ "Definición del tipo de documento de conjunto de marcos HTML 4". W3C . Consultado el 25 de diciembre de 2021 .
  84. ^ Berners-Lee, Tim; Fischetti, Mark (2000). Tejiendo la red: el diseño original y el destino final de la World Wide Web por su inventor . San Francisco: Harper. ISBN 978-0-06-251587-2.
  85. ^ Raggett, Dave (2002). "Añadir un toque de estilo". W3C . Consultado el 2 de octubre de 2009 .Este artículo señala que el marcado HTML de presentación puede resultar útil cuando se utilizan navegadores "anteriores a Netscape 4.0 e Internet Explorer 4.0". Consulte la lista de navegadores web para confirmar que ambos se lanzaron en 1997.
  86. ^ Berners-Lee, Tim; Hendler, James; Lassila, Ora (1 de mayo de 2001). "The Semantic Web". Scientific American . Consultado el 2 de octubre de 2009 .
  87. ^ Nigel Shadbolt, Wendy Hall y Tim Berners-Lee (2006). "The Semantic Web Revisited" (PDF) . IEEE Intelligent Systems. Archivado desde el original (PDF) el 20 de marzo de 2013. Consultado el 2 de octubre de 2009 .
  88. ^ "HTML: El nivel de vida". WHATWG . Consultado el 27 de septiembre de 2018 .
  89. ^ "XHTML 1.0 El lenguaje de marcado de hipertexto extensible (segunda edición)". Consorcio World Wide Web. 2002 [2000] . Consultado el 7 de diciembre de 2008. Los documentos XHTML que siguen las pautas establecidas en el Apéndice C, "Pautas de compatibilidad HTML", pueden etiquetarse con el tipo de medio de Internet "text/html" [RFC2854], ya que son compatibles con la mayoría de los navegadores HTML. Esos documentos, y cualquier otro documento que cumpla con esta especificación, también pueden etiquetarse con el tipo de medio de Internet "application/xhtml+xml" como se define en [RFC3236].
  90. ^ S. Bradner (marzo de 1997). Palabras clave para usar en RFC para indicar niveles de requisitos. Network Working Group. doi : 10.17487/RFC2119 . BCP 14. RFC 2119. Mejor práctica actual. Actualizado por RFC 8174. 3. DEBERÍA Esta palabra, o el adjetivo "RECOMENDADO", significa que pueden existir razones válidas en circunstancias particulares para ignorar un elemento en particular, pero se deben comprender y sopesar cuidadosamente todas las implicaciones antes de elegir un camino diferente.
  91. ^ "XHTML 1.1 – XHTML basado en módulos — Segunda edición". World Wide Web Consortium. 2007. Consultado el 7 de diciembre de 2008. Los documentos XHTML 1.1 DEBEN etiquetarse con el tipo de medio de Internet text/html como se define en [RFC2854] o application/xhtml+xml como se define en [RFC3236].
  92. ^ "Asignación de nombres a archivos, rutas y espacios de nombres". Microsoft . Consultado el 16 de marzo de 2015 .
  93. ^ Restricciones de diseño HTML, Archivos del W3C
  94. ^ WWW: BTB – HTML, Pris Sears
  95. ^ Freeman, E (2005). Head First HTML. O'Reilly.
  96. ^ Sauer, C.: WYSIWIKI – Cuestionando el WYSIWYG en la era de Internet. En: Wikimania (2006)
  97. ^ Spiesser, J., Kitchen, L.: Optimización de HTML generado automáticamente por programas WYSIWYG. En: 13th International Conference on World Wide Web, págs. 355-364. WWW '04. ACM, Nueva York, NY (Nueva York, NY, EE. UU., 17-20 de mayo de 2004)
  98. ^ Referencia XHTML: blockquote Archivado el 25 de marzo de 2010 en Wayback Machine . Xhtml.com. Recuperado el 16 de febrero de 2012.
  99. ^ INVISIBLE REVOLUTION de Doug Engelbart. Invisiblerevolution.net. Recuperado el 16 de febrero de 2012.
  • El estándar de vida HTML de WHATWG
  • Introducción a HTML de Dave Raggett
  • Tim Berners-Lee da a la Web una nueva definición (archivado el 12 de abril de 2011)
  • Lista de todos los elementos HTML de todas las versiones principales
  • Entidades HTML
  • Sean B. Palmer. "Historia temprana de HTML: de 1990 a 1992". Infomesh . Consultado el 13 de abril de 2022 .(Período: 1980-1995)
Retrieved from "https://en.wikipedia.org/w/index.php?title=HTML&oldid=1250804069"