Explicación de la prueba Acid2

Por un artículo de Federico me entero que, gracias a una de las alfa de compilación semanal, Opera 9 pasaría el test Acid2. Si bien había escuchado nombrar a este test bastante hace mucho tiempo nunca terminé de saber qué había detrás de todo eso. Me puse a buscar por allí y me dí con que son sólo tres los navegadores que lo hacen: Safari, XML Prince y ahora Opera 9.

No podía creer que mi adorado Firefox no pasara la prueba. Así que la busqué e intenté renderizarla. No está tan mal como he visto en algunos navegadores; pero deja que desear. Para mi consuelo encontré la explicación de que Acid2 fue desarrollado en un momento en el que Firefox no se podía concentrar en este test pero que estaría prometido para la versión 3 del navegador ya que significaría modificaciones importantes al motor de renderización: Gecko… o algo así.

No conforme con esto decidí investigar un poco más y nada mejor para eso que la explicación del test en sí. La información está toda en inglés así que me dispuse a traducir la introducción de la explicación del test.

Notas de Traducción

  • El artículo no fue traducido completo por falta de tiempo. Es muy largo. Sin embargo, si a muchos les interesa puedo hacer un esfuercito por traducirlo completo.
  • Por lo que entiendo esta autorización está autorizada. La parte ‘legal’ en el sitio original condena cualquier uso o abuso con fines que no sean “la educación y/o la promoción de los estándares en todas la formas de desarrollo disponible en la web”. Si alguien piensa que es una malinterpretación de lo que dice que me lo haga saber mediante comentarios y vemos qué hacemos
  • Los comentarios de traducción se encuentran entre corchetes (“[" y "]“)
  • Los enlaces se mantuvieron como en el artículo original por lo que seguramente los llevarán a un sitio en inglés
  • Necesito saber si a alguien se le ocurre cómo traducir “data URLs” y “layout”. Los comentarios están para eso
  • Artículo original: Acid2: The Guided Tour

La traducción

Acid2 es una página de prueba para navegadores web publicada por The Web Standards Project (WaSP: Poyecto de Estándares Web). Fue escrita para ayudar a los desarrolladores de navegadores a asegurarse que sus productos soporten conrrectamente las funcionalidades que los diseñadores web querrían que utilizaran. Esas funcionalidades son parte de los estándares existentes pero que no han sido soportadas conjuntamente por los navegadores populares. Acid2 intenta cambiar esto desafiando a los navegadores a renderizar Acid2 correctamente antes de su distribución.

Acid2 es una página web compleja. Utiliza funcionalidades que no son usadas comúnmente debido a falta de soporte y agrupa demasiadas pruebas en una sola página. El objetivo fue simplificar a los usuarios y desarrolladores si un navegador pasa la prueba. Si lo hace, una cara felíz [a la derecha de este texto en el original] aparecerá. Si algo está mal, la cara se verá distorsionada y/o parcialmente roja.

El propósito de este documento es explicar cómo funciona Acid2. El código tras Acid2 es peculiar en su intento de, en una sóla página, probar muchas funcionalidades diferentes. No pensamos ni recomendamos que páginas web normales sean escritas de esta manera, pero es adecuado para una página de prueba. A primera vista, el código fuente es complicado de comprender. Esta guía asume una compresión técnica de HTML, CSS y PNG.

Nota: Acid2 utiliza data URLs [URLs de datos] extensivamente. Para permitir a desarrolladores que aún no soporten data URLs se publicó una versión de Acid2 sin data URLs.

¿Qué estamos probando?

Acid2 prueba funcionalidades que han sido pedidas por diseñadores web. Todo lo que Acid2 prueba está especificado en algún estándar web, pero no todos los estándares web han sido probados. Acid2 no garantiza conformidad con ninguna especificación. Luego pensarlo cuidadosamente, seleccionamos y probamos funcionalidades que consideramos más importantes para el futuro de la web. Si bien Acid2 fue inspirado por el anuncio de IE7 de parte de Microsoft, no está orientado a ningún navegador específico. Creemos que Acid2 revelará problemas en todos los navegadores actuales.

