Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

<!doctype html>
<title>The legend element</title>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<style>
#ref {
display: block;
unicode-bidi: isolate;
padding-left: 2px;
padding-right: 2px;
/* TODO: uncomment this when these properties are widely supported
padding-inline-start: 2px; padding-inline-end: 2px;
*/
}
</style>
<legend id=in-body></legend>
<fieldset>
<legend id=rendered-legend></legend>
<legend id=in-fieldset-second-child></legend>
<div><legend id=in-fieldset-descendant></legend></div>
</fieldset>
<div id=ref></div>
<script>
setup(() => {
self.legends = [].slice.call(document.querySelectorAll('legend'));
self.refStyle = getComputedStyle(document.getElementById('ref'));
self.props = ['display',
'unicodeBidi',
'marginTop',
'marginRight',
'marginBottom',
'marginLeft',
'paddingTop',
'paddingRight',
'paddingBottom',
'paddingLeft',
'overflow',
// Extra tests
'height',
'box-sizing',
];
});
legends.forEach(legend => {
const testStyle = getComputedStyle(legend);
props.forEach(prop => {
test(() => {
assert_equals(testStyle[prop], refStyle[prop]);
}, `${legend.id}: ${prop}`);
});
// Test width separately since it differs outside fieldset vs. in fieldset vs. rendered legend
test(() => {
if (legend.id === 'rendered-legend') {
assert_equals(testStyle.width, '0px');
} else {
assert_not_equals(testStyle.width, '0px');
}
}, `${legend.id}: width`);
});
</script>