Tak najlepszy, daj też normalny link tekstowy, z prawdziwym tekstem a nie byle co, nie będzie go widać (tekstu) bo zostanie podmieniony w css na obrazek, ale tak jest bardziej prawidłowo aby link był normalny tekstowy też.
Tak jest najlepiej. Użytkownik widzi strzałę w prawo (background), wszelkie czytniki czytają “w prawo”. Metoda left: -X, nazywa się Off-left. Chcesz to poszukaj o tym. A wszystkie dodatkowe parametry są po to, żeby czytniki na pewno mogły działać, a przeglądarki nie sypały artefaktami.
Skoro tak się upieracie, to najlepiej wstawić normalnie obrazek, a :hover robić za pomocą JS, bo skoro i tak już się go używa, żeby obsługiwać slider, do którego miałaby być dołożona ta strzałka, to można go użyć to zmiany obrazka po najechaniu.
W twoim sposobie też użytkownik pozostanie bez obrazka, więc koniec końców nie da się tego optymalnie zrobić. Bo co do tego powyżej - tak, jeśli użytkownik wyłączy JS to nie będzie działać. Nie można więc zawsze zakładać skrajnych przypadków.
Jedyne sensowne rozwiązanie w takim razie się wydaje następujące:
narysować tą strzałkę w CSS. Ale - oczywiście - jest to wtedy niepoprawne, bo otrzymamy puste elementy.