<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script>
function test()
{
    var ruby = document.getElementById('R');
    var span = document.getElementById('ML');
    var newRT = document.createElement('rt');
    var newRTText = document.createTextNode('Hyper-text');
    newRT.appendChild(newRTText);
    ruby.insertBefore(newRT, span);    
}
</script>
</head>
<body onload="test()">
<p>The following is a test for DOM manipulation within &lt;ruby&gt;: Inserting a new &lt;rt&gt; element</p>
<p>Both lines should look identical (the first line is the one manipulated).</p>
<br>
<br>
<p>&lt;ruby&gt; is defined in the <ruby id="R"><span>HT</span><span id="ML">ML</span><rt>Markup Language</rt>5</ruby> spec.</p>
<p>&lt;ruby&gt; is defined in the <ruby><span>HT</span><rt>Hyper-text</rt><span>ML</span><rt>Markup Language</rt>5</ruby> spec.</p>
</body>
</html>
