81 lines
2.7 KiB
HTML
81 lines
2.7 KiB
HTML
<html>
|
|
<head>
|
|
<title>Empty and nested optgroup elements</title>
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<select>
|
|
<!-- A div here is invalid. However, both IE and Firefox will walk into it
|
|
and enumerate the elements inside. -->
|
|
<div>
|
|
<option value="1">Item one</option>
|
|
|
|
<!-- this group has no children. We /should/ render it because that matches
|
|
IE and FireFox. -->
|
|
<optgroup label="Group one"></optgroup>
|
|
|
|
<!-- this group has a text node child. It should render the same as group one. -->
|
|
<optgroup label="Group two"> </optgroup>
|
|
|
|
<!-- for an optgroup without a label, IE will show an empty, unselectable row.
|
|
Firefox doesn't show it. We /do/ show it because someone might be using
|
|
it as a spacer. -->
|
|
<!-- Additionally, this has been updated to test the crash fixed in
|
|
https://bugs.webkit.org/show_bug.cgi?id=26656. When setting the
|
|
font-size in the <optgroup> to extra large, opening the select element
|
|
must not leave any unpainted areas of overlapping text. -->
|
|
<optgroup style="font-size: x-large;">
|
|
<option value="2">Item inside an optgroup without a label</option>
|
|
</optgroup>
|
|
|
|
<!-- for an optgroup with an empty label, IE will show an empty,
|
|
unselectable row. Firefox doesn't show it. We /do/ show it because
|
|
someone might be using it as a spacer. -->
|
|
<optgroup label="">
|
|
<option value="3">Item inside an optgroup with an empty label</option>
|
|
</optgroup>
|
|
|
|
<div>
|
|
<option value="4"></option>
|
|
<optgroup label="Group three">
|
|
<option value="5">Item two</option>
|
|
<!-- nested groups are disallowed by the spec, but IE and Firefox will
|
|
flatten the tree. We should match them. -->
|
|
<optgroup label="Nested group 1"></optgroup>
|
|
<optgroup label="Nested group 2">
|
|
<optgroup label="Nested group 3">
|
|
<option value="6">Item three</option>
|
|
</optgroup>
|
|
</optgroup>
|
|
</optgroup>
|
|
</div>
|
|
<option value="7">Item four</option>
|
|
</div>
|
|
</select>
|
|
|
|
<p>Click on the select element above. When it drops down you should see the following items in the list:</p>
|
|
|
|
<ul>
|
|
<li>Item one</li>
|
|
<li><b>Group one</b></li>
|
|
<li><b>Group two</b></li>
|
|
<li><i>(unselectable, empty row)</i></li>
|
|
<li>Item inside an optgroup without a label</li>
|
|
<li><i>(unselectable, empty row)</i></li>
|
|
<li>Item inside an optgroup with an empty label</li>
|
|
<li><i>(selectable, empty row)</i></li>
|
|
<li><b>Group three</b></li>
|
|
<li>Item two</li>
|
|
<li><b>Nested group 1</b></li>
|
|
<li><b>Nested group 2</b></li>
|
|
<li><b>Nested group 3</b></li>
|
|
<li>Item three</li>
|
|
<li>Item four</li>
|
|
</ul>
|
|
|
|
<p>The text of the rows of the dropdown must not overlap each other.</p>
|
|
|
|
</body>
|
|
</html>
|