Frecuentemente oímos muchas opiniones sobre CSS: que está roto, que es genial, o a veces ambas cosas a la vez (…) Es un poco como lo de: ¿esta imagen es un pato o un conejo? Dependiendo como lo mires, algo puede ser un bug o una feature, un fallo o una característica interesante.

– @MiriSuzanne

Este vídeo de @MiriSuzanne para Mozilla acerca de por qué CSS es como es, incluyendo que resulte un poco raro pero a la vez altamente conveniente es una auténtica maravilla. Una joya que debería ser estudiada antes de adentrarse en los procelosos mundos del HTML/CSS y del “diseño” (comillas en el aire incluidas) para la web. No estaría mal que lo vieran también los clientes y jefes de proyecto que encargan webs y apps –aunque probablemente no lo harán– para entender por qué algunas cosas son como son y otras no conviene hacerlas.

Cuando Tim Berners-Lee inventó la World Wide Web había documentos de hipertexto, en su mayoría artículos científicos. Pero que esa fuera la motivación original no implica que sólo sirviera para eso ni que eso siga siendo así ahora (igual que porque Gutenberg impriera primero biblias no significa que la imprenta sólo sirva para imprimir biblias). De hecho como el HTML es un estándar abierto la idea era que funcionara en todo tipo de ordenadores y dispositivos; no estaba limitado por unas reglas de diseño concretas.

Es la separación entre el HTML y el CSS (que llegaría años después) permitió al consorcio W3C seguir con estándares abiertos, con principios que funcionan en todo tipo de aparatos: tanto en los ordenadores como en los móviles, los coches o los relojes. En el mundo real esto también es así: se diseñan asientos y cinturones de seguridad que sirven para personas de distintos sexos y tamaños, y hay estándares de usabilidad para personas ciegas y edificios para quienes no puede utilizar escalones sino rampas. Esto también se aplica a las diversas interfaces de entrada y salida: teclados, auriculares, Braille y demás.

El CSS es un estándar que cuando falla, falla grácilmente, lo que quiere decir que si alguna característica nueva no funciona en un tipo de dispositivo simplemente no se usa. Se ignora. Los aspectos del diseño se unen «en cascada» hasta que el navegador recibe toda la información y decide cómo mostrarlos. Quien diseña no decide cómo se va a ver exactamente; tan sólo lo sugiere. El navegador es por tanto resiliente y a prueba de fallos; siempre lo hará lo mejor que pueda. Esa era la idea original y se ha mantenido: todo es compatible con lo que existía antes. El hecho de que la primera página web todavía funcione es toda una pista y un gran ejemplo.

Suzanne compara este trabajo con escribir un guión: se pueden incluir palabras y frases, e incluso quién-dirá-qué, pero el resultado será diferente dependiendo de los actores y actrices de la obra y de los teatros concretos en que se escenifique, o si una productora la adapta al formato serie o película. Pero la base es la misma. El CSS es contextual, está pensado para adaptarse al contexto, a los dispositivos y las aplicaciones. Por eso es tan raro. Pero esa rareza es algo tremendamente positivo, como ya ha demostrado a lo largo de su corta pero interesante vida en la Web.

(Vía Jen Simmons.)

Relacionado: