{"id":107,"date":"2017-10-07T19:51:00","date_gmt":"2017-10-07T19:51:00","guid":{"rendered":"https:\/\/alistapart.com\/es\/?post_type=article&#038;p=107"},"modified":"2021-04-02T23:39:20","modified_gmt":"2021-04-02T23:39:20","slug":"semantica-en-html-5","status":"publish","type":"article","link":"https:\/\/alistapart.com\/es\/article\/semantica-en-html-5\/","title":{"rendered":"Sem\u00e1ntica en HTML 5"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\" id=\"356c\">Estoy por hacer una predicci\u00f3n audaz. Mucho despu\u00e9s de nuestra existencia, HTML seguir\u00e1 existiendo. No \u00fanicamente en billones de p\u00e1ginas archivadas de nuestra era, sino como una entidad viva que respira. Mucho esfuerzo, energ\u00eda e inversi\u00f3n ha sido destinada a desarrollar las herramientas, protocolos y plataformas de la web, como para ser abandonados a la ligera, si llegan a ser abandonados en lo absoluto.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"c603\"><a href=\"http:\/\/dev.w3.org\/html5\/spec\/Overview.html\">HTML 5<\/a>, el reciente esfuerzo redoblado del W3C por darle forma a la siguiente generaci\u00f3n de HTML, ha tenido un considerable impulso durante el \u00faltimo a\u00f1o. Es un proyecto enorme, que considera no solo la estructura de HTML, sino los modelos de an\u00e1lisis, el manejo de errores, el <em>DOM <\/em>(Modelo de Objetos del Documento), los algoritmos para obtener recursos, contenido multimedia, dibujo en 2D, plantillas de datos, modelos de seguridad, modelos para cargar p\u00e1ginas, almacenamiento de informaci\u00f3n del lado del cliente, y mucho m\u00e1s.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"4822\">Igualmente se hicieron revisiones a la estructura, sintaxis y sem\u00e1ntica de HTML, algunos de los cu\u00e1les han sido cubiertos por Lachlan Hunt en \u201c<a href=\"http:\/\/www.alistapart.com\/articles\/previewofhtml5\">A Preview of HTML 5<\/a>.\u201d<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"ef50\">Sin embargo, durante este art\u00edculo enfoqu\u00e9monos en la sem\u00e1ntica de HTML. Es algo que me ha interesado por varios a\u00f1os, y algo que creo fundamental para el futuro de HTML.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"472a\">La BBC recientemente anunci\u00f3 que <a href=\"http:\/\/www.bbc.co.uk\/blogs\/radiolabs\/2008\/06\/removing_microformats_from_bbc.shtml\">remover\u00edan el microformato hCalendar<\/a> de su listado de programas, debido a problemas de accesibilidad y usabilidad con el <a href=\"http:\/\/microformats.org\/wiki\/abbr-design-pattern\"><em>patr\u00f3n de dise\u00f1o abbr<\/em><\/a>. Esto demuestra que, sin duda alguna, hemos explotado la capacidad sem\u00e1ntica de HTML mucho m\u00e1s all\u00e1 de lo que alguna vez se pens\u00f3, y por ende, lo que es posible mediante este lenguaje. Nos hemos simplemente acabado los elementos y atributos de HTML con los que desarrollamos documentos de sem\u00e1ntica abundante. Si continuamos siendo astutos con los bloques de construcci\u00f3n de HTML que actualmente existen, m\u00e1s problemas como estos ocurrir\u00e1n. Pero HTML sufre un defecto fundamental como lenguaje de marcado sem\u00e1ntico \u2014 su sem\u00e1ntica es fija, no extensible.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"f0e5\">Este no es un simple problema te\u00f3rico. Cientos de miles de desarrolladores usan los atributos <code>id<\/code> y<code>class<\/code> de HTML para crear marcado sem\u00e1nticamente m\u00e1s rico. (Tambi\u00e9n son usados como <em>\u201chooks\u201d<\/em> para dar estilo con CSS, pero eso es otro asunto.) Casi siempre, los desarrolladores utilizan vocabulario ad hoc \u2014 \u00f3sea, palabras que ellos mismos inventan, en vez de valores tomados de esquemas existentes. Es marcado pseudo sem\u00e1ntico a lo mucho.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"7f46\">Muchas p\u00e1ginas en la web utilizan microformatos para a\u00f1adir sem\u00e1ntica m\u00e1s estructurada que la disponible en el <a href=\"http:\/\/westciv.com\/style_master\/house\/good_oil\/semantics\/htmlsemantics.html\">empobrecido conjunto de elementos y atributos de HTML<\/a>. En tales casos, los valores usados para el atributo <code>class<\/code> vienen de convenciones de vocabularios, algunas veces adoptados de otros est\u00e1ndares, como <a href=\"http:\/\/en.wikipedia.org\/wiki\/VCard\">vCard<\/a>, o en ocasiones de vocabularios recientemente acu\u00f1ados sin est\u00e1ndares s\u00f3lidos pre-existentes (como es el caso de <a href=\"http:\/\/en.wikipedia.org\/wiki\/HReview\">hReview<\/a>).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"2d23\">Sem\u00e1ntica extensible<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"e255\">Este es un problema muy tangible que debe ser resuelto. Necesitamos mecanismos en HTML que claramente y sin ambig\u00fcedad permitan a los desarrolladores a\u00f1adir sem\u00e1ntica m\u00e1s completa y significativa \u2014 no pseudo-sem\u00e1ntica \u2014 al marcado. Esta es posiblemente la \u00fanica meta de importancia para el proyecto HTML 5.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"2cd0\">Sin embargo, no es tan sencillo como ingeniar un mecanismo para crear sem\u00e1ntica m\u00e1s completa en el contenido de HTML: hay restricciones a considerar con cualquier soluci\u00f3n. Probablemente la mayor restricci\u00f3n sea la compatibilidad con versiones anteriores. La soluci\u00f3n no puede inhabilitar a los miles de millones de dispositivos utilizando el navegador hoy en d\u00eda, que continuar\u00e1n en uso durante los a\u00f1os que vengan. Cualquier soluci\u00f3n que no es compatible con lo anterior, no ser\u00e1 ampliamente aceptado por desarrolladores ante el miedo de excluir usuarios. Ser\u00e1 r\u00e1pidamente dejado en el olvido.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"7e34\">La soluci\u00f3n debe ser igualmente compatible con futuras versiones. No en el sentido de que debe funcionar con futuros navegadores \u2014 esa es responsabilidad de los desarrolladores de navegadores \u2014 sino en el sentido de ser <strong>extensible<\/strong>. No podemos esperar que una soluci\u00f3n desarrollada justo ahora, resuelva todas las sem\u00e1nticas tanto imaginables como inimaginables que surjan en el futuro. Sin embargo, <strong>podemos<\/strong> desarrollar una soluci\u00f3n que pueda ser extendida para permitir atender necesidades futuras seg\u00fan vayan surgiendo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"5eea\">Estas dos restricciones por s\u00ed solas representan un gran reto. Pero en el contexto de un lenguaje con mejoras mayores llegando con una d\u00e9cada de diferencia, y cuya importancia como plataforma global para la comunicaci\u00f3n es suprema, este es un reto que debe ser resuelto.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"a694\">Entonces, \u00bfc\u00f3mo busca arreglar esto HTML 5? HTML 5 introduce un n\u00famero de elementos nuevos. Algunos de estos son algo a lo que llamo <a href=\"http:\/\/microformatique.com\/?p=83\"><em>\u201cestructural\u201d<\/em><\/a> \u2014 <code>section<\/code>, <code>nav<\/code>, <code>aside<\/code>, <code>header<\/code>, y <code>footer<\/code>. El elemento <code>dialog<\/code> es un tipo de elemento de <em>contenido<\/em>, similar a <code>blockquote<\/code>. Tambi\u00e9n hay un n\u00famero de elementos de <em>informaci\u00f3n<\/em> (data elements), como por ejemplo, <code>meter<\/code>, que \u201crepresenta una medida escalar dentro de un rango conocido, o un valor fraccional; por ejemplo, el uso en disco,\u201d y el elemento <code>time<\/code>, que representa una fecha y\/u hora.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"5180\">Mientras estos elementos podr\u00edan ser \u00fatiles, y parecen haber generado algo de inter\u00e9s, \u00bfrealmente resuelven el problema que hemos identificado, particularmente dentro de las resticciones gemelas que son la compatibilidad con versiones futuras y pasadas?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"fef9\">Consideremos cada restricci\u00f3n.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"f707\">Compatibilidad con versiones anteriores<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"4928\">\u00bfC\u00f3mo logran los navegadores actuales manejar los nuevos elementos, como <code>section<\/code>? Pues, las versiones m\u00e1s recientes de Safari, Opera, Mozilla, e incluso IE7 interpretar\u00e1n la p\u00e1gina de la siguiente manera.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">&lt;h1&gt;Encabezado De Primer Nivel&lt;\/h1&gt; &lt;section&gt;<br>    &lt;h1&gt;Encabezado De Segundo Nivel&lt;\/h1&gt;<br>    &lt;p&gt;Este texto est\u00e1 dentro del elemento section&lt;\/p&gt; &lt;section&gt;<br>        &lt;h1&gt;Encabezado De Tercer Nivel&lt;\/h1&gt;<br>    &lt;\/section&gt;<br>&lt;\/section&gt;<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"331e\">Parece un buen comienzo. Sin embargo, cuando intentamos aplicar estilo, por ejemplo, a elementos <code>section<\/code> utilizando el siguiente CSS:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">section {color: red}<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"badd\">\u2026la mayor\u00eda de los navegadores mencionados arriba logran dar estilo al elemento, pero IE7 (y seguramente tambi\u00e9n IE6) no lo hacen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"f565\">Por lo que tenemos un serio problema de compatibilidad con versiones anteriores en el 75% de los navegadores actualmente en uso. Dada la larga vida de Internet Explorer, podemos predecir que la mayor\u00eda de los usuarios continuar\u00e1n usando IE6 o IE7 por muchos a\u00f1os m\u00e1s.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"04b1\">Si HTML 5 introduce estos nuevos elementos, \u00bfcu\u00e1l es la probabilidad de que ser\u00e1n implementados por la gran mayor\u00eda de desarrolladores\u2500teniendo el conocimiento de que son en esencia incompatibles con gran parte de los navegadores en uso?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"2e05\">Desafortunadamente, si est\u00e1n buscando por soluciones alternativas al problema de CSS, agregando atributos <code>class<\/code> en tus elementos<code>section<\/code> y despu\u00e9s tratar de darles estilo utilizando el valor de la clase, no funcionar\u00e1 en IE. Tal vez hay alg\u00fan tipo de m\u00e9todo alternativo, pero de no ser as\u00ed, parece que estamos en un callej\u00f3n sin salida.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"879a\">Mov\u00e1monos a la compatibilidad con versiones futuras, la segunda restricci\u00f3n de nuestra lista.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"0178\">Compatibilidad con futuras versiones<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"1289\">Comencemos presentando la pregunta \u201c\u00bfpor qu\u00e9 estamos inventando estos nuevos elementos?\u201d. Una respuesta razonable ser\u00eda: \u201cporque HTML no tiene riqueza sem\u00e1ntica, y al a\u00f1adir estos elementos aumentamos su contenido\u2500eso no puede ser malo, \u00bfo s\u00ed?\u201d.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"7032\">Al a\u00f1adir estos nuevos elementos, estamos resolviendo la necesidad por mayor capacidad sem\u00e1ntica en HTML, pero solo dentro de un alcance reducido. No importa la cantidad de nuevos elementos que se nos ocurran, siempre podremos pensar en m\u00e1s bondad sem\u00e1ntica que podr\u00edamos a\u00f1adir a HTML. Por lo tanto, habiendo a\u00f1adido los nuevos elementos que deseamos, a\u00fan no est\u00e1 resuelto nuestro problema. No necesitamos a\u00f1adir <strong>t\u00e9rminos espec\u00edficos<\/strong> al vocabulario de HTML, lo que necesitamos es un <strong>mecanismo<\/strong> que permita a\u00f1adir riqueza sem\u00e1ntica al documento seg\u00fan se requiera. En t\u00e9rminos t\u00e9cnicos, necesitamos hacer a HTML <strong>extensible<\/strong>. HTML 5 no propone mecanismos para ser extendido.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"92f1\">HTML 5, por lo tanto, implementa una caracter\u00edstica que termina con la compatibilidad en un alto porcentaje de navegadores, sin realmente permitirnos a\u00f1adir sem\u00e1ntica al lenguage <strong>en lo absoluto<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"b1d2\">Muchas preguntas persisten sobre los nuevos elementos. \u00bfDe d\u00f3nde han venido los nombres de estos nuevos elementos? \u00bfC\u00f3mo fue decidido que deber\u00eda haber un elemento para la navegaci\u00f3n y que deber\u00eda ser llamado <code>nav<\/code>? \u00bfPor qu\u00e9 el mismo t\u00e9rmino aplica para la navegaci\u00f3n a nivel de p\u00e1gina, nivel de sitio, y nivel de meta-sitio?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"e8f8\">\u00bfPor qu\u00e9 no adoptar un vocabulario existente, como <a href=\"http:\/\/www.docbook.org\/\">Docbook<\/a>? Su vocabulario para estructurar documentos es mucho m\u00e1s completo y ha sido desarrollado por expertos durante muchos a\u00f1os. Este no es un argumento a favor de Docbook en espec\u00edfico: el punto es que la tarea de extrema importancia de proveer un mecanismo para la riqueza sem\u00e1ntica de HTML, est\u00e1 siento resuelta en una forma ad hoc, aparentemente prestando poca atenci\u00f3n a las mejores pr\u00e1cticas en trabajos relacionados, regresando incluso m\u00e1s de 30 a\u00f1os. (El trabajo original en GML (Lenguaje de Marcado General) comenz\u00f3 a principios de la d\u00e9cada de 1970.)<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"eb57\">Algunas ideas para una soluci\u00f3n<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"ea33\">Entonces, habiendo sido cr\u00edtico con respecto a los esfuerzos actuales, \u00bftengo alguna propuesta pr\u00e1ctica sobre c\u00f3mo resolver este problema? Bueno, pues tengo el comienzo para una posible soluci\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"b535\">Si a\u00f1adir elementos a HTML est\u00e1 fuera de contexto, al menos en los par\u00e1metros de esta discusi\u00f3n, los atributos son el \u00e1rea l\u00f3gica donde HTML deber\u00eda concentrarse. Despu\u00e9s de todo, por casi una d\u00e9cada hemos estado utilizando los atributos <code>id<\/code> y <code>class<\/code> como mecanismos para extender la sem\u00e1ntica de HTML. Una gran parte de los desarrolladores est\u00e1n familiarizados y se sienten c\u00f3modos con esto. El <a href=\"http:\/\/microformats.org\/wiki\/Main_Page\">proyecto de microformatos<\/a> demostr\u00f3 que los atributos existentes de HTML no son suficientes para ser usados como un mecanismo generalizado para extender la sem\u00e1ntica de HTML. Por lo tanto, si vamos a usar atributos para resolver este problema, necesitamos idear uno o varios atributos nuevos. Antes de que nos adentremos en la parte t\u00e9cnica de c\u00f3mo podr\u00eda funcionar eso, ser\u00eda correcto ajustar esta propuesta a los mismos requerimentos que tenemos para los nuevos elementos de HTML 5. Principalmente, \u00bfes compatible con versiones anteriores introducir nuevos atributos a HTML? Y si lo es, \u00bfesto brinda un mecanismo factible para la expansi\u00f3n sem\u00e1ntica de HTML?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"ba4f\">Inventemos un nuevo atributo. Lo llamar\u00e9 \u201cstructure\u201d, pero el nombre en particular no es lo importante. Lo podemos utilizar de la siguiente manera:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>&lt;div structure=\u201cheader\u201d&gt;<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"4c25\">Veamos c\u00f3mo lo interpretan nuestros navegadores.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"0943\">Por supuesto, todos nuestros navegadores aplicar\u00e1n estilo con CSS.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>div {color: red}<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"fd2b\">Pero, \u00bfqu\u00e9 pasa si realizo lo siguiente?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>div[structure] {font-weight: bold}<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"58f3\">De hecho, casi todos los navegadores, incluyendo IE7, aplican el estilo al <code>div<\/code> con el atributo <code>structure<\/code>, incluso si no existe tal atributo llamado <code>structure<\/code>! Desgraciadamente, nuestra suerte se acaba ah\u00ed, pues en IE6 no funciona. Pero podemos utilizar el atributo en HTML, y lograr que todos los navegadores existentes lo reconozcan. Incluso podemos utilizar CSS para dar estilo a nuestro HTML utilizando el atributo en todos los navegadores modernos. Y si queremos una alternativa para navegadores antiguos, podemos a\u00f1adir un valor en el atributo <code>class<\/code> del elemento para dar estilo. Comparemos esto con la soluci\u00f3n de HTML 5, que a\u00f1ade nuevos elementos a los que no se les puede aplicar estilo en Internet Explorer 6 o 7, y ver\u00e1s que es definitivamente una soluci\u00f3n con mejor compatibilidad con versiones pasadas.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"f715\">Extensibilidad mediante atributos<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"4f5b\">En vez de elementos nuevos, HTML 5 deber\u00eda adoptar un n\u00famero de atributos nuevos. Cada uno de estos atributos estar\u00eda relacionados con una categor\u00eda o tipo de sem\u00e1ntica. Por ejemplo, como <a href=\"http:\/\/microformatique.com\/?p=83\">he detallado en otro art\u00edculo<\/a>, HTML incluye sem\u00e1ntica de tipo estructural, ret\u00f3rica, de roles (adoptado de XHTML), y otras clases o categor\u00edas de sem\u00e1ntica.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"898b\">Estos nuevos atributos podr\u00eda ser usados similar a como se utiliza el atributo <code>class<\/code>: para a\u00f1adir sem\u00e1ntica a un elemento, y describir de esta manera su naturaleza o meta-informaci\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"b5d5\">Esto no es diferente al <a href=\"http:\/\/www.w3.org\/TR\/xhtml-role\">atributo rol de XHTML<\/a>, sino que en vez de tener un \u00fanico atributo \u201ccontenedor\u201d para la sem\u00e1ntica de todos los elementos, deber\u00edamos identificar los diferentes tipos de sem\u00e1ntica para un elemento, y separarlos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"b331\">Por ejemplo, el atributo de XHTML <code>role<\/code> funciona as\u00ed:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">&lt;ul role=\"navigation sitemap\"&gt;<br>    &lt;li href=\"downloads\"&gt;Descargas&lt;\/li&gt;<br>    &lt;li href=\"docs\"&gt;Documentaci\u00f3n&lt;\/li&gt;<br>    &lt;li href=\"news\"&gt;Noticias&lt;\/li&gt;<br>&lt;\/ul&gt;<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"ffa1\">Los valores del atributo <code>role<\/code> son una lista de palabras separadas por espacios, provenientes del <a href=\"http:\/\/www.w3.org\/1999\/xhtml\/vocab\">vocabulario por defecto<\/a>, o de un vocabulario definido.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"288f\">\u00bfPor qu\u00e9 no simplemente adoptar el atributo <code>role<\/code> tal y como es? Pues, hay otros tipos de sem\u00e1ntica por los que el t\u00e9rmino <code>role<\/code> no aplica. Por ejemplo:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">&lt;p rethoric=\"irony\"&gt;\u00c9l es una persona asombrosa.&lt;\/p&gt;<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"53f7\">Esto demuestra un tipo te\u00f3rico de sem\u00e1ntica\u2500\u2500\u201drethoric\u201d, que puede ser utilizado para marcar la naturaleza ret\u00f3rica del documento. Sin embargo, este elemento claramente no funciona como algo ret\u00f3rico en el documento. Sino que los contenidos del elemento son ir\u00f3nicos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"80fe\">Aqu\u00ed hay otro ejemplo. Cada vez es m\u00e1s notable que HTML necesita una manera de a\u00f1adir una versi\u00f3n legible para una m\u00e1quina de los valores entendibles para los humanos, por ejemplo, una fecha. Esto est\u00e1 en el n\u00facleo del problema que la BBC tiene con el microformato hCalendar al que nos referimos anteriormente. Mientras <code>&lt;span role=\"2009-05-01\"&gt;May Day next year<\/code> realmente no tiene sentido, algo como <code>&lt;span equivalent=\"2009-05-01\"&gt;May Day next year<\/code> podr\u00eda tenerlo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"392f\">De nuevo, utilizar el t\u00e9rmino espec\u00edfico <code>equivalent<\/code> o alg\u00fan otro t\u00e9rmino para este tipo de atributo sem\u00e1ntico no es el problema. Lo que debemos notar es que no es tan simple como utilizar el atributo <code>class<\/code> o el atributo <code>role<\/code> como si fuera un contenedor donde podemos meter toda la informaci\u00f3n sem\u00e1ntica. Para una soluci\u00f3n propiamente extensible que brinde compatibilidad con versiones anteriores y flexibilidad suficiente, una soluci\u00f3n entre l\u00edneas deber\u00eda ser algo a investigar.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"896d\">Titul\u00e9 esta secci\u00f3n como \u201cIdeas para una soluci\u00f3n\u201d porque una gran cantidad de trabajo debe realmente llevarse a cabo para desarrollar una soluci\u00f3n factible. Las siguientes son algunas preguntas a considerar.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>\u00bfCu\u00e1ntos tipos distintos de atributos sem\u00e1nticos deber\u00edan haber? \u00bfDeber\u00edan ser extensibles estas categor\u00edas? Y si es as\u00ed, \u00bfc\u00f3mo deber\u00eda implementarse?<\/li><li>\u00bfC\u00f3mo se determinan los vocabularios?<\/li><li>\u00bfSimplemente inventamos los t\u00e9rminos que queremos, similar a la forma en que los desarrolladores han estado utilizando los valores <code>class<\/code>, o deber\u00edamos estandarizar los posibles valores a utilizar? \u00bfO deber\u00eda haber un mecanismo para inventar (y posiblemente compartir) vocabularios, utilizando alg\u00fan tipo de perfil?<\/li><li>Si tenemos conflictos entre dos vocabularios, como dos t\u00e9rminos id\u00e9nticos que se definen por dos vocabularios distintos, \u00bfc\u00f3mo se resolver\u00eda?<\/li><li>\u00bfNecesitamos alg\u00fan tipo de espacio de nombres, o existe otro mecanismo?<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"6ae7\">En vez de apurarnos por responder estas preguntas, las presento como algunos problemas que necesitan ser considerados, por los que se deber\u00eda comenzar un di\u00e1logo. Las consecuencias de las decisiones tomadas en HTML 5 son demasiado grandes como para tomar decisiones en ausencia de alguna entrada para los campos de expertos en ling\u00fc\u00edstica, sem\u00e1ntica, semi\u00f3tica, y otras \u00e1reas relacionadas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"9989\">Espero por sobre todo, que ahora sea claro que \u201cinventar nuevos elementos\u201d no es una soluci\u00f3n para incrementar la capacidad sem\u00e1ntica de HTML.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"a15c\">No nos apuremos en tomar estas decisiones a la ligera\u2500despu\u00e9s de todo, con el calentamiento global ya le estamos dejando muchos problemas a nuestros nietos como para preocuparlos m\u00e1s. Al menos, heredemos el mejor HTML que podamos.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><em>*Traducido al espa\u00f1ol por <a rel=\"noreferrer noopener\" href=\"https:\/\/twitter.com\/JPYamamoto9\" target=\"_blank\">Juan Pablo Yamamoto<\/a><\/em><\/h5>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Que la BBC abandone hCalendar por motivos de accesibilidad y usabilidad demuestra que hemos llevado la capacidad sem\u00e1ntica de HTML mucho m\u00e1s all\u00e1 de lo que puede soportar. La necesidad de a\u00f1adir claramente y sin ambig\u00fcedades una sem\u00e1ntica rica y significativa al marcado es uno de los objetivos del proyecto HTML 5. Sin embargo, HTML 5 tiene dos problemas: no es compatible con el pasado porque sus elementos sem\u00e1nticos no funcionan en el 75% de nuestros navegadores; y no es compatible con el futuro porque su sem\u00e1ntica no es extensible. Si \u00abinventar nuevos elementos\u00bb no es la soluci\u00f3n, \u00bfcu\u00e1l es?<\/p>\n","protected":false},"author":601,"featured_media":117,"comment_status":"open","ping_status":"closed","template":"","categories":[20,19],"tags":[],"coauthors":[18],"class_list":["post-107","article","type-article","status-publish","has-post-thumbnail","hentry","category-html","category-navegadores"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/alistapart.com\/es\/wp-json\/wp\/v2\/article\/107","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/alistapart.com\/es\/wp-json\/wp\/v2\/article"}],"about":[{"href":"https:\/\/alistapart.com\/es\/wp-json\/wp\/v2\/types\/article"}],"author":[{"embeddable":true,"href":"https:\/\/alistapart.com\/es\/wp-json\/wp\/v2\/users\/601"}],"replies":[{"embeddable":true,"href":"https:\/\/alistapart.com\/es\/wp-json\/wp\/v2\/comments?post=107"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/alistapart.com\/es\/wp-json\/wp\/v2\/media\/117"}],"wp:attachment":[{"href":"https:\/\/alistapart.com\/es\/wp-json\/wp\/v2\/media?parent=107"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/alistapart.com\/es\/wp-json\/wp\/v2\/categories?post=107"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/alistapart.com\/es\/wp-json\/wp\/v2\/tags?post=107"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/alistapart.com\/es\/wp-json\/wp\/v2\/coauthors?post=107"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}