1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
4 <script type="text/javascript" charset="utf-8">
6 var choices = ['foo', 'bar', 'baz', 'baf', 'bop', 'bip'];
9 return document.getElementById(id);
11 function node(tagName, role){
12 var el = document.createElement(tagName);
13 el.setAttribute('role', role);
20 d.innerHTML = ''; // clear it out first
21 for (var i=0; i<3; i++){
22 var row = node('tr', 'row');
24 for (var j=0; j<3; j++){
25 var cell = node('tr', 'gridcell');
26 cell.innerHTML = choices[Math.floor(Math.random()*choices.length)]; // populate cell with a random entry from 'choices' array: 'foo', 'bar', 'baz', etc.
27 row.appendChild(cell);
33 <script src="../../../fast/js/resources/js-test-pre.js"></script>
37 <div role="grid" tabindex=0 id="grid1">
40 <span role="columnheader">A</span>
41 <span role="columnheader">B</span>
42 <span role="columnheader">C</span>
45 <div role="rowgroup" id="myData"><!-- to be populated by script --></div>
48 <p id="description"></p>
49 <div id="console"></div>
53 description("This tests that when a table has its DOM changed, all the table method still return the correct data.");
55 if (window.accessibilityController) {
59 document.getElementById("grid1").focus();
60 var grid = accessibilityController.focusedElement;
61 var rows = grid.rowCount;
62 var columns = grid.columnCount;
65 // this used to crash in debug mode.
66 shouldBe("rows", "grid.rowCount");
67 shouldBe("columns", "grid.columnCount");
69 // clear out the data so that we get the same end results for our layout test.
77 <script src="../../../fast/js/resources/js-test-post.js"></script>