Qué tal sino la clase visuallyhidden de HTML5 Boilerplate?
Código CSS:
Ver original/*
* Hide only visually, but have it available for screenreaders: h5bp.com/v
*/
.visuallyhidden {
border: 0;
clip: rect(0 0 0 0);
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute;
width: 1px;
}
/*
* Extends the .visuallyhidden class to allow the element to be focusable
* when navigated to via the keyboard: h5bp.com/p
*/
.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
clip: auto;
height: auto;
margin: 0;
overflow: visible;
position: static;
width: auto;
}
Fuente:
https://github.com/h5bp/html5-boiler.../main.css#L147
Para este ejemplo particular como bien dice pzin me inclinaría por el atributo title o inclusive el alt de la img. Pero para ocultar texto visualmente uso la clase presentada arriba.