<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<script src="../resources/js-test-pre.js"></script>
</head>
<body id="body">

<div role="garbage grid" id="grid1">
<div role="row"><div role="gridcell">item1</div></div>
</div>

<div role="   garbage      grid     " id="grid2">
<div role="row"><div role="gridcell">item1</div></div>
</div>

<div role="     grid     " id="grid3">
<div role="row"><div role="gridcell">item1</div></div>
</div>

<p id="description"></p>
<div id="console"></div>

<script>

    description("This tests if an element is using fallback role tokens, it will still become the 'correct' element which will expose the correct attributes.");

    if (window.accessibilityController) {

        for (var k = 1; k < 4; k++) {
           var grid = accessibilityController.accessibleElementById("grid" + k);
           var cell = grid.cellForColumnAndRow(0, 0);
           debug("cell: " + cell.role + ", " + cell.stringValue + "\n");
           if (accessibilityController.platformName != "atspi") {
              var cellChild = cell.childAtIndex(0);
              debug("cellChild: " + cellChild.role + ", " + cellChild.stringValue + "\n");
          }
        }
    }
</script>

<script src="../resources/js-test-post.js"></script>
</body>
</html>
