| <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> |
| <html> |
| <head> |
| <script src="../../resources/js-test-pre.js"></script> |
| </head> |
| <body id="body"> |
| |
| <div tabindex=0 id="grid" role="grid" aria-readonly="true"> |
| <div role="presentation"> |
| <table role="presentation"> |
| <thead> |
| <tr> |
| <th role="columnheader" aria-sort="ascending"> </th> |
| <th role="columnheader">Name</th> |
| <th role="columnheader">Time</th> |
| <th role="columnheader">Popularity</th> |
| <th role="columnheader"> Price</th> |
| </tr> |
| </thead> |
| |
| <tbody> |
| <tr role="row"> |
| <td role="gridcell"> |
| <span class="index"><span>1</span></span> |
| </td> |
| <td role="gridcell""> |
| <span><span>Test</span></span> |
| </td> |
| <td role="gridcell""> |
| <span><span>Test</span></span> |
| </td> |
| <td role="gridcell""> |
| <span><span>Test</span></span> |
| </td> |
| </tr> |
| </table></div></div> |
| <p id="description"></p> |
| <div id="console"></div> |
| |
| <script> |
| |
| description("This tests that an ARIA grid with a hierarchy that ignores render elements in between will still expose the correct elements."); |
| |
| if (window.accessibilityController) { |
| |
| // this text field should be required. |
| document.getElementById("grid").focus(); |
| var grid = accessibilityController.focusedElement; |
| |
| shouldBe("grid.childrenCount", "6"); |
| shouldBe("grid.childAtIndex(0).role", "'AXRole: AXRow'"); |
| shouldBe("grid.childAtIndex(1).role", "'AXRole: AXColumn'"); |
| |
| shouldBe("grid.childAtIndex(0).childrenCount", "4"); |
| shouldBe("grid.childAtIndex(0).childAtIndex(0).role", "'AXRole: AXCell'"); |
| |
| shouldBe("grid.childAtIndex(0).childAtIndex(0).role", "'AXRole: AXCell'"); |
| shouldBe("grid.childAtIndex(0).childAtIndex(0).childAtIndex(0).role", "'AXRole: AXStaticText'"); |
| shouldBe("grid.childAtIndex(0).childAtIndex(0).childAtIndex(0).stringValue", "'AXValue: 1'"); |
| |
| } |
| </script> |
| |
| <script src="../../resources/js-test-post.js"></script> |
| </body> |
| </html> |