From the KSU Ice Hockey thread http://www.cssbeauty.com/skillshare/comments.php?DiscussionID=108 : nick1presta: Why are you putting an image as your banner? It should be the background image of an h1. (CSS lets images cache and cuts down on loading time so you don't have to load a 59kb image each time).
Is it possible to make the foreground text transparent or make the background-image of the element appear in front of the text inside the element?
you can use a negative text-indent to do it. i do it on stuff all the time.
h1 { text-indent : -5000px; }
it moves the text off screen, but still allows it to be read by screen readers (display:none doesn't, the most common screen reader out there (JAWS) will ignore the text as if it weren't there at all).
I have a solution for IE5. I've posted in detail on my blog ( http://www.eingko.net/blog/?p=16); the solution is basically this:
Because IE5 is pushing the image off the screen -9000px or whatever, just place the background at 9000px and use a hack (or conditional comments) to filter it out from other browsers. Neat, eh?