<html>
<head>
    <title>Align in button Test</title>
    <style type="text/css">
        button { width: 300px; }
    </style>
</head>
<body>
    <p>The following button elements should all be rendered on the left, with their text center justified.</p>
    <button align="right">This is should be center justified.</button>
    <br>
    <button align="left">This is should be center justified.</button>
    <br>
    <button>This is should be center justified.</button>
    <br>

    <button id="test1">This is should be center justified.</button>
    <script>
    <!--
        var obj1 = document.getElementById('test1');
        obj1.setAttribute('align', 'right');
    -->
    </script>

    <div id='insertionpoint'></div>
    <script>
    <!--
        var ins = document.getElementById('insertionpoint');
        var obj2 = document.createElement('BUTTON');
        obj2.setAttribute('align', 'right');
        obj2.appendChild(document.createTextNode('This is should be center justified.'));
        ins.appendChild(obj2);
    //-->
    </script>
</body>
</html>
