Pregunta

estoy echando un vistazo a Sumérgete en HTML5.Parece bonito e interesante, pero estoy desconcertado.

En la década de 1990, en la época en que Netscape era el navegador y HTML era HTML2 o HTML3, había muchas etiquetas:dirección, cita, código...La mayoría de ellos a día de hoy no se utilizan, probablemente incluso obsoletos.

HTML5 introduce etiquetas para expresar el "significado semántico" de la etiqueta misma.Todo esto es diversión y juegos, pero veo algo muy extraño en este enfoque.Técnicamente, la semántica puede ser muy abierta.HTML5 tiene etiquetas para artículo, hora, barras de navegación y pie de página.¿Por qué no debería contener etiquetas para el icono de la publicación, el lugar del autor, el nombre y apellido, o cualquier otra cosa a la que quieras asignar una semántica específica (estoy seguro de que <rant> y <nsfw> Serían etiquetas muy importantes):?Pensé que XML era la estrategia para asignar semántica a las cosas.Nada le prohíbe poner un fragmento XML debajo de un HTML elemento div y asígnele una hoja de estilo para darle el estilo adecuado o para delegar al visor adecuado el manejo de ese espacio de nombres (por ejemplo, cuando se maneja RSS o SVG).

En conclusión, no entiendo la razón detrás de estas extensiones enfocadas hacia la semántica, cuando está claro que la semántica es un tema muy amplio, que seguramente requerirá una cantidad potencialmente infinita de etiquetas semánticas.Como estoy bastante seguro de que hay gente inteligente en W3C, Creo que me equivoco, pero me gustaría saber por qué.

¿Fue útil?

Solución

¿Por qué son útiles las etiquetas de artículo, hora, barras de navegación, pie de página?

Porque facilitan el análisis de herramientas de procesamiento de texto como Google.

No se trata de semántica (al menos en sentido "amplio"). En cambio, solo dicen: aquí está el cuerpo de la página (parte del texto más importante) y la barra de navegación llena de enlaces. Con este enfoque, puede extraer fácilmente lo que necesita.

Otros consejos

Yo también odio la forma en que W3C va con sus especificaciones. Hay muchas cosas que no me gustan, y esta & Quot; semántica & Quot; La moda es uno de ellos. (Otros incluyen tomarse una eternidad para completar sus especificaciones y dejar demasiados detalles importantes para que los navegadores los implementen como elijan)

Sobre todo, no me gusta porque hace que mi trabajo como desarrollador web sea más difícil. A menudo tengo que elegir si hacer que la página web & Quot; semánticamente correcta & Quot; o " visual / estéticamente agradable " ;. El último gana, por supuesto, porque eso es lo que quieren los usuarios, pero como resultado las validaciones comienzan a fallar y todo se vuelve bastante no semántico (tablas para el diseño y otras cosas).

Otra cuestión por la que frunzo el ceño es que han declarado oficialmente que la " clase " El atributo es para semántica, pero luego lo usaron para selectores de presentación visual en CSS.

Línea inferior - NO MEZCLE SEMÁNTICA Y REPRESENTACIÓN VISUAL . Si usa algún mecanismo para describir la semántica (como nombres de etiquetas, valores de atributos o cualquier otra cosa), no lo use con fines funcionales / visuales y viceversa.

Si diseñara HTML, simplemente agregaría un atributo " semántico " que podría (como " clase " atributo) agregarse a cualquier etiqueta. Entonces habría una serie de valores predefinidos como todos esos encabezados / pies de página / artículos / citas / etc.

Las etiquetas definirían la funcionalidad. Básicamente, puede reducir las etiquetas HTML a solo un puñado, como & Quot; div & Quot ;, & Quot; table / tr / td & Quot ;, & Quot; a & Quot ;, " img " ;, " form " ;, " input " y " seleccione " ;. Probablemente me perdí algunas pero esta es la mayor parte. El estilo visual se lograría a través de CSS.

De esta forma, las tres áreas: semántica, representación visual y funcionalidad, serían completamente independientes y no chocarían en las soluciones de la vida real.

Por supuesto, no creo que W3C esté interesado en soluciones prácticas ...

Ya hay mucha semántica en el marcado HTML en las formas de clases e ID, de las cuales hay una cantidad (casi) infinita de posibilidades, y cada uno tiene su propia forma de manejar esta semántica. Uno de los objetivos de HTML5 es tratar de aportar algo de estructura a esto. aún podrá ampliar la semántica de las etiquetas con clases e identificadores. Probablemente también facilitará las cosas para los motores de búsqueda.

