Nós de texto de espaço em branco inconsistentes no Internet Explorer

O seguinte código fonte alerta os seguintes resultados:

Internet Explorer 7: 29
Firefox 3.0.3: 37 (correto)
Safari 3.0.4 (523.12.9): 38
Google Chrome 0.3.154.9: 38

Ignore os seguintes fatos:

Os navegadores Webkit (Safari / Chrome) inserem um nó de texto extra no final da etiqueta do corpoO Internet Explorer não possui novas linhas em seus nós de espaço em branco, como deveriam.O Internet Explorer não possui um nó de espaço em branco inicial (há espaço em branco óbvio antes da marca <form>, mas nenhum nó de texto para corresponder)

Das tags na página de teste, as seguintes tags não possuem nós de texto em espaço em branco inseridos no DOM após eles:form, input[@radio], div, span, table, ul, a.

Minha pergunta é:O que há nesses nós que os torna a exceção no Internet Explorer? Por que o espaço em branco não é inserido após esses nós e é inserido nos outros?

Esse comportamento é o mesmo se você alternar a ordem das tags, alterne o doctype para XHTML (enquanto ainda mantém o modo de padrões).

Aqui está umlink que fornece algumas informações básicas, mas nenhuma solução ideal. Pode não haver uma solução para esse problema, estou apenas curioso sobre o comportamento.

Obrigado Internet, Zach

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <script type="text/javascript">
        function countNodes()
        {
            alert(document.getElementsByTagName('body')[0].childNodes.length);
        }
        </script>
    </head>
    <body onload="countNodes()">
        <form></form>
        <input type="submit"/>
        <input type="reset"/>
        <input type="button"/>
        <input type="text"/>
        <input type="password"/>
        <input type="file"/>
        <input type="hidden"/>
        <input type="checkbox"/>
        <input type="radio"/>
        <button></button>
        <select></select>
        <textarea></textarea>
        <div></div>
        <span></span>
        <table></table>
        <ul></ul>
        <a></a>
    </body>
</html>

questionAnswers(5)

yourAnswerToTheQuestion