<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title>HTML Test: input with dir=auto, script assigns to start with R</title>
    <link rel="match" href="dir_auto-input-script-R-ref.html" />
    <link rel="author" title="Matitiahu Allouche" href="mailto:matitiahu.allouche@google.com" />
    <link rel="author" title="Oren Roth" href="mailto:oren.roth@gmail.com" />
    <link rel="author" title="Shai Berger" href="mailto:shai@platonix.com" />
    <link rel="author" title="HTML5 bidi test WG" href="mailto:html5bidi@googlegroups.com" />
    <link rel="help" href="https://html.spec.whatwg.org/multipage/#the-dir-attribute" />
    <meta name="assert" content="
      When dir='auto', the direction of an input element is set according to
      the first strong character of its value.
      In this test, it is the Hebrew letter Alef, thus the direction must be
      resolved as RTL." />
    <style>
      input, textarea {
        font-size:1em;
      }
      body {
        font-size:2em;
      }
      .test, .ref {
        border: medium solid gray;
        width: 400px;
        margin: 20px;
      }
      .comments {
        display: none;
      }
    </style>
  </head>
  <body>
    <div class="instructions"><p>Test passes if the two boxes below look exactly the same.</p></div>
    <div class="comments">
      Key to entities used below:
      &#x05D0; - The Hebrew letter Alef (strongly RTL).
      &#x05D1; - The Hebrew letter Bet (strongly RTL).
      &#x05D2; - The Hebrew letter Gimel (strongly RTL).
      This test makes sure that the direction is set correctly for an input whose value is set
      dynamically by script.
    </div>
      <div id="test" class="test">
      <script>
        window.onload = function() {
          var test = document.getElementById('test');
          var inputs = test.getElementsByTagName('input');
          for (var i = 0; i != inputs.length; i++) {
            inputs[i].value = '\u05D0\u05D1\u05D2ABC.';
          }
        }
      </script>
      <div dir="ltr">
        <input type="text" dir="auto" value="a" />
      </div>
      <div dir="rtl">
        <input type="text" dir="auto" value="a" />
      </div>
    </div>
      <div class="ref">
      <div dir="ltr">
        <input type="text" dir="rtl" value="&#x05D0;&#x05D1;&#x05D2;ABC." />
      </div>
      <div dir="rtl">
        <input type="text" dir="rtl" value="&#x05D0;&#x05D1;&#x05D2;ABC." />
      </div>
    </div>
  </body>
</html>
