A blue background is dangerous. A rather busy blue background doubly so.
Choose a text color that contrasts with the background as much as possible. In the case of blue, this is unavoidably a hue of yellow. I'm not a big fan of bright yellow text, but in this case nothing else will be intelligible. For this reason, I wouldn't reccomend a blue background.
Technically speaking, you are doing The Right Thing (TM) with valid code (what a concept, adhereing to standards!).
