Whenever you specify a background image in your CSS, consider what happens if the image is missing. If there is text on top of the image, is it still readable? If not, specify a colour for the browser to use instead of the image so the text becomes readable again.
Why would an image be missing? A few possibilities are broken images, network problems, and user settings.
More: continued here