Apple Internet Software

Entendiendo el soporte actual de HTML5 y CSS3

Por 14/06/10 - 19:26

Entendiendo el soporte actual de HTML5 y CSS3

Hace unos días Eduardo nos hablaba acerca de cómo las famosas demos de HTML5 de Apple no eran tan estándar como nos querían hacer ver. He visto muchas voces en internet manifestando la misma preocupación, y me ha preocupado mucho ver que nadie las rebatía. No se preocupen, porque este no es un artículo de culto a Apple, ni muchísimo menos. El ya famoso prefijo -webkit- en las propiedades CSS no está solo en el mundo, sino que vive feliz acompañado de sus hermanitos -moz-, -o- y el benjamín de la familia, -ms-.

¿Quiere eso decir que ni Mozilla ni Opera respetan tampoco los estándares? No. Significa todo lo contrario. Lo que hacen tanto Apple como Mozilla y Opera e incluso Microsoft (WTF?!) es respetar la especificación CSS escrupulosamente.

Lo primero que tenemos que entender es cómo funciona un estándar del W3C, el órgano que se ocupa de regular los lenguajes para la web, entre ellos HTML y CSS, pero también otros de aplicación más específica como SVG o MathML. Primero se propone el estándar y se forma un grupo de trabajo, que comienza a desarrollar un borrador de trabajo o working draft. Cuando el borrador está lo suficientemente avanzado se hace una última llamada para realizar cambios sobre ese borrador. Este punto se llama last call working draft. Una vez que pase de ese status, el estándar está completo en esencia, pero aún puede sufrir modificaciones dependiendo de la dificultad o incluso imposibilidad de implementar algunas de las especificaciones establecidas en el paso anterior. A esto se le llama candidate recommendation. Una vez que las personas encargadas de implementar el estándar lo consideran completo, pasa a tener status de proposed recommendation, y una vez que la Junta de Gobierno del W3C lo aprueba se convierte en una W3C Recommendation.

Pues bien, lo que ocurre ahora mismo es que tanto HTML5 como CSS3 son working drafts, es decir, todas y cada una de sus partes están sujetas a cambio radical o eliminación. Para abandonar esta etapa, ambos estándares deberán contar con al menos tres implementaciones completas o casi completas por parte de tres proveedores independientes. Es decir, que es la pescadilla que se muerde la cola: hasta que no esté terminado nadie quiere implementarlo, pero no estará terminado hasta que alguien lo implemente.

En el caso de CSS2 la fase de implementación fue una época tormentosa para los estándares web: en plena guerra Netscape vs. Internet Explorer, lo que menos les preocupaba a los implementadores era respetar estándares. Las consecuencias ya las conocemos: implementaciones CSS poco fiables y que se habían quedado en diferentes etapas del working draft. Para evitar que una situación así se repitiera, el W3C añadió un nuevo tipo de propiedad CSS: la vendor-specific property. ¿Y qué será eso? Lo han adivinado: las propiedades que empiezan por -webkit-, -moz-, -o- y -ms-.

Así pues, los navegadores que respeten los estándares, si deciden implementar funcionalidad incluída en CSS3, lo tendrán que hacer, obligatoriamente, con estos prefijos. Actualmente, la única propiedad que se ha «graduado» a candidate recommendation es el famoso border-radius, que sólo está disponible en versiones recientes de Webkit (Safari 5 y Chrome 4) y en Opera 10.5 o superior. Firefox 4 la soportará a finales de año, cuando salga, y lo mismo ocurrirá con Internet Explorer 9. Mientras tanto, la tenemos que usar con los consabidos prefijos.

Así pues, cuando Apple utiliza en sus demos el prefijo -webkit- no es tanto una cuestión de chauvinismo —que su parte tendrá, ojo— como de cuestión práctica, y para muestra, un botón: la página web del W3C hace uso de la propiedad -webkit-transition en su menú de navegación. Ellos quieren demostrar lo avanzado que está un estándar que todavía no lo es en su producto, y no en los de la competencia, por lo tanto no tienen ninguna necesidad de añadir las mismas propiedades prefijadas por -moz o -ms-. Pero es que además, algunos de los aspectos más avanzados como las transformaciones y las transiciones sólo están completamente soportados, a día de hoy, por Webkit. Una vez que tengamos Firefox 4 e Internet Explorer 9 en nuestras manos la cosa será muy distinta, pero la realidad actual es que nadie supera el soporte HTML5 y CSS3 de Webkit.

Puedes comentar sobre este y otros temas en nuestra comunidad

comentar

Usamos cookies propias y de terceros para mejorar la experiencia. Si sigues navegando estás aceptando nuestra política de cookies