role=text darf nur auf Elemente ohne fokussierbare Nachkommen angewendet werden

Blind Mobilität
WCAG 2.2 Level A
Von Menschen für Menschen geschrieben und recherchiert
Foto des Experten
Ritvik Shrivastava
Fachmännisch überprüft von
Kommentare: 0
Ihre gesamte Domain
Erhalten Sie detaillierte Anweisungen, wie Sie jedes Barrierefreiheitsproblem auf Ihrer Website beheben können

Laut Web-Accessibility-Standards dürfen Elemente mit role=”text” keine fokussierbaren Nachkommen enthalten.

Warum es wichtig ist

Wenn ein Textknoten durch Markup unterbrochen wird, behandelt die VoiceOver-Technologie ihn als zwei separate Phrasen anstelle einer einzigen. Das Hinzufügen von role=”text” um die Elemente löst dieses Problem.

Allerdings überschreibt role=”text” auch die Rolle des Elements und aller seiner Nachkommen, sodass sie nur noch als einfacher Text behandelt werden. Das bedeutet, dass ein Benutzer zwar zum Element navigieren kann, aber VoiceOver weder dessen Namen noch seine Rolle oder seinen Wert ansagt.

Behebung des Problems

Alle Elemente mit role=”text” sollten überprüft werden, um sicherzustellen, dass sie keine fokussierbaren Nachkommen enthalten.

Gutes Codebeispiel

Codebeispiel
<h1><span role="text">Hallo <br/>Welt</span></h1> Kopieren

Schlechtes Codebeispiel

Codebeispiel
<span role="text"> <a href="/site.html">Wird nicht als Link angekündigt</a> </span> Kopieren