Pregunta

Parece que HTML 5 será compatible (parcialmente) con Firefox 3.1 y otros navegadores.Está agregando soporte para video y audio como etiquetas, pero estas son etiquetas nuevas que XHTML 1.0 Transitional no reconoce.¿Cuál se supone que debe ser el comportamiento si uso una nueva etiqueta HTML 5 en una versión futura de Firefox pero uso la DTD para XHTML?¿Y qué pasa si mezclo el marcado HTML 5 con XHTML 1.0 Trans?

Esto se está volviendo confuso.¿Por qué no agregaron estas etiquetas a XHTML?¿Cómo admitimos XHTML y HTML 5?

Vídeo en HTML 5: http://www.youtube.com/watch?v=xIxDJof7xxQ

¿Fue útil?

Solución

Bueno, en general, HTML es SGML y XHTML se expresa en XML. Por eso, crear XHTML está conectado con más restricciones (en forma de marcado) que HTML. ( HTML basado en SGML versus HTML basado en XML )

Como se menciona en Wikipedia , HTML 5 también tendrá una variante XHTML (XHTML 5).

Regla de oro: siempre debe usar un marcado válido. Eso también significa que no debe usar las etiquetas <video> o <audio> mencionadas en XHTML 1.0 Transitional, ya que no son un elemento de esa especificación. Si realmente necesita usar esas etiquetas (lo cual dudo mucho), entonces debe asegurarse de usar la DTD HTML 5 / XHTML 5 para especificar que su documento está en ese DOCTYPE.

El uso de HTML 5 o XHTML 5 en el estado dado de la implementación (AFAIK, el estándar ni siquiera está establecido, ¿correcto?) podría ser contraproducente, ya que casi todos los usuarios pueden no ver el sitio web representado correctamente de todos modos.

Editar 2013: Debido a los recientes votos negativos y dado que esta respuesta aceptada no puede ser eliminada (por mí), me gustaría agregar que el proceso de soporte y estandarización de HTML5 hoy en día es totalmente diferente de lo que era cuando escribí esta respuesta hace cinco años. Dado que la mayoría de los principales navegadores admiten la mayoría de las partes del borrador de HTML5 y debido a que muchas cosas se pueden arreglar con polyfills en navegadores más antiguos, principalmente uso HTML5 ahora.

Otros consejos

HTML5 es mucho más fácil de escribir que XHTML 1.0.

  1. No tiene que declarar manualmente el " http: // www .w3.org / 1999 / xhtml " espacio de nombres.

  2. No tiene que agregar atributos de tipo al script y elementos de estilo (por defecto son text / javascript y text / css).

  3. No tiene que usar un doctype largo donde el navegador simplemente ignora la mayor parte. Debe usar & Lt;! DOCTYPE html & Gt ;, que es fácil de recordar.

  4. No tiene la opción de incluir o no incluir un dtd uri en el doctype y no tiene una opción entre transicional y estricto. Solo tiene un doctype estricto que invoca el modo de estándares completos. De esa manera, no tiene que preocuparse por estar accidentalmente en el modo Casi estándar o en el modo Quirks.

  5. La declaración del juego de caracteres es mucho más simple. Es solo & Lt; meta charset = & Quot; utf-8 & Quot; & Gt ;.

  6. Si le resulta confuso escribir elementos vacíos como < name > ;, puede usar < name / > ;, si lo desea.

  7. HTML5 tiene un validador realmente bueno en http://validator.nu/ . El validador no está sujeto a un DTD malo que no puede expresar todas las reglas.

  8. No tiene que agregar // <! [CDATA etc. en scripts u hojas de estilo en línea (en ciertas situaciones) para validar.

  9. Puede usar incrustar si es necesario.

Solo en cuanto a sintaxis, cuando usa HTML5, termina con un marcado más limpio y fácil de leer que siempre invoca el modo estándar. Cuando usa XHTML 1.0 (servido como texto / html), está especificando un montón de basura (con el fin de validar contra un archivo basura) que el navegador hará automáticamente.

