1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/accessible/tests/mochitest/table/test_struct_ariagrid.html Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,149 @@ 1.4 +<!DOCTYPE html> 1.5 +<html> 1.6 + 1.7 +<head> 1.8 + <title>Table accessible tree and table interface tests for ARIA grid</title> 1.9 + <link rel="stylesheet" type="text/css" 1.10 + href="chrome://mochikit/content/tests/SimpleTest/test.css" /> 1.11 + 1.12 + <script type="application/javascript" 1.13 + src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script> 1.14 + 1.15 + <script type="application/javascript" 1.16 + src="../common.js"></script> 1.17 + <script type="application/javascript" 1.18 + src="../role.js"></script> 1.19 + <script type="application/javascript" 1.20 + src="../table.js"></script> 1.21 + 1.22 + <script type="application/javascript"> 1.23 + function doTest() 1.24 + { 1.25 + ////////////////////////////////////////////////////////////////////////// 1.26 + // Pure ARIA grid 1.27 + var cellsArray = [ 1.28 + [kColHeaderCell, kColHeaderCell, kColHeaderCell], 1.29 + [kRowHeaderCell, kDataCell, kDataCell], 1.30 + [kRowHeaderCell, kDataCell, kDataCell] 1.31 + ]; 1.32 + 1.33 + testTableStruct("table", cellsArray); 1.34 + 1.35 + ////////////////////////////////////////////////////////////////////////// 1.36 + // HTML table based ARIA grid 1.37 + cellsArray = [ 1.38 + [kColHeaderCell, kColHeaderCell, kColHeaderCell], 1.39 + [kDataCell, kDataCell, kDataCell], 1.40 + [kDataCell, kDataCell, kDataCell] 1.41 + ]; 1.42 + 1.43 + testTableStruct("grid", cellsArray); 1.44 + 1.45 + ////////////////////////////////////////////////////////////////////////// 1.46 + // ARIA grid with HTML table elements 1.47 + cellsArray = [ 1.48 + [kColHeaderCell, kColHeaderCell], 1.49 + [kDataCell, kDataCell] 1.50 + ]; 1.51 + 1.52 + testTableStruct("grid2", cellsArray); 1.53 + 1.54 + ////////////////////////////////////////////////////////////////////////// 1.55 + // ARIA grid of wrong markup 1.56 + cellsArray = [ ]; 1.57 + testTableStruct("grid3", cellsArray); 1.58 + 1.59 + cellsArray = [ [] ]; 1.60 + testTableStruct("grid4", cellsArray); 1.61 + 1.62 + SimpleTest.finish(); 1.63 + } 1.64 + 1.65 + SimpleTest.waitForExplicitFinish(); 1.66 + addA11yLoadEvent(doTest); 1.67 + </script> 1.68 +</head> 1.69 + 1.70 +<body> 1.71 + <a target="_blank" 1.72 + title="ARIA grid based on HTML table" 1.73 + href="https://bugzilla.mozilla.org/show_bug.cgi?id=491683">Mozilla Bug 491683</a> 1.74 + <a target="_blank" 1.75 + title="implement IAccessibleTable2" 1.76 + href="https://bugzilla.mozilla.org/show_bug.cgi?id=512424">Mozilla Bug 512424</a> 1.77 + <a target="_blank" 1.78 + title="nsHTMLTableCellAccessible is used in dojo's crazy ARIA grid" 1.79 + href="https://bugzilla.mozilla.org/show_bug.cgi?id=513848">Mozilla Bug 513848</a> 1.80 + <a target="_blank" 1.81 + title="Crash [@ AccIterator::GetNext()]" 1.82 + href="https://bugzilla.mozilla.org/show_bug.cgi?id=675861">Mozilla Bug 675861</a> 1.83 + 1.84 + <p id="display"></p> 1.85 + <div id="content" style="display: none"></div> 1.86 + <pre id="test"> 1.87 + </pre> 1.88 + 1.89 + <!-- Not usual markup to avoid text accessible between cell accessibles --> 1.90 + <div id="table" role="grid"> 1.91 + <div role="row"><span 1.92 + id="table_ch_1" role="columnheader">col_1</span><span 1.93 + id="table_ch_2" role="columnheader">col_2</span><span 1.94 + id="table_ch_3" role="columnheader">col_3</span></div> 1.95 + <div role="row"><span 1.96 + id="table_rh_1" role="rowheader">row_1</span><span 1.97 + id="table_dc_1" role="gridcell">cell1</span><span 1.98 + id="table_dc_2" role="gridcell">cell2</span></div> 1.99 + <div role="row"><span 1.100 + id="table_rh_2" role="rowheader">row_2</span><span 1.101 + id="table_dc_3" role="gridcell">cell3</span><span 1.102 + id="table_dc_4" role="gridcell">cell4</span></div> 1.103 + </div> 1.104 + 1.105 + <table role="grid" id="grid" border="1" cellpadding="10" cellspacing="0"> 1.106 + <thead> 1.107 + <tr role="row"> 1.108 + <th role="columnheader">subject</td> 1.109 + <th role="columnheader">sender</th> 1.110 + <th role="columnheader">date</th> 1.111 + </tr> 1.112 + </thead> 1.113 + <tbody> 1.114 + <tr role="row"> 1.115 + <td role="gridcell" tabindex="0">about everything</td> 1.116 + <td role="gridcell">president</td> 1.117 + <td role="gridcell">today</td> 1.118 + </tr> 1.119 + <tr role="row"> 1.120 + <td role="gridcell">new bugs</td> 1.121 + <td role="gridcell">mozilla team</td> 1.122 + <td role="gridcell">today</td> 1.123 + </tr> 1.124 + </tbody> 1.125 + </table> 1.126 + 1.127 + <!-- ARIA grid containing presentational HTML:table with HTML:td used as ARIA 1.128 + grid cells (focusable and not focusable cells) --> 1.129 + <div role="grid" id="grid2"> 1.130 + <div role="row"> 1.131 + <table role="presentation"> 1.132 + <tr> 1.133 + <td role="columnheader">header1</td> 1.134 + <td role="columnheader">header2</td> 1.135 + </tr> 1.136 + </table> 1.137 + </div> 1.138 + <div role="row"> 1.139 + <table role="presentation"> 1.140 + <tr> 1.141 + <td role="gridcell">cell1</td> 1.142 + <td role="gridcell" tabindex="-1">cell2</td> 1.143 + </tr> 1.144 + </table> 1.145 + </div> 1.146 + </div> 1.147 + 1.148 + <!-- Wrong markup ARIA grid --> 1.149 + <div role="grid" id="grid3"></div> 1.150 + <div role="grid" id="grid4"><div role="row"></div></div> 1.151 +</body> 1.152 +</html>