Die Antwort ist ja, assistive Technologien funktionieren gut, wenn korrekte semantische Markup für die Strukturierung des Dokuments verwendet wird. Wenn es sich um eine einfache statische Liste handelt, müssen diese nicht mit den Rollen markiert werden.
Zum Beispiel: Betrachten Sie die role="listitem", deren baseConcept als HTML li definiert ist. Und das baseConcept HTML li ist fast identisch mit der Definition von role = "listitem", abgesehen von der Tatsache, dass es keine Eigenschaften erbt. Mehr info
Daher betrachten wir folgendes Beispiel:
<h3 id="header">Vegetables</h3>
<ul role="list" aria-labelledby="header" aria-owns="external_listitem">
<li role="listitem" aria-level="3">Carrot</li>
<li role="listitem" aria-level="3">Tomato</li>
<li role="listitem" aria-level="3">Lettuce</li>
</ul>
…
<div role="listitem" id="external_listitem">Asparagus</div>
Hier ist die Seite Autor will aria-Level-Eigenschaft für das li verwenden. Obwohl aria-labelledby und aria-ownes auf alle Elemente des Basis-Markups angewendet werden können, erfordert die Eigenschaft aria-level, dass das Element eine Rolle hat. Seit ARIA-Spezifikation verwendet Web Ontology Language (OWL), um die Rollen in einer Klassenhierarchie darzustellen. OWL beschreibt diese Rollen als Klassen mit ihren Zuständen und Eigenschaften. Um eine Aria-Ebene zu verwenden, muss das Element eine Rolle definiert werden, da HTML keine Eigenschaften oder Einschränkungen erbt. Sobald Sie die Rolle als Listenelement markiert haben, muss dieses Listenelement einem Element mit role = "list" gehören. Sie verwenden also beide Rollen.
Auf der anderen Seite sind Rollen auch nützlich, wenn semantisches Markup ebenfalls nicht verwendet wird. Zum Beispiel:
<div role="list">
<div role="listitem">dog</div>
<div role="listitem">cat</div>
<div role="listitem">sparrow</div>
<div role="listitem">wolf!</div>
</div>
Hier wird die Screenreader-Software wird die ARIA-Liste (bestehend aus divs) wie jede anderen normalen HTML-Liste anzuzeigen.
Danke @Ravi für die Info. Wenn also ein semantisches Markup verwendet wird, muss keine einfache statische Liste mit Rollen markiert werden. –
Ja, fast immer, aber es hängt wieder von der Accessibility Software ab, die zusammen mit der Browserversion verwendet wird. Wenn Sie also feststellen, dass ein bestimmtes Markup nicht vom Bildschirmleseprogramm gelesen wird, sollte es eine Kombination dieser Rollen verwenden, damit es funktioniert, bis die Software mit diesem Fehler behoben ist. Also nichts ist definitiv nur gründliche Tests. – Ravi
Ich verstehe. Vielen Dank. –