Pelo padrão e definição do HTML, atualmente, nenhuma outra tag poderia ou deveria estar entre um <ul> e um <il> ou <ol>.
Os navegadores modernos no entanto são muito poderosos em aceitar códigos HTML fora do padrão e mesmo assim renderizar corretamente. No entanto, não é garantido o resultado quando o padrão é quebrado. Cada browser irá se comportar de sua própria maneira nestas situações fora do padrão.
Então, uma escrita como abaixo é inválida segundo o padrão atual:
<ul> Algum texto aqui, etc, etc <li>item 1</li> Algum outro texto aqui, etc, etc <li>item 2</li> </ul>
Ou qualquer variação que utilizasse uma tag html entre os elementos.
Para ter um código válido, o exemplo acima poderia ser alterado para algo que utilizasse CSS e cada elemento <li> ou blocos dentro do <li>, o que é permitido, como abaixo demonstrado:
<ul> <li> <h2>(...)</h2> <p>(...)</p> <p>(...)</p> </li> </ul>
A forma utilizando CSS poderia ser:
<ul> <li class="foobar">Label</li> <li>Some text here</li> <li>Some text here</li> <li class="foobar">Label</li> <li>Some text here</li> <li>Some text here</li> </ul>