Ich weiß, dass ich Folgendes tun kann, wenn ich ein Bild in einen klickbaren Link umwandeln möchte:
%Vor%Aber ich würde lieber ein CSS-Hintergrundbild verwenden, damit ich einen Hover-Status haben kann:
%Vor%Das funktioniert gut, außer ich bin mir nicht sicher, ob ein Anker-Link, der nichts enthält, vollständig gültig ist. Chrome macht das genauso wie FF, aber ich bin mir nicht sicher, ob andere gleich sind.
Mir ist klar, dass ich einfach einen Text in den Link einfügen und ihn mit text-indent: -9999px
verstecken könnte, aber ich habe diesen Ansatz nie gemocht, denn verschiedene Gründe . Ist mein Code über Cross-Browser kompatibel?
Es ist gültig, aber es ist am besten, wenn du etwas hineingesteckt hast und etwas wie
benutzt hast %Vor%um es zu verstecken. Wenn jemand kein CSS hat (Screenreader zum Beispiel), kann er immer noch ungefähr sagen, worum es bei dem Link geht.
Es ist überhaupt nicht in Ordnung, da es grundlegende Zugänglichkeitsprinzipien verletzt. Es gibt keine Möglichkeit, alternativen Text für ein Hintergrundbild anzugeben, genauso wie Sie es angeben können und sollten, indem Sie ein alt
-Attribut in einem img
-Tag für ein Inhaltsbild angeben. Siehe WCAG 2.0 Leitfaden 1.1 .
Wenn Sie ein Bild mouseover ändern möchten, gibt es CSS- und JavaScript-Techniken dafür.
Es ist absolut gültig, aber wenn Sie möchten, können Sie ein Leerzeichen einfügen:  
;
Bei Markup.tips haben wir kürzlich einige Tests zur Barrierefreiheit in iOS 8 durchgeführt und festgestellt, dass VoiceOver keine Navigation zu leeren Links anbietet. Es muss mindestens ein geschützter Raum sein. Ob dies als iOS-Bug gewertet werden soll oder nicht, sind wir nicht sicher.