Standards · ARIA

Eigenschaft Widget-Zustand

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-setsize auf 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-setsize zwischen Geschwisterelementen — ein Eintrag gibt 100 an, der nächste 99.
  • aria-setsize auf 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 -1 sind zulässig.
  • aria-posinset vergessen. aria-setsize allein 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>