Mit dem Fortschritt von WAI-ARIA sollten Sie bei der Verwendung von Schriftsymbolen wahrscheinlich eine Kombination der folgenden Elemente verwenden, um die Barrierefreiheit zu verbessern:
- Die Rollenpräsentation zum Entfernen der impliziten nativen Rollensemantik des Elements. Dies ist besonders wichtig, wenn Sie (ab) ein Element mit einer nativen Semantik verwenden, um Symbole bereitzustellen, wie dies in Ihrem Beispiel der Fall ist, wenn Sie das i- Element verwenden (das gemäß den Spezifikationen "eine Textspanne mit einer alternativen Stimme darstellt oder Stimmung [...] " ).
- Eine Arie-Label einen String - Wert zur Verfügung zu stellen, die das Element Etiketten -oder einer nativen HTML - Titel - Attribut , wenn Sie OK mit dem Browser angezeigt wird ein Tooltip, wenn schwebte.
- Ein arienverstecktes Attribut zum Ausblenden generierter Inhalte vor Hilfstechnologien (da Sie eine Symbolschriftfamilie verwenden, gibt es ein generiertes Zeichen: vor oder nach). Nach den Angaben:
Autoren KÖNNEN mit Vorsicht aria-hidden verwenden , um sichtbar gerenderte Inhalte nur dann vor unterstützenden Technologien zu verbergen, wenn durch das Ausblenden dieser Inhalte die Benutzererfahrung unterstützender Technologien verbessert werden soll, indem redundante oder fremde Inhalte entfernt werden. Autoren, die aria-hidden verwenden, um sichtbare Inhalte vor Screenreadern zu verbergen, MÜSSEN sicherstellen, dass identische oder gleichwertige Bedeutungen und Funktionen unterstützenden Technologien ausgesetzt sind.
Ich kenne Ihren genauen Anwendungsfall nicht, daher erlaube ich mir, den einfacheren Fall der Angabe einer Telefonnummer zu verwenden. In absteigender Reihenfolge der Präferenzen würde ich verwenden:
<span aria-label="Our phone number">
<span class="icon-phone" aria-hidden="true"></span>
+33 7 1234576
</span>
(or any variation implying:
- an `i` element with a `role` presentation attribute
instead of the inner `span` element
- a `title` attribute instead of an `aria-label` attribute)
<span class="icon-phone"
aria-label="Our phone number">+33 7 1234576</span>
(or any variation using `title` instead of `aria-label`)
<i class="icon-phone" role="presentation"
aria-label="Our phone number">+33 7 1234576</i>
(or any variation using `title` instead of `aria-label`)
Bitte beachten Sie, dass die Attribute aria-label und title den Inhalt des Elements beschreiben sollten . Nicht das nächste Geschwisterelement. Also ich wie die folgende Lösung fühlen , ist nicht mit den Spezifikationen gemäß (auch wenn die meisten Eingabehilfen tatsächlich das gleiche beobachtbare Verhalten , als ob die Telefonnummer tatsächlich innerhalb der waren hätte span
Element):
<span class="icon-phone"
title="Our phone number"></span>+33 7 1234576
.sr-only
auf einem separaten<span>
.