A grid(role) is used to present the elements in the required form such as tables, charts, tree items etc. A grid(role) can also be used to form a relation between the elements. For instance to form a relation with the cells in a table a grid(role) is used. A grid is a table with rows and columns which can be editable. Each cell is considered to be a grid cell. The grid(role) and grid cell (role) form relationship with the group role. In tables rowgroup(role) plays the similar role as group(role) to group the rows and the row(role) will be in-charge for grouping the grid cells (role).
ARIA-owns(property) is used to form the relation between the parent element and its child element. In the above context grid cells will be owned by rows, Rows will be owned by rowgroups and rowgroups will be owned by grid.
Generally screen readers will recognize the data table as a table. Now arises a question “Why should we have a grid (role) for a table? Use grid (role) for interactive tables. Content authors can help the screen readers by differentiating a interactive data table and a general data table using grid (role).
Where ever possible use the host mark-up to form relations adding ARIA roles and properties to aid the users of assistive technologies.