Si entiendo tus mensajes buzu y no debato que el esta usando imágenes de botones, a lo que voy yo, como tu dices, es que use CSS en el caso de que se use un enlace. Mira voy a hacer una comparación del enlace con fondo de imágen con CSS y la imágen con enlace y evento JS.
- Si el CSS se degradada, no se muestra el fondo pero el enlace sigue funcionando como texto.
- Si el JS se degrada, se muestra la imagen como (X)HTML y el enlace sigue funcionando.
- Si la imagen se degrada, con CSS no se muestra el fondo pero el enlace sigue funcionando como texto.
- Si la imagen se degrada, con JS no se muestra la imagen y se muestra el texto alternativo (muy feo) pero el enlace sigue funcionando.
En ambos casos la accesibilidad es constante, eso es claro. La diferencia de estos es que el CSS tiene menos probabilidades de degradarse que el JS, además que las imágenes son para representar gráficos, ilustraciones, etc. y no deberiamos utilizarlos para un "boton lindo" con un texto, pues los botones solo sirven para llevarte a un enlace especifico y debemos cumplir con su tarea como enlace sin agregarle cosas que aunque no dispongamos de javascript sigan viendose lindos, por lo que considero que debería usarse siempre CSS para los botones y no JS.
Bueno esa es mi recomendación (y aporte) si no no lo notaste, y como te dije antes, no debato que el usa imagenes como botones.