g1 is a grid in which the rows are made of div's and the columns of span's. There is a header row and 3 "data" rows. G2 is the same as g1 except that a div with role="rowgroup" is inserted around the data cells.

g1

This works (more or less) as expected.

col1col2col3
r1c1r1c2r1c3
r2c1r2c2r2c3
r3c1r3c2r3c3

g2

NVDA 2012.2rc1 in Firefox 12: identifies the grid as a table with 1 row and 3 columns. When arrowing through the grid the cells are identified with their row and column coordinates (but both the header row and first data cell row are identified as row 1). In row 1 (the header row) table commands navigate only that row. In data row 1 (row 2) right/left cell commands jump to the header row. In other cells prev row jumps to row 1 (the header row) and all other table commands produce "edge of table".

col1col2col3
r1c1r1c2r1c3
r2c1r2c2r2c3
r3c1r3c2r3c3