ARIA attributes help assistive technologies understand information that is not always obvious from a custom interface. The aria-setsize attribute reports number of items in a set when only some are in the DOM.
What it communicates
Reports number of items in a set when only some are in the DOM. This information becomes part of the accessibility representation of the page, so it may help people using screen readers or other assistive tools.
An ARIA attribute does not usually change what you see on screen. It also does not automatically add keyboard handling, validation, or scripted state changes.
Example with accessible markup
<ul role="listbox" aria-label="Lessons">
<li role="option" aria-setsize="20" aria-posinset="3">Lesson 3</li>
</ul>
Reading the example
Notice the aria-setsize setting and the element or role it describes: option. If the value refers to another element, that other element needs a matching id.
Do not use setsize to override a regular complete HTML list without a reason.
When is it appropriate?
Use aria-setsize when this information is genuinely needed and the chosen role supports it. Before adding ARIA, check whether a native HTML element already expresses the same meaning. Native buttons, forms, tables, and progress controls usually need less custom code.
If a script changes the state of the interface, update the ARIA state at the same time. The screen reader’s description and the visible behavior should always agree.
Quick accessibility test
Try the example using only your keyboard. Inspect the accessibility tree and check whether the role, name, and state are what you expect. For an interactive control, confirm that the actual behavior matches its announced state.
Common Beginner Mistakes
- Do not use setsize to override a regular complete HTML list without a reason.
- Adding ARIA to an element that already has the right native semantics, without a clear reason.
- Changing the visual state of an interface without updating its ARIA state.
Key Takeaways
aria-setsizereports number of items in a set when only some are in the DOM.- Do not use setsize to override a regular complete HTML list without a reason.
- Correct native HTML comes first; ARIA fills gaps rather than replacing working behavior.