HTML Checking for Large Sites
Rocket Validator automatically checks your pages on the W3C Validator.
Element “div” not allowed as child of element “ul” in this context. (Suppressing further errors from this subtree.)
A <div>
tag has been found as a direct child of an <ul>
tag, and this is not allowed. For example, <ul><div><li>item</li></div></ul>
is not valid, but <ul><li><div>item</div></li></ul>
is valid as the direct child of <ul>
is <li>
.
Related W3C validator issues
The alert
role can be used to tell the user an element has been dynamically updated. Screen readers will instantly start reading out the updated content when the role is added. The element <ul>
doesn’t accept this kind of role, consider using other element like <p>
or <div>
.
The alert role is used to communicate an important and usually time-sensitive message to the user. When this role is added to an element, the browser will send out an accessible alert event to assistive technology products which can then notify the user about it. The alert role is most useful for information that requires the user’s immediate attention.
Learn more about the alert
ARIA role:
The <dl>
element, used to create a definition lists that matches some terms with their definitions, has nesting issues related to <div>
elements used with it.
Learn more:
The element X is not allowed as a child element of Y. For example, a <ul>
element cannot have a <div>
child element.
An </a>
end tag has been found to violate nesting rules. <a>
tags can’t include other <a>
tags inside. Most probable cause is an unclosed <a>
tag, like in this example:
<a href="one.html">Page 1
<a href="two.html">Page 2</a>
An end tag </code>
has been found violating nesting rules. Check other errors in the same document related to the <code>
element, and fix the unallowed nested elements.
An end tag </strong>
has been found in an incorrect place within the document, violating nesting rules. A common case is closing it before closing other nested tags, for example:
<!-- This line is incorrect as the <strong> tag was closed before the nested <a> tag -->
<strong><a href="#">link</strong></a>
<!--- This line is OK as every end tag respects the nesting rules -->
<strong><a href="#">link</a></strong>
An <a>
tag can’t include other <a>
tags inside. Most probable cause is an unclosed <a>
tag, like in this example:
<a href="one.html">Page 1
<a href="two.html">Page 2</a>
The <ul>
element is used to define unordered lists, where each element must be contained within a <li>
element, like in this example:
<ul>
<li>first element</li>
<li>second element</li>
<li>third element</li>
</ul>
Ensure that there’s no content inside the <ul>
element that is not contained within a <li>
element.
Sometimes this error comes when trying to give a title to the list, for example:
<ul>
Fruits
<li>Apple</li>
<li>Orange</li>
</ul>
Instead, that title text should be outside the list, like:
<span>Fruits</span>
<ul>
<li>Apple</li>
<li>Orange</li>
</ul>
Other times, this can come as the concatenation of <li>
elements which results in something like:
<ul>
<li>First item</li>
<li>Second item</li>
<li>Third item</li>
</ul>
Note how in this case that
used to join the <li>
is causing the problem, as it’s content that is not contained by a <li>
element, as required by the <ul>
element.
Learn more:
HTML Living Standard: the ul element HTML Living Standard: the li element
A <label>
tag can’t be used inside an <a>
tag. Consider using other tags like <span>
.
A <label>
element cannot contain other <label>
as a descendant. Check for nested elements or closing tags that may have been misinterpreted, for example:
<label>name</label></label>
The <caption>
element specifies the caption (or title) of a table. It’s not allowed for a <caption>
to contain another table.
25,000 HTML checks per month. Is that enough for your site?
Save time using our automated web checker. Let our crawler check your web pages on the W3C Validator.