A part from supporting automatic column header reading via bookmarks, NVDA also searches for rows that are marked as being a header row, and includes them as well.
However, for large tables, for instance 300 rows or more, NVDA will freeze for an extremely long time, and may stop reading table information all together.
The reason for this is that NVDA walks down the rows until it finds a row marked as a header row. It does this out-of-process which is very slow.
Documentation for Microsoft Word states that when setting a header row, the top row must be included. Therefore, we should change NVDA so that it only walks down rows while it is on a header row. I.e. Either the top row, plus 1 or more further rows are the header rows, or there are none at all.
Incubated in ce9a7e6.
In Microsoft Word, NVDA no longer freezes in large tables when report…
…ing of table row/column headers is enabled.
When searching for possible header rows in a table, only keep searching if the previous row was a header row. I.e. Only the first row, and 0 or more adjacent rows can be the header rows.