Es hat keine - content wirkt nur in Verbindung mit :before/:after-Pseudoelementen.
Auch wenns blöd klingt, aber der IE machts trotzdem...
Ich würde diesen Fall abgesehen von der Frage, wieso nicht einfach das alt-Attribut setzen, entweder JS einsetzen oder noch ein zweites <h1> einsetzen, welches dann den Text hat und per display:none versteckt wird.
display:none ist ungeschickt. Die meisten Screenreader werten CSS aus und wüürden bei display:none den Inhalt verbergen.
Statt dessen ist es besser mit text-indent oder mit Positionierung left:-999em zu arbeiten. Screenreader missachten solche Angaben eher.
Es ist extrem schwierig hier den bseten Kompromiss zu finden. Ich schlage vor, die erkundigst dich bei speziellen Betroffenengruppen, die ihre eigenen Foren haben:
http://www.rnib.org.uk/wacblog/
mfg Beat