The HTML aria-colindex attribute
The aria-colindex attribute states a cell's (or column header's) column position within the full table — counting from 1 — when the grid does not render every column. Use it with aria-colcount.
Overview
The aria-colindex attribute defines a cell or column's position within the total columns of a table or grid.
It exposes table or grid structure to assistive technology. You generally only need it when you build a custom grid (role="grid") or when a native <table> cannot express the structure — for example a grid whose rows are virtualized and not all present in the DOM. A real <table> with <th> headers conveys most of this automatically.
Like all ARIA, aria-colindex changes only the accessibility tree — what assistive technology perceives — never the element's behavior or appearance. The first rule of ARIA applies: if a native HTML element or attribute conveys this, use that instead, and only reach for ARIA when nothing native fits.
Syntax
<td role="gridcell" aria-colindex="12"> … </td>
Values
| Value |
|---|
| An integer greater than or equal to 1. |
Example
<tr role="row"><td role="gridcell" aria-colindex="5">Value</td></tr>
Best practices
- Follow the first rule of ARIA — use a native HTML element or attribute that conveys this where one exists, rather than adding ARIA.
- Use a native <table> with <th> headers where possible — it conveys most structure for free.
- Reach for these attributes on a custom grid, or when rows and columns are not all in the DOM.
- Keep the index and count values accurate as the grid changes.