Changeset 154309 in webkit
- Timestamp:
- Aug 19, 2013 5:53:03 PM (11 years ago)
- Location:
- trunk/LayoutTests
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r154308 r154309 1 2013-08-19 James Craig <james@cookiecrook.com> 2 3 <https://webkit.org/b/118754> AX: aria-required.html needs to test @required vs @aria-required mismatch reconciliation 4 5 Reviewed by Chris Fleizach. 6 7 More thorough testing of @required and @aria-required, especially regarding conflict resolution. 8 Found https://webkit.org/b/119988 as a result of the updated test. 9 10 * accessibility/aria-required-expected.txt: 11 * accessibility/aria-required.html: 12 1 13 2013-08-19 Ryosuke Niwa <rniwa@webkit.org> 2 14 -
trunk/LayoutTests/accessibility/aria-required-expected.txt
r151831 r154309 1 2 1 This tests that aria-required is a usable attribute. 3 2 … … 5 4 6 5 7 PASS succeeded is true 8 PASS succeeded is true 9 PASS succeeded is true 10 PASS succeeded is true 11 PASS succeeded is true 12 PASS succeeded is true 13 PASS succeeded is true 14 PASS succeeded is true 15 PASS succeeded is true 16 PASS succeeded is true 17 PASS succeeded is true 18 PASS succeeded is true 19 PASS succeeded is true 20 PASS succeeded is true 21 PASS succeeded is true 6 Elements to test: 32 7 8 PASS textfield isRequired is false 9 PASS textfield_required isRequired is true 10 PASS textfield_required_ariarequired isRequired is true 11 PASS textfield_ariarequiredfalse isRequired is false 12 PASS textfield5 isRequired is true 13 PASS checkbox isRequired is false 14 PASS checkbox_required isRequired is true 15 PASS checkbox_required_ariarequired isRequired is true 16 PASS checkbox_ariarequiredfalse isRequired is false 17 PASS checkbox_required_ariarequiredfalse isRequired is true 18 PASS select isRequired is false 19 PASS select_required isRequired is true 20 PASS select_required_ariarequired isRequired is true 21 PASS select_ariarequiredfalse isRequired is false 22 PASS select_required_ariarequiredfalse isRequired is true 23 PASS textarea isRequired is false 24 PASS textarea_required isRequired is true 25 PASS textarea_required_ariarequired isRequired is true 26 PASS textarea_ariarequiredfalse isRequired is false 27 PASS textarea_required_ariarequiredfalse isRequired is true 28 PASS listbox_ariarequiredtrue isRequired is true 29 PASS listbox_ariarequiredfalse isRequired is false 30 PASS listbox isRequired is false 31 PASS radiogroup_ariarequiredtrue isRequired is true 32 PASS radiogroup_ariarequiredfalse isRequired is false 33 PASS radiogroup isRequired is false 34 PASS spinbutton_ariarequiredtrue isRequired is true 35 PASS spinbutton_ariarequiredfalse isRequired is false 36 PASS spinbutton isRequired is false 37 PASS tree_ariarequiredtrue isRequired is true 38 PASS tree_ariarequiredfalse isRequired is false 39 PASS tree isRequired is false 22 40 PASS successfullyParsed is true 23 41 -
trunk/LayoutTests/accessibility/aria-required.html
r151831 r154309 6 6 <body id="body"> 7 7 8 <input type="text" aria-required="true" id="textfield1">9 <input type="text" aria-required="false" id="textfield2">10 <input type="text" id="textfield3">11 12 8 <div id="toBeHidden"> 13 9 14 <div tabindex="0" aria-required="true" role="listbox" id="lb1">text</div>15 <div tabindex="0" aria-required="false" role="listbox" id="lb2">text</div>16 <div tabindex="0" role="listbox" id="lb3">text</div>17 10 18 <div tabindex="0" aria-required="true" role="radiogroup" id="rg1">text</div> 19 <div tabindex="0" aria-required="false" role="radiogroup" id="rg2">text</div> 20 <div tabindex="0" role="radiogroup" id="rg3">text</div> 11 <!-- textfields --> 12 <input type="text" id="textfield" data-expectedrequired="false"> 13 <input type="text" id="textfield_required" required data-expectedrequired="true"> 14 <input type="text" required aria-required="true" id="textfield_required_ariarequired" data-expectedrequired="true"> 15 <input type="text" aria-required="false" id="textfield_ariarequiredfalse" data-expectedrequired="false"> 16 <!-- these last ones conflict with implicit value of @required, so host language attr should win --> 17 <input type="text" aria-required="textfield_required_ariarequiredfalse" required id="textfield5" data-expectedrequired="true"> 18 <!-- BLOCKED by http://webkit.org/b/119988 19 <input type="text" aria-required="true" id="textfield_requiredfalse_ariarequiredtrue" data-expectedrequired="false"> 20 --> 21 21 22 <div tabindex="0" aria-required="true" role="spinbutton" id="sb1">text</div>23 <div tabindex="0" aria-required="false" role="spinbutton" id="sb2">text</div>24 <div tabindex="0" role="spinbutton" id="sb3">text</div>25 22 26 <div tabindex="0" aria-required="true" role="tree" id="t1">text</div> 27 <div tabindex="0" aria-required="false" role="tree" id="t2">text</div> 28 <div tabindex="0" role="tree" id="t3">text</div> 23 <!-- checkboxes --> 24 <input type="checkbox" id="checkbox" data-expectedrequired="false"> 25 <input type="checkbox" id="checkbox_required" required data-expectedrequired="true"> 26 <input type="checkbox" required aria-required="true" id="checkbox_required_ariarequired" data-expectedrequired="true"> 27 <input type="checkbox" aria-required="false" id="checkbox_ariarequiredfalse" data-expectedrequired="false"> 28 <!-- these last ones conflict with implicit value of @required, so host language attr should win --> 29 <input type="checkbox" aria-required="false" required id="checkbox_required_ariarequiredfalse" data-expectedrequired="true"> 30 <!-- BLOCKED by http://webkit.org/b/119988 31 <input type="checkbox" aria-required="true" id="checkbox_requiredfalse_ariarequiredtrue" data-expectedrequired="false"> 32 --> 33 34 35 <!-- select --> 36 <select id="select" data-expectedrequired="false"><option>test</option></select> 37 <select id="select_required" required data-expectedrequired="true"><option>test</option></select> 38 <select required aria-required="true" id="select_required_ariarequired" data-expectedrequired="true"><option>test</option></select> 39 <select aria-required="false" id="select_ariarequiredfalse" data-expectedrequired="false"><option>test</option></select> 40 <!-- these last ones conflict with implicit value of @required, so host language attr should win --> 41 <select aria-required="false" required id="select_required_ariarequiredfalse" data-expectedrequired="true"><option>test</option></select> 42 <!-- BLOCKED by http://webkit.org/b/119988 43 <select aria-required="true" id="select_requiredfalse_ariarequiredtrue" data-expectedrequired="false"><option>test</option></select> 44 --> 45 46 47 <!-- textarea --> 48 <textarea id="textarea" data-expectedrequired="false"></textarea> 49 <textarea id="textarea_required" required data-expectedrequired="true"></textarea> 50 <textarea required aria-required="true" id="textarea_required_ariarequired" data-expectedrequired="true"></textarea> 51 <textarea aria-required="false" id="textarea_ariarequiredfalse" data-expectedrequired="false"></textarea> 52 <!-- these last ones conflict with implicit value of @required, so host language attr should win --> 53 <textarea aria-required="false" required id="textarea_required_ariarequiredfalse" data-expectedrequired="true"></textarea> 54 <!-- BLOCKED by http://webkit.org/b/119988 55 <textarea aria-required="true" id="textarea_requiredfalse_ariarequiredtrue" data-expectedrequired="false"></textarea> 56 --> 57 58 59 <!-- Custom ARIA controls (@required is not allowed on these elements, so no conflict resolution needed.) --> 60 <div tabindex="0" aria-required="true" role="listbox" id="listbox_ariarequiredtrue" data-expectedrequired="true">text</div> 61 <div tabindex="0" aria-required="false" role="listbox" id="listbox_ariarequiredfalse" data-expectedrequired="false">text</div> 62 <div tabindex="0" role="listbox" id="listbox" data-expectedrequired="false">text</div> 63 64 <div tabindex="0" aria-required="true" role="radiogroup" id="radiogroup_ariarequiredtrue" data-expectedrequired="true">text</div> 65 <div tabindex="0" aria-required="false" role="radiogroup" id="radiogroup_ariarequiredfalse" data-expectedrequired="false">text</div> 66 <div tabindex="0" role="radiogroup" id="radiogroup" data-expectedrequired="false">text</div> 67 68 <div tabindex="0" aria-required="true" role="spinbutton" id="spinbutton_ariarequiredtrue" data-expectedrequired="true">text</div> 69 <div tabindex="0" aria-required="false" role="spinbutton" id="spinbutton_ariarequiredfalse" data-expectedrequired="false">text</div> 70 <div tabindex="0" role="spinbutton" id="spinbutton" data-expectedrequired="false">text</div> 71 72 <div tabindex="0" aria-required="true" role="tree" id="tree_ariarequiredtrue" data-expectedrequired="true">text</div> 73 <div tabindex="0" aria-required="false" role="tree" id="tree_ariarequiredfalse" data-expectedrequired="false">text</div> 74 <div tabindex="0" role="tree" id="tree" data-expectedrequired="false">text</div> 29 75 30 76 </div> … … 37 83 description("This tests that aria-required is a usable attribute."); 38 84 39 function $(id){40 return document.getElementById(id);41 }42 43 85 if (window.accessibilityController) { 44 86 45 var succeeded = false; 87 var result = document.getElementById('console'); 88 var elements = document.querySelectorAll('[data-expectedrequired]'); 89 result.innerText += "Elements to test: " + elements.length + "\n\n"; 46 90 47 // textfield 1 is required 48 $("textfield1").focus(); 49 succeeded = accessibilityController.focusedElement.isRequired; 50 shouldBe("succeeded", "true"); 51 // textfield 2 and 3 are not required 52 $("textfield2").focus(); 53 succeeded = !(accessibilityController.focusedElement.isRequired); 54 shouldBe("succeeded", "true"); 55 $("textfield3").focus(); 56 succeeded = !(accessibilityController.focusedElement.isRequired); 57 shouldBe("succeeded", "true"); 91 for (var i = 0, c = elements.length; i < c; i++) { 92 var el = elements[i]; 93 var id = el.id; 94 var axElement = accessibilityController.accessibleElementById(id); 95 var isRequired = axElement.isRequired; 58 96 59 // listbox 1 is required 60 $("lb1").focus(); 61 succeeded = accessibilityController.focusedElement.isRequired; 62 shouldBe("succeeded", "true"); 63 // listbox 2 and 3 are not required 64 $("lb2").focus(); 65 succeeded = !(accessibilityController.focusedElement.isRequired); 66 shouldBe("succeeded", "true"); 67 $("lb3").focus(); 68 succeeded = !(accessibilityController.focusedElement.isRequired); 69 shouldBe("succeeded", "true"); 70 71 // radiogroup 1 is required 72 $("rg1").focus(); 73 succeeded = accessibilityController.focusedElement.isRequired; 74 shouldBe("succeeded", "true"); 75 // radiogroup 2 and 3 are not required 76 $("rg2").focus(); 77 succeeded = !(accessibilityController.focusedElement.isRequired); 78 shouldBe("succeeded", "true"); 79 $("rg3").focus(); 80 succeeded = !(accessibilityController.focusedElement.isRequired); 81 shouldBe("succeeded", "true"); 82 83 // spinbutton 1 is required 84 $("sb1").focus(); 85 succeeded = accessibilityController.focusedElement.isRequired; 86 shouldBe("succeeded", "true"); 87 // spinbutton 2 and 3 are not required 88 $("sb2").focus(); 89 succeeded = !(accessibilityController.focusedElement.isRequired); 90 shouldBe("succeeded", "true"); 91 $("sb3").focus(); 92 succeeded = !(accessibilityController.focusedElement.isRequired); 93 shouldBe("succeeded", "true"); 94 95 // tree 1 is required 96 $("t1").focus(); 97 succeeded = accessibilityController.focusedElement.isRequired; 98 shouldBe("succeeded", "true"); 99 // tree 2 and 3 are not required 100 $("t2").focus(); 101 succeeded = !(accessibilityController.focusedElement.isRequired); 102 shouldBe("succeeded", "true"); 103 $("t3").focus(); 104 succeeded = !(accessibilityController.focusedElement.isRequired); 105 shouldBe("succeeded", "true"); 97 // Test whether elementis required. 98 var passed = el.dataset.expectedrequired === isRequired.toString(); 99 var output = (passed ? "PASS" : "FAIL") + " " + id + " isRequired is " + isRequired; 100 if (!passed) 101 output += ", expected " + el.dataset.expectedrequired; 102 result.innerText += output + "\n"; 103 } 106 104 107 105 } 108 106 109 $('toBeHidden').hidden = true; // hide this to avoid text diffs when adding more elements to the test107 document.getElementById('toBeHidden').hidden = true; // hide this to avoid text diffs when adding more elements to the test 110 108 111 109 </script>
Note: See TracChangeset
for help on using the changeset viewer.