blob: cbbda4ab042c9d2d74a89617fe474d30839c1af3 [file] [log] [blame]
<!DOCTYPE html>
<meta charset="utf-8">
<title>Fieldset disabled</title>
<link rel="author" title="Denis Ah-Kang" href="mailto:denis@w3.org">
<link rel="help" href="https://html.spec.whatwg.org/multipage/#the-fieldset-element">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<form>
<fieldset id=fs disabled>
<legend>
<input type=checkbox id=clubc_l1>
<input type=radio id=clubr_l1>
<input type=text id=clubt_l1>
</legend>
<legend><input type=checkbox id=club_l2></legend>
<p><label>Name on card: <input id=clubname required></label></p>
<p><label>Card number: <input id=clubnum required pattern="[-0-9]+"></label></p>
</fieldset>
<fieldset id=fs2 disabled>
<p><legend><input type=checkbox id=club2></legend></p>
<p><label>Name on card: <input id=clubname2 required></label></p>
<p><label>Card number: <input id=clubnum2 required pattern="[-0-9]+"></label></p>
</fieldset>
<fieldset id=fs3 disabled>
<fieldset>
<legend><input type=checkbox id=club3></legend>
</fieldset>
<p><label>Name on card: <input id=clubname3 required></label></p>
<p><label>Card number: <input id=clubnum3 required pattern="[-0-9]+"></label></p>
</fieldset>
<fieldset id=fs4 disabled>
<legend>
<fieldset><input type=checkbox id=club4></fieldset>
</legend>
<p><label>Name on card: <input id=clubname4 required></label></p>
<p><label>Card number: <input id=clubnum4 required pattern="[-0-9]+"></label></p>
</fieldset>
</form>
<script>
test(function () {
assert_true(document.getElementById('fs').disabled, "The fieldset is disabled");
assert_false(document.getElementById('clubname').willValidate, "fieldset is disabled so is input 'clubname'");
assert_false(document.getElementById('clubnum').willValidate, "fieldset is disabled so is input 'clubnum'");
assert_true(document.getElementById('clubc_l1').willValidate, "input 'clubc_l1' is descendant of the first legend child of the fieldset. It should not be disabled");
assert_true(document.getElementById('clubr_l1').willValidate, "input 'clubr_l1' is descendant of the first legend child of the fieldset. It should not be disabled");
assert_true(document.getElementById('clubt_l1').willValidate, "input 'clubt_l1' is descendant of the first legend child of the fieldset. It should not be disabled");
assert_false(document.getElementById('club_l2').willValidate, "input 'club_l2' is a descendant of the second legend child of the fieldset. It should be disabled");
}, "The disabled attribute, when specified, causes all the form control descendants of the fieldset element, excluding those that are descendants of the fieldset element's first legend element child, if any, to be disabled.");
test(function () {
assert_true(document.getElementById('fs2').disabled, "The fieldset is disabled");
assert_false(document.getElementById('clubname2').willValidate, "fieldset is disabled so is input 'clubname2'");
assert_false(document.getElementById('clubnum2').willValidate, "fieldset is disabled so is input 'clubnum2'");
assert_false(document.getElementById('club2').willValidate, "the first legend is not a child of the disbled fieldset: input 'club2' is disabled");
}, "The first 'legend' element is not a child of the disabled fieldset: Its descendants should be disabled.");
test(function () {
assert_true(document.getElementById('fs3').disabled, "The fieldset is disabled");
assert_false(document.getElementById('clubname3').willValidate, "fieldset is disabled so is input 'clubname3'");
assert_false(document.getElementById('clubnum3').willValidate, "fieldset is disabled so is input 'clubnum3'");
assert_false(document.getElementById('club3').willValidate, "the first legend is not a child of the disbled fieldset: input 'club3' is disabled");
}, "The <legend> element is not a child of the disabled fieldset: Its descendants should be disabled.");
test(function () {
assert_true(document.getElementById('fs4').disabled, "The fieldset is disabled");
assert_false(document.getElementById('clubname4').willValidate, "fieldset is disabled so is input 'clubname4'");
assert_false(document.getElementById('clubnum4').willValidate, "fieldset is disabled so is input 'clubnum4'");
assert_true(document.getElementById('club4').willValidate, "the first legend a child of the disbled fieldset: input 'club4' is disabled");
}, "The <legend> element is child of the disabled fieldset: Its descendants should be disabled.");
</script>