| <html> |
| <head> |
| <script src="../resources/js-test.js"></script> |
| <script src="../resources/accessibility-helper.js"></script> |
| </head> |
| <body> |
| |
| <table id="table1" role="table"> |
| <tr id="firstRow"><td>a</td><td>b</td><td>c</td></tr> |
| </table> |
| |
| <script> |
| function outputTableRows(axTable) { |
| let output = ""; |
| for (let i = 0; i < axTable.rowCount; ++i) |
| output += axTable.rowAtIndex(i).domIdentifier + "\n"; |
| return output; |
| } |
| |
| if (window.accessibilityController) { |
| window.jsTestIsAsync = true; |
| let output = ""; |
| |
| let axTable = accessibilityController.accessibleElementById("table1"); |
| output += `Original number of rows: ${axTable.rowCount}\n`; |
| output += outputTableRows(axTable); |
| |
| // Create and apend a new row to table. |
| let table = document.getElementById("table1"); |
| let row = document.createElement("tr"); |
| row.id = "secondRow"; |
| let td1 = document.createElement("td"); |
| td1.appendChild(document.createTextNode("d")); |
| row.appendChild(td1); |
| let td2 = document.createElement("td"); |
| td2.appendChild(document.createTextNode("e")); |
| row.appendChild(td2); |
| let td3 = document.createElement("td"); |
| td3.appendChild(document.createTextNode("f")); |
| row.appendChild(td3); |
| table.appendChild(row); |
| |
| setTimeout(async () => { |
| await waitFor(() => { return axTable.rowCount == 2; }); |
| output += `Number of rows after appending 1 row: ${axTable.rowCount}\n`; |
| output += outputTableRows(axTable); |
| |
| // Remove first row. |
| table.removeChild(table.childNodes[1]); |
| |
| await waitFor(() => { return axTable.rowCount == 1; }); |
| output += `Number of rows after removing first row: ${axTable.rowCount}\n`; |
| output += outputTableRows(axTable); |
| |
| debug(output); |
| finishJSTest(); |
| }, 0); |
| } |
| </script> |
| </body> |
| </html> |