Replacing the -9999px hack shows a simple way to replace text with images that doesn't use the text-indent:-9999px hack.
It simply uses the following CSS:
.hide-text {
text-indent: 100%;
white-space: nowrap;
overflow: hidden;
}
Very simple and avoids the 2 problems with the other technique – very long lines of text can flow into the container, and apparently (I've never hard this before) the old way can be slow on devices such as the iPad 1.