8% of Caucasian type men and 0.4% of women are colour-blind. Colour blindness is a generic term which covers different types of visual deficiencies related to perception of red, green and blue parts of colour. Some perceive all three parts but with weaknesses in some area of the light spectrum, the trichromats, others simply do not perceive one part, the dichromats.
A standard UserInterface pattern is to never override the user's preferred settings for foreground and background colours because often the user has chosen colours balanced for his or her eyesight. If you have to be clever, it's usually a good idea to allow users to override the colour choices. On web pages, CascadingStyleSheets allow the user to use UserStyleSheets to regain control, assuming he will find it worth his short attention span (a la the EightSecondHalfLife). Some websites overrule the user-defined style sheet with !important
; don't do that!
Even this wiki which emphasizes ContentOverForm has not fully succeeded. DaveHarris complains, "Why do you feel the need to recolour my desktop anyway? I notice this site has a white background. Why? I hate it. I can read it, but it's garish. I would much prefer to be allowed to use my default colours."
See also HumanVision.
[Vischeck] will show you your webpage from the eyes of a colour blind person through colour filtering.
"NColor is a color picker which allows background and text colors comparison. It is clearly a tool for webdesigners."
So, can color-blind people see the links on my all-blue page http://www.moussu.net ? Or should I make them of a different color?
You can check this sort of thing at http://www.vischeck.com/
(Please note that Vischeck does not understand css backgrounds.)