Validation error: ul not allowed as child of element span

16,359

Solution 1

<span> by definition is an inline element (so you use it inside a paragraph, for example), while <ul> is a block element (which is its own little chunk of space, usually with space before/after it unlike <span>).

Other people have had the same issue, and end up using <div> tags instead. See Is it possible to put a list inside a span tag?

Solution 2

if you style the div as 'display:inline' it should nominally conform to the rule, whilst behaving exactly like a span :)

Solution 3

If you're using it as a breadcrumb, it's a navigational element, so <nav> makes the most sense as the container of your <ul>. Otherwise, give the UL a class of "breadcrumb" <ul class="breadcrumb"> and style it based on its class.

Share:
16,359
user2177629
Author by

user2177629

Updated on June 05, 2022

Comments

  • user2177629
    user2177629 almost 2 years

    I do not understand why the WC3 validator is flagging this HTML as invalid, the error it reports back is...

    ''Element ul not allowed as child of element span in this context. (Suppressing further errors from this subtree.)''

    I'm using HTML5, and this code is for breadcrumbs.

    <span class="bread">
        <ul>
            <li><a href="./index.php">HOME</a></li>
            <li>ABOUT</li>
        </ul>
    </span>