Working with Table Reading Order
| Attribute | Usage |
|---|---|
| ReadOrder | The attribute is optional. It must be defined as either row by row or column by column to specify how the table will be read. If the attribute is not present, the table is read row by row. The ReadOrder attribute is honored only for Layout tables. |
One important accessibility feature is the ability to define the reading order of information contained in tables as either row-by-row order or column-by-column order. In the Requirements.xml, this is handled through the read order attribute associated with the table element in the REQ.
In the table element, a ReadOrder attribute is used to specify the read order for a given table as either row by row (RowByRow) or column by column (ColumnByColumn). This is used to define the order that tables are read by screen reader applications.
The ReadOrder attribute provides two options; Column by Column and Row by Row reading. The attribute value defaults to No Value; if the attribute value is left as No Value, the default row by row order is used just as if the attribute was not present on the table element.
Layout tables with the presence of both the ReadOrder and Colspan attributes will be honored and tags will be created for the colspan cell contents and for each spanning column in the tag tree structure so it reads in logical order.


ColumnByColumn
- Read order continues down the first column, reading all cells, then continues down the next column, including the spanned value from the previous column.
- Read order continues as expected when the contents of a cell contains another table that is read row by row.
- Read order continues as expected when a table (layout or data) cell contains a table that is marked ColumnByColumn.