Mitos y conceptos erróneos abundan en este hilo.

  1. XHTML 1.0 es anterior a HTML 5. No puede usar ningún vocabulario nuevo. De hecho, su principal argumento de venta fue que utiliza exactamente el mismo vocabulario que HTML 4.01.

  2. No habrá XHTML 1.2, muy probablemente. Y no es necesario. XHTML 5 es la serialización XML de HTML 5. Vocabulario idéntico, diferentes reglas de análisis.

  3. HTML nunca ha sido tratado como verdadero SGML en los navegadores. Ningún navegador ha implementado un analizador compatible con SGML. HTML 5 convertirá este hecho en una regla y la serialización HTML seguirá el estándar de facto de hoy. Tal vez se podría decir que es "SGML-ish".

  4. Como se ha dicho, el DTD cumple exactamente un propósito EN LOS NAVEGADORES, y es distinguir entre el modo de cumplimiento de estándares y el modo peculiar. Por lo tanto, solo afecta el estilo y las secuencias de comandos. Si está utilizando marcos en una página con doctype astrict, se mostrarán perfectamente. Como lo hará & Lt; incrustar & Gt; e incluso < marquee > - a pesar de que este último es una abominación y el primero no está en ningún estándar actual. Sin embargo, es parte de HTML 5.

  5. El video y el audio se pueden usar independientemente de la serialización, XML o HTML. son parte de HTML 5 y XHTML 5. Una vez que finaliza la etapa de análisis, un navegador habrá construido un DOM interno del documento. Ese DOM será para todos los fines prácticos, independientemente de la serialización. Y sí, XHTML enviado con text / html sigue siendo html normal, independientemente de doctype.

Puede que esté viendo el problema de manera incorrecta porque relación con la sección XHTML 1.x , HTML 5 establece:

  

" Esta especificación está destinada a reemplazar XHTML 1.0 como la definición normativa de la serialización XML del vocabulario HTML. "

Ahora ese lenguaje es controvertido (el XHTML 2 WG lo ha disputado y el HTML WG está tratando de resolver las diferencias ...) pero ahí es donde estamos ahora.

Un par de notas:

Tenga en cuenta que los tipos de documento solo tienen un propósito en los navegadores:cambiar entre peculiaridades, casi estándares y modo estándar.Por lo tanto, utilizando <video> y <audio> funcionará con cualquier declaración de tipo de documento.En mi opinión, usar un tipo de documento XHTML es bastante inútil, ya que cada página que envías con text/html El tipo MIME se analiza como HTML (sopa de etiquetas) de todos modos.Sugiero usar el tipo de documento HTML5 (<!doctype html>), ya que es más fácil de recordar y no te obliga a utilizar la sintaxis XML sin ningún motivo.

¿Por qué no agregaron estas etiquetas a XHTML?

De hecho, lo hicieron, hay una serialización XML de HTML 5 (XHTML5).Para utilizar esto, debe enviar sus páginas con un tipo XML MIME, como application/xhtml+xml.Sin embargo, esto no es compatible (todavía) con IE.

  

¿Cuál es el comportamiento que se supone que es si   Utilizo una nueva etiqueta HTML 5 en un futuro   versión de Firefox pero usa el DTD para   XHTML?

     

¿Y si mezclo el marcado HTML 5 con   XHTML 1.0 Trans?

Si su marcado no se implementa como parte de su DTD elegido, entonces, lógicamente, ese marcado no debe seguirse. Pero las implementaciones del navegador no siempre son estrictamente lógicas.

  

¿Por qué no agregaron estas etiquetas a   XHTML? ¿Cómo apoyamos ambos XHTML?   y HTML 5?

xHTML no es mejor que HTML, pero es más adecuado para algunas aplicaciones. Uno de los principales beneficios de xHTML es que se puede transformar en diferentes formatos usando XSLT. Por ejemplo, podría usar XSLT para transformar automáticamente xHTML en una fuente RSS u otro formato XML.

No es necesario que admita ambos formatos: evalúe los beneficios / inconvenientes de cada uno con los requisitos de su proyecto. HTML 5 probablemente no será estándar por bastante tiempo.

(X) HTML5 es solo la próxima versión. Debería usar XHTML1.1 hasta que XHTML5 esté bien soportado.

Probablemente no debería usar el perfil SGML de compatibilidad con versiones anteriores de HTML5. Hace las cosas más difíciles para los raspadores y los pequeños analizadores.

Su doctype le dirá al navegador si está utilizando HTML5 o XHTML. No puede simplemente insertar una etiqueta de un doctype en un documento de otro doctype y esperar que funcione. Sin un doctype, todo es solo etiquetar la sopa de todos modos.

No use cosas como etiquetas de video / audio cuando el 99% de las personas no podrán verlo correctamente en su navegador. Para cualquiera de estos dos ejemplos, sugeriría usar FLV.

En cuanto a por qué no lo agregan a XHTML ... en primer lugar 1.0 no es la versión más reciente, 1.1 se lanzó hace un tiempo.

Eventualmente, las cosas se estandarizan y veremos este tipo de etiquetas en ambos estándares, pero por ahora solo haga lo que pueda para garantizar que la mayor cantidad de personas pueda ver su contenido.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top