Skip to main content
WCAGrules
Quick navigation

ARIA property

aria-rowcount

How many rows the table really has, when only some are rendered.

It tells a screen reader the height of the real table rather than of the rendered window, which is what makes an announcement like row 40 of 900 possible in a virtualised grid.

Which roles may carry aria-rowcount

Value
integer
Filed as
A property, which is how ARIA files it and not a rule about how often it changes.
Roles that may carry it
table
Roles that inherit it
grid, treegrid

Those lists are not advice. Browsers are required to ignore a non-global attribute sitting on a role that does not support it, so aria-rowcount on the wrong element is not weak, it is absent. You can read it in the DOM and nobody using a screen reader can.

Every role above comes from the specification's own list for this attribute, checked name for name. The normative definition stays with the W3C, in the aria-rowcount section of the ARIA specification.

Keeping aria-rowcount true

The number has to follow the data, so filtering, paging and loading more all have to write it again. Where the total genuinely is not known, the spec gives you -1 to say so, and that is the honest answer for an endless feed. A stale total is the worse of the two failures, because it sounds precise. Pair it with aria-rowindex on the rows, since a total on its own places nobody anywhere.

How aria-rowcount gets checked

There are test rules that check an ARIA attribute is one that exists, is allowed on the role underneath it, and carries a value of the right type. What they map to is ARIA's own author requirements rather than any WCAG criterion, so a misplaced attribute breaks ARIA without being a WCAG failure by itself. It becomes one under 4.1.2 Name, Role, Value the moment the missing or wrong value means the control's state cannot be worked out programmatically, which is what usually happens next.

Nothing automated catches the failure this page is about. A stale value is a valid value, on a permitted role, with the right type. It is only wrong about the world.

Attributes you will meet alongside aria-rowcount

  • aria-colcount How many columns a table really has, when only some are rendered.

Every ARIA state and property · Every ARIA role · ARIA explained

Go somewhere useful

Find tools, resources and your workspace.

29 destinations