Acid2 asume un soporte básico para HTML4, CSS1, PNG y data URLs. Los primeros tres items de la lista son incluídos por razones obvias: son la columna vertebral de los contenidos web estándar. Las data URLs son descriptas en HTML4 pero son poco utilizadas debido a falta de soporte. Creemos que las data URLs son convenientes y útiles para los diseñadores web y fáciles de agregar a los navegadores. Lo que es más, Acid2 asume que el navegador utiliza una hoja de estilos por defecto con valores comunes. Por ejemplo, se asume que todos los elementos ‘div’ poseen ‘display: block’. Finalmente, la prueba asume una densidad de píxels de 96 ppi [píxeles por pulgada] como indica el Last Call Working Draft [Esbozo de Trabajo de Última Llamada: término referente a uno de los pasos para poder desarrollar un estándar web] de CSS 2.1. Para los navegadores que soporten aumento de tipos [fuentes] también se asume un aumento por defecto del 100%. La lista a continuación provee de algunas de las funcionalidades más importantes que son probadas:

  • PNGs transparentes: Los ojos están codificados como PNGs transparentes.
  • El elemento object: los ojos de la cara están agregados como un elemento object. La posibilidad de utilizar object (que puede tener contenido alternativo) es uno de los pedidos más antiguos de los diseñadores web.
  • Posicionamiento absoluto, relativo y fijo: la capacidad de posicionar elementos precisamente es importante para layouts avanzados.
  • Modelo de cajas: el test Acid original se enfocaba en el modelo de cajas de CSS. Acid2 continúa con esta tradición probando ‘height’, ‘width’, ‘max-width’, ‘min-width’, ‘max-height’ y ‘min-height’
  • Tablas CSS: No hay nada de malo con layouts con tablas. Es un modelo poderoso que tiene sentido en pantallas más grandes. Sin embargo, la codificación de una tabla es propensa a errores ya que ata el contenido a la pantalla. Por ello, la capacidad de especificar layouts con tablas en CSS es importante.
  • Márgenes: CSS define algoritmos precisos para el cálculo de los márgenes alrededor de los elementos.
  • Contenido generado: la capacidad de añadir decoraciones y anotaciones a páginas web sin modificar el código es algo pedido desde hace tiempo por los autores.
  • Parseo de CSS: Acid2 incluye un número de líneas de código CSS erróneo que deberían de ser ignoradas por un navegador que pase el test.
  • Orden de dinujo: se prueba que contenido solapado sea dibujado en el orden correcto. Esto no es una funcionalidad en sí pero requiere de otras funcionalidades para funcionar correctamente.
  • Efectos de hover [cuando el mouse pasa por sobre un elemento]: Uno de los elementos de la cara cambia de color cuando se pasa el cursor sobre él. ¿Cuál es?

Nótese que Acid2 es renderizado de modo estándar. Esto es, la página de prueba incluye un tipo de documento (DOCTYPE) que indica que el navegador debería tratar la página acorde a los estándares. Los desarrolladores que no deseen hacer cambios en su forma de renderizar documentos antiguos pueden continuar con su comportamiento en lo que se llama ‘modo peculiar’.

¿Qué es lo que debe aparecer?

Acid2, cuando es renderizado correctamente, consiste de una línea de texto (“Hello World” [Hola Mundo]) y una grilla cuadrada compuesta por 14×14 cuadrados contenida en un bloque en el que se puede observar una cara sonriente. Cada cuadrado es de 12px de alto por 12px de ancho. La cara tiene un fondo amarillo con un borde negro.

2 thoughts on “Explicación de la prueba Acid2

  1. A layout suelo traducirlo como “diagramación”.
    Data URLs no creo que tenga una traducción. Es como cuando se trató de traducir “syndicate”.
    “Parseo” se puede traducir como “Análisis” y “renderizado” como “presentado” segúnConceptos Generales en XHTML 1.

Comments are closed.