The desire for the color of elements to appear consistently on the web across different devices and screens has long been a quest for web designers. However, with the vast majority of people unaware of how to properly color calibrate their monitors beyond crude and often ignorant manipulation of brightness and contrast controls, the quest always seemed a pipe dream.
This is beginning to change. The first hurdle – a broad agreement on a standardized color space and gamma – was reached in 1996, in the form of a standard called sRGB. Device and application support for the sRGB color profile – including digital cameras, scanners, printers, HD televisions, monitors, and design tools like PhotoShop – is now widespread.
Color management is also supported in modern browsers, including Firefox 3.6 and higher, Safari 5+ (include Mobile Safari) and Internet Explorer 9 (although IE’s support comes with one important caveat). Chrome and Opera both lack support for color management as of this writing.
The browser color management process could be simply described as this:
The browser reads the monitor settings, to understand how the user’s system displays color. (This is the part that IE currently skips).
The browser reads the image file, and attempts to determine its color profile (i.e. how it was displayed on the original creator’s system). “Untagged” images (those without an embedded color profile) are assumed to be sRGB.
By understanding the color profile of both the image and the monitor, the browser can map one to the other to preserve the best image quality.
If any of these steps is skipped, the color in the final image is likely to be compromised: it will usually appear over saturated or washed-out. To avoid this issue, the suggested workflow for color management on the web is:
Work in whatever RGB color space you prefer (Adobe RGB is a general recommendation), but always convert to sRGB for export. (Adobe PhotoShop 5.5 does this by default in the Save For Web option).
You may wish to tag your JPEG image (“Embed Color Profile”) for greater color profile support across browsers. The downside of this is that doing so will usually increase the file size by a few kilobytes. GIF and PNG files will be tagged during export from PhotoShop by default.