<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>ol element</title>
    <link rel="author" title="dzenana" href="mailto:dzenana.trenutak@gmail.com">
    <link rel="help" href="https://html.spec.whatwg.org/multipage/#the-ol-element">
    <link rel="match" href="grouping-ol-rev-reftest-001-ref.html" />
    <meta name="assert" content="OL's reversed attribute creates a descending list." />
    <style type="text/css">
        span p {display:list-item; margin-left: 0; margin-top: 0; margin-bottom: 0; padding-left: 0; padding-top: 0; padding-bottom: 0;}
        span li {margin-left: 0; margin-top: 0; margin-bottom: 0; padding-left: 0; padding-top: 0; padding-bottom: 0; font-family: monospace;}
        span ol {margin-left: 0; margin-top: 0; margin-bottom: 0; padding-left: 5em; padding-top: 0; padding-bottom: 0; font-family: monospace;
                list-style-position: inside; list-style-type: decimal; }
    </style>
</head>
<body>
    <h1>Description</h1>
    <p>This test continues to validate the ol element.</p>

    <p>These reftests are necessary because the values of the ol's li children as calculated by the user agent are NOT available programatically. Only explicitly-set values are available programatically. Therefore, we need to check actual rendering against expected rendering.</p>

    <p>The spec states:</p>
    <blockquote>"The reversed attribute is a boolean attribute. If present, it indicates that the list is a descending list (..., 3, 2, 1). If the attribute is omitted, the list is an ascending list (1, 2, 3, ...)."</blockquote>

    <p><strong>This reftest passes if you see an ascending list followed by two descending lists.</strong></p>
    <p>(Note: each list item has no content; only the sequencing should appear.)</p>

    <span>

    <p>Ordered List</p>
    <ol>
        <li></li>
        <li></li>
        <li></li>
    </ol>

    <p>Ordered List - reversed via content attribute</p>
    <ol reversed="reversed">
        <li></li>
        <li></li>
        <li></li>
    </ol>

    <p>Ordered List - reversed via IDL</p>
    <ol id="reverse_me">
        <li></li>
        <li></li>
        <li></li>
    </ol>

    </span>

    <script>
        document.getElementById("reverse_me").reversed = true;
    </script>

</body>
</html>