Míralo desde el ángulo de tratar de hacer declaraciones sobre la página o sobre los objetos a los que se hace referencia desde la página. Si ve un & Lt; footer & Gt; etiqueta, todo lo que puedes decir es " las cosas aquí son un pie de página " y pásalo por alto. Como tal, agregar etiquetas personalizadas no es una solución tan genérica como agregar atributos y permitir que las personas usen su propia elección de URI para especificar predicados y opcionalmente valores: RDFa gana sin dudas porque puede expresar cualquier triple -declaración que te gusta de RDF en una página, de una forma u otra.

Solo quiero abordar una parte de su pregunta. Usted dice:

  

En los años noventa, en el momento en que   Netscape era el navegador y html era   HTML2 o HTML3, había muchos   Etiquetas: dirección, cita, código ... La mayoría de   no están en uso hasta hoy, probablemente   incluso obsoleto.

Hay una gran cantidad de etiquetas para elegir en html, pero la falta de uso no implica que sean obsoletas. En particular, las etiquetas de encabezado <h1>, etc., y <ul>, <ol> se usan para unir elementos en listas de una manera que considero semántica. Es posible que muchas personas no usen etiquetas semánticamente, pero el esfuerzo para crear microformatos es una continuación continua de idea que consideras un artefacto de la década de 1990. Los esfuerzos para hacer que la web semántica siga siendo un ganador, a pesar de la búsqueda de texto completo y el análisis de enlaces (en forma de Google) siendo el ganador en cuanto a cómo encontrar y comprender la web.

Sería genial ver una versión actualizada de Estadísticas web de Google que muestran & "; html mientras se habla. &"; Pero tiene razón en que muchas etiquetas están infrautilizadas.

Si html5 tendrá éxito es una pregunta abierta e interesante, pero las etiquetas que usted describe como obsoletas no llegaron a ningún lado, estaban allí en HTML 4.01 y xhtml . HTML5 parece ser un esfuerzo para solidificar lo que es útil en las etiquetas. Al final, si html5 recibe soporte en los navegadores y facilita el trabajo de los desarrolladores web, tendrá éxito. xhtml2 falló porque no logró obtener la adopción en los navegadores y no hizo nada El trabajo de los creadores de páginas web es más fácil. Las fuerzas que trabajan en html5 parecen estar muy conscientes del fracaso de xhtml2, y creo que están evitando que html5 sufra un destino similar.

" ¿Por qué no debería contener etiquetas para el ícono de la publicación, el lugar del autor, el nombre y el apellido, o cualquier otra cosa a la que desee asignar una semántica específica (estoy seguro y serían etiquetas muy importantes):? "

Utiliza < dialog > para describir conversaciones o comentarios. Rant y NSFW son términos subjetivos, por lo tanto, tiene sentido no usarlos.

Por lo que entiendo, un grupo de desarrolladores web experimentados investigaron y buscaron lo que la mayoría de los sitios web tienen en común en html. Se dieron cuenta de que la mayoría de los sitios web tienen id = & Quot; header & Quot ;, id = & Quot; footer & Quot ;, id = & Quot; section & Quot; e id = " nav " etiquetas, por lo que decidieron que necesitamos etiquetas HTML para reemplazar esas identificaciones. En otras palabras, no esperes que te den una GRAN cantidad de vocabulario HTML. Simplemente manténgalo lo más simple posible mientras aborda las etiquetas HTML MÁS comunes necesarias.

La etiqueta NAV es MUY importante para proporcionar accesibilidad también. Desea que sepan dónde está la navegación en lugar de obligarlos a encontrar si los enlaces son para la navegación o no.

No estoy de acuerdo con agregar etiquetas adicionales. Si el vocabulario detallado fuera realmente importante, entonces podría haber un nombre de etiqueta diferente para cada palabra en el diccionario. Los nombres de etiquetas adicionales no son útiles, ya que pueden comunicar un significado adicional a los humanos, pero no hacen nada para facilitar el análisis automático del lenguaje. Es por eso que no me gusta el & "; Semántico &"; etiquetas para HTML5, ya que creo que esto es una pendiente resbaladiza para proporcionar un vocabulario demasiado complejo y al mismo tiempo proporcionar una solución débil a un problema que no se aborda por completo.

En mi opinión, los datos de estructura del lenguaje de marcado tanto como los describen en forma de diagrama de árbol. Mediante el análisis de la estructura y el uso adecuado de las convenciones semánticas, como RDFa, se puede aprovechar el contexto para proporcionar un significado específico a nombres de etiquetas genéricos. En tal caso, no es necesario que exista vocabulario excesivo y los nombres de etiqueta estructuralmente redundantes, como pie de página y a un lado, podrían eliminarse. El objetivo final es hacer que el contenido sea más rápido y más preciso para ser interpretado por humanos y máquinas simultáneamente mientras se usa el menor código posible para lograr ese resultado. Cómo esa solución es menos importante, excepto para HTML5.

  

