Zugängliche SVG-Icons

Avatar of Chris Coyier
Chris Coyier am

DigitalOcean bietet Cloud-Produkte für jede Phase Ihrer Reise. Starten Sie mit 200 $ kostenlosem Guthaben!

Die Antwort auf die Frage, *„Was ist das barrierefreiste HTML für ein SVG-Icon?“*, ist nicht allgemeingültig, da die Bedürfnisse eines Icons auf einer Website variieren. Ich halte viel von Heather Migliorisis Forschung zu diesem Thema, aber ich kann sie zusammenfassen. Extrem kurz: Verstecken Sie es, wenn es dekorativ ist, geben Sie ihm einen Titel, wenn es eigenständig ist, lassen Sie den Link die Arbeit machen, wenn es ein Link ist. Hier sind diese drei Möglichkeiten

Das Icon ist dekorativ

Das heißt, das Icon ist nur da, um hübsch auszusehen, aber es spielt keine Rolle, wenn es komplett verschwinden würde. Wenn das der Fall ist

<svg aria-hidden="true" ... ></svg>

Es ist nicht nötig, das Icon anzukündigen, da die daneben stehende Beschriftung die Arbeit bereits erledigt. Anstatt es vorzulesen, verstecken wir es also vor Screenreadern. So erfüllt die Beschriftung ihren Zweck, ohne dass das SVG stört.

Das Icon ist eigenständig

Damit meinen wir, dass das Icon keine sichtbare Textbeschriftung begleitet und für sich allein eine sinnvolle Aktion auslöst. Das ist knifflig. Es ist im Laufe der Zeit besser geworden, und für moderne Browser reicht

<svg role="img"><title>Good Label</title> ... </svg>. 

Das funktioniert für ein SVG innerhalb eines <button>, zum Beispiel, oder wenn das SVG selbst die "Button"-Rolle spielt.

… und der Link die sinnvolle Aktion ist. Wichtig ist, dass der Link guten Text hat. Wenn der Link sichtbaren Text hat, dann ist das Icon dekorativ. Wenn das SVG der Link ist, der in einen <a> (statt eines internen SVG-Links) eingeschlossen ist, dann geben Sie ihm eine barrierefreie Beschriftung, wie z. B.

<a href="/" aria-label="Good Label"><svg aria-hidden="true" ... ></svg></a>

… oder haben Sie einen <span class="screen-reader-only"> Text innerhalb des Links und des versteckten SVG.


Ich glaube, das stimmt mit den Ratschlägen nicht nur von Heather überein, sondern auch mit denen von Sara, Kitty und Florens.