aria-setsize
Nombre total d'éléments dans un ensemble lorsque le DOM ne les contient pas tous. S'associe à aria-posinset pour qu'un lecteur d'écran puisse annoncer « élément 14 sur 5 000 » même si seulement cinq sont rendus. Utilisez -1 si le total est inconnu.
Quand l’utiliser
Chaque fois que vous utilisez aria-posinset. Les deux attributs forment une paire : la position est sans signification sans le total. Les cas courants sont les listes virtualisées, les grilles paginées, les comboboxes filtrés et les fils de contenu à défilement infini — partout où le DOM ne contient qu’une fenêtre sur une collection plus grande.
Valide sur les éléments à l’intérieur de conteneurs intrinsèquement organisés en ensembles : option, menuitem, treeitem, tab, row, article dans un feed. L’attribut se place sur les éléments, pas sur le conteneur.
Comment il se comporte
La valeur est un entier. Utilisez le total réel quand vous le connaissez. Utilisez -1 quand le total est genuinement illimité ou inconnu — un fil de recherche en direct qui continue de charger des résultats, par exemple. Certains lecteurs d’écran annoncent -1 comme « nombreux » ou omettent simplement le décompte ; d’autres reviennent silencieusement au nombre d’éléments frères.
Mettez à jour aria-setsize chaque fois que l’ensemble sous-jacent change : un nouveau filtre, un tri, une ligne supprimée. Chaque élément de la fenêtre visible doit porter la même valeur aria-setsize ; des valeurs incohérentes entre éléments frères produisent des annonces déroutantes comme « 1 sur 10 » puis « 2 sur 9 ».
Erreurs fréquentes
- Définir
aria-setsizesur le conteneur plutôt que sur chaque élément. L’attribut est par élément. - Oublier de mettre à jour la valeur après un filtre ou un tri, de sorte que l’utilisateur entend le total non filtré même si de nombreux résultats ne sont plus accessibles.
- Valeurs
aria-setsizeincohérentes entre éléments frères — un élément indique100, le suivant indique99. - Utiliser
aria-setsizesur des éléments dont le conteneur inclut déjà tous les éléments dans l’ordre du DOM. La technologie d’assistance comptait correctement ; l’ajout de l’attribut introduit une divergence. - Valeurs nulles ou négatives autres que
-1. Seuls les entiers positifs et-1sont significatifs. - Oublier
aria-posinset.aria-setsizeseul indique à l’utilisateur combien d’éléments existent, mais pas où il se trouve.
Exemple
<!-- Arborescence où les enfants chargés paresseusement sont ajoutés à mesure que l'utilisateur développe les branches -->
<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 autres, chargés paresseusement à mesure que l'utilisateur fait défiler -->
</ul>