Pensé que XML era la estrategia para asignar semántica a las cosas.

Hasta donde yo sé, no, no fue & # 8217; t. XML permite definir nuevos lenguajes que se analizan todos de la misma manera, porque todos usan la sintaxis XML.

No & # 8217; t, por sí mismo, proporciona ninguna forma de agregar significado (& # 8220; semántico & # 8221; solo significa & # 8220; significativo & # 8221 ;) a esos idiomas. Y hasta que las computadoras obtengan inteligencia artificial, no entenderán el significado, por lo que el significado es justo lo que se acuerda entre los seres humanos. HTML es el lenguaje más utilizado con el significado acordado de sus etiquetas.

Como HTML es tan común, & # 8217; es útil agregarle algunas etiquetas significativas que son bastante generales en su aplicación. Las nuevas etiquetas HTML5 están dirigidas a eso. Los autores de la especificación HTML5 & # 8217; de hecho, podrían continuar por esta ruta, creando etiquetas para cada significado específico posible, pero como & # 8217; no son robots, probablemente ganaron & # 8217 ; t.

<section> es útil, y lo suficientemente general como para ser significativamente aplicable en muchos documentos. <author-last-name> isn & # 8217; t. Distinguir entre los dos es un juicio, por lo que los humanos, y no las computadoras, escriben la especificación.

Para la semántica personalizada que es demasiado específica para agregarse a HTML como etiquetas, HTML5 define microdata .

He estado leyendo el libro de Andy Clark Transcending CSS (página 33).

..., ahora se acepta ampliamente que los nombres de presentación como encabezado , izquierda o rojo que describen El aspecto o la posición de un elemento son malas elecciones.

Después de leer estas líneas, me pregunté: oye, ¿no hay elementos en las especificaciones HTML5 como el encabezado, el pie de página? ¿Por qué el pie de página es más semántico? Andy en su libro aboga por usar site-info para la identificación del pie de página div y esto tiene más sentido en mi humilde opinión. El pie de página es un nombre de presentación (describe la posición del elemento).

En una palabra, AJAX. Las nuevas etiquetas están destinadas a respaldar lo que los desarrolladores del mundo real están haciendo al reemplazar algunas de el <div class="sidebar-wrap"><div class="styling-hook"><div><ul class="nav"> tipo de divitis que sufren muchos sitios web. El único <div> que queda en HTML5 es el gancho de estilo.

La semántica que se promociona a etiquetas desde las clases es aquella que los desarrolladores han adoptado libremente en masa como mejores prácticas, dado un período extendido de adopción de xhtml / css. Consulte la edición para desarrolladores de WHATWG de la página de secciones de especificaciones aquí . El documento en sí es un placer, pero no lo estropearé si aún no lo ha visto.

Una de las razones menos obvias para algunas decisiones tomadas por el W3C es la importancia de Webkit. Si observa, puede ver que fueron mejores que algunos para tomar el trabajo actual del Grupo de trabajo HTML5 e implementar ideas. Históricamente han estado muy por delante en cumplimiento ( ver aquí ). El W3C otorga una alta prioridad a su (es decir, Android, iPhone, Googlebot, Chrome, Safari, Dreamweaver, etc.). Google, usuarios de framework, Wordpress / Moveable Type / Joomla! los usuarios de tipo y otros querían bloques de construcción autónomos, por lo que este es el estilo que obtenemos.

Facebook es modular. Las cuadrículas de diseño receptivo son modulares. Wordpress es modular. Ajax funciona mejor con estructuras de página modulares. Los widgets son módulos. Los complementos son módulos. Parece que deberíamos estar tratando de descubrir cosas como cómo aplicar estas etiquetas para que sea más fácil enganchar los elementos apropiados y activarlos en nuestro documento / aplicación / red híbrida de información Web 2.0.

Para terminar, HTML5 está destinado a escribirse como xml (de nuevo, consulte las especificaciones) para garantizar que las herramientas y máquinas que realizan solicitudes ajax para una parte de un documento obtengan una respuesta útil bien formada. Qué increíble en combinación con cosas como consultas de medios para dispositivos como lectores de feeds, impresoras braille, anotadores, etc. ¡Veo un futuro (cercano) donde cualquier cosa con buen contenido semántico es su propio suministro de noticias automáticamente! Esto solo sucede si los desarrolladores adoptan y escriben documentos conformes.

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