As cores da Internet estão erradas e a culpa é dos navegadores
A maioria das cores que está a ver pelo navegador estão, na verdade, incorretas. Não, não é mentira: as cores que verifica em vários websites aplicadas via CSS, SVG e em ficheiros PNG podem não ser, na realidade, as cores corretas que se pretende apresentar.
A culpa para tal não se encontra nas tecnologias propriamente ditas, mas na necessidade da internet em comprimir os dados para reduzir ao máximo a largura de banda necessária.
Como se sabe, as cores são representadas por valores hexadecimais, que correspondem às diferentes cores dentro de um espetro disponível. No entanto, para poupar no tamanho, a maioria dos conteúdos apresentados na web encontram-se comprimidos por um algoritmo conhecido como 8-bit sRGB, que na verdade data de quase 1996.
O problema encontra-se no facto que, enquanto a web tem vindo a evoluir, este algoritmo não. O mesmo é usado para representar as cores pela web com menos bits do que seria apresentado numa imagem real, economizando assim dados e reduzindo o tamanho necessário para a transmissão dos mesmos.
O sRGB é, basicamente, uma forma de comprimir os dados das cores, que leva a conteúdos mais pequenos em comparação com o uso de valores RGB lineares, com algumas perdas no processo. E uma delas encontra-se sobre as cores que são apresentadas.
Teoricamente, para apresentar as cores corretamente, os valores sRGB deveriam ser convertidos para valores RGB reais, e depois para sRGB novamente. Mas isso não é o que se realiza na maioria dos casos.
Quem cria conteúdos baseando-se nas cores em formato sRGB encontra-se, indiretamente, a apresentar as cores erradas ao mundo. Existe um parâmetro que poderia corrigir este problema em algumas imagens SVG, conhecido como color-interpolation, mas na realidade nenhum navegador suporta o mesmo atualmente.
Existem ainda propostas para que mudanças sejam feitas com a chegada do CSS4, mas por agora isso ainda não é uma realidade, e como tal não se encontra aplicado em nenhum sistema.
O mais interessante será também que a maioria das placas gráficas suportam a conversão de e para sRGB sem praticamente qualquer perda de desempenho, permitindo obter as cores reais – e isso é aplicado em alguns conteúdos, como é o caso de videojogos – mas ainda não é algo que se aplique diretamente nos navegadores.
Caso tenha interesse em ver o quanto errada a palete de cores da web se encontra poderá verificar os exemplos neste website.