aria-setsize
Gesamtanzahl der Einträge in einer Menge, wenn das DOM nicht alle enthält. Wird zusammen mit aria-posinset verwendet, damit ein Screenreader „Eintrag 14 von 5.000“ ankündigen kann, auch wenn nur fünf gerendert werden. Bei unbekannter Gesamtzahl ist -1 zu verwenden.
Verwendung
aria-setsize sollte immer dann eingesetzt werden, wenn aria-posinset verwendet wird. Die beiden Attribute bilden ein Paar: Eine Position ist ohne die Gesamtanzahl bedeutungslos. Typische Anwendungsfälle sind virtualisierte Listen, paginierte Grids, gefilterte Comboboxen und Feeds mit unendlichem Scrollen — überall dort, wo das DOM nur einen Ausschnitt einer größeren Sammlung enthält.
Das Attribut ist gültig auf Einträgen innerhalb von Containern, die von Natur aus mengenartig sind: option, menuitem, treeitem, tab, row sowie article innerhalb eines feed. Das Attribut wird auf den Einträgen gesetzt, nicht auf dem Container.
Verhalten
Der Wert ist ein Integer. Bei bekannter Gesamtzahl sollte der tatsächliche Wert verwendet werden. Bei einer echten unbegrenzten oder unbekannten Gesamtzahl — etwa ein Live-Suchfeed, der weiter lädt — ist -1 zu verwenden. Einige Screenreader kündigen -1 als „viele“ an oder lassen die Zahl ganz weg; andere greifen stillschweigend auf die Anzahl der Geschwisterkindelemente zurück.
aria-setsize muss immer aktualisiert werden, wenn sich die zugrunde liegende Menge ändert: nach einem neuen Filter, einer Sortierung oder einem gelöschten Eintrag. Jeder Eintrag im sichtbaren Fenster muss denselben aria-setsize-Wert tragen; inkonsistente Werte zwischen Geschwisterelementen erzeugen verwirrende Ankündigungen wie „1 von 10“, gefolgt von „2 von 9“.
Häufige Fehler
aria-setsizeauf dem Container statt auf jedem einzelnen Eintrag setzen. Das Attribut gilt pro Eintrag.- Vergessen, den Wert nach einem Filter oder einer Sortierung zu aktualisieren, sodass der Nutzer die ungefilterte Gesamtzahl hört, obwohl viele Ergebnisse nicht mehr erreichbar sind.
- Inkonsistentes
aria-setsizezwischen Geschwisterelementen — ein Eintrag gibt100an, der nächste99. aria-setsizeauf Einträgen verwenden, deren Container bereits alle Einträge in DOM-Reihenfolge enthält. Die assistive Technologie hat korrekt gezählt; das Hinzufügen des Attributs führt zu Abweichungen.- Null oder andere negative Werte als
-1. Nur positive Integer und-1sind zulässig. aria-posinsetvergessen.aria-setsizeallein teilt dem Nutzer mit, wie viele Einträge existieren, aber nicht, wo er sich befindet.
Beispiel
<!-- Baumstruktur, bei der lazy-geladene Kinder beim Aufklappen hinzugefügt werden -->
<ul role="tree" aria-label="Files">
<li
role="treeitem"
aria-level="2"
aria-posinset="1"
aria-setsize="248"
>
invoice-001.pdf
</li>
<li
role="treeitem"
aria-level="2"
aria-posinset="2"
aria-setsize="248"
>
invoice-002.pdf
</li>
<!-- 246 weitere, lazy-geladen beim Scrollen -->
</ul>