Hallo.
Durch deinen Ansatz habe ich es schon fast. Ich könnte nämlich einen solchen Link so machen wie du es getan hast, und bei hover das Hintergrundbild wechseln. Den Text könnte ich ja trotzdem reintun und mit einem span umschließen und per display: none verstecken. Textbrowser kriegen dann den Text mit einem Lehrzeichen davor und die die das packen kriegen halt das Bild.
Auf Grund von Schwierigkeiten, die einige Vorlese-Browser mit dieser Methode haben -- sie lesen Elemente mit "display:none;" nicht vor -- gibt es inzwischen eine Verfeinerung, die mit einem übergroßen "padding"-Wert arbeitet, der den Text aus dem sichtbaren Bereich herausschiebt. Ergänzend sind natürlich die Bildlauflaufleisten dieses Elementes abzuschalten. Die HTML-Struktur wird von dieser Änderung im Vergleich zu der von dir geschilderten (sog. "FIR") nicht angetastet.
Näheres zu diesem Thema findest du im Archiv oder bei zum Beispiel http://www.mezzoblue.com/.
MfG, at