Version: Chrome 61.
1. Create an HTML table and use aria-colindex to mark all the cells with their corresponding column number.
2. Create a header row with <th> ... </th>.
3. Mark the table with role="grid" and the cells in all but the first row with tabindex="0" to make them interactive.
4. Create a button that will hide some of the columns of the table when pressed.
5. Start Jaws 18.
6. Press the button that hides the columns.
7. Find a cell and press enter to go into forms mode.
8. Press tab and shift+tab to go back into the cell.
9. Observe that the wrong column header is being read.
Cause: When cells are added or removed, ui::AX_ATTR_TABLE_CELL_IDS and related table attributes are not updated. IAccessibleTableCell::get_columnHeaderCells works on the IDs that were stored before the columns where hidden, thus returning the wrong column headers.
Comment 1 by bugdroid1@chromium.org
, Jun 27 2017