On the Web, color is a visual design element that is truly without cost. Like images, designers can use colors freely and easily; unlike images, users do not pay the price because color settings do not increase page load or rendering times. Color is a powerful tool for visual design; it can be used to set tone, draw attention, convey information, differentiate elements, and more.
However, color can impair usability. Legibility suffers when the contrast between text and background is insufficient. When text is set with low contrast, character shapes are difficult to distinguish, which makes reading difficult and tiring. For best legibility, complementary elements such as text and background should use complementary colors.
Nonvisual users cannot see color, and some visual users cannot distinguish certain colors or are using technology that does not display color. When color is used to communicate information—for example, to identify required fields or to emphasize important text—such users may not be able to access the information. For universal usability, pages must be usable without color.
Some people have viewing requirements for colors, such as a high-contrast view (a black background with white or yellow text). The best way to design for specialized needs is to define color settings so users who have special color needs can apply their own settings.