<!--
@UIA-WIN-DENY:Text_TextChanged*
-->
<!DOCTYPE html>
<html>
<body>
<select>
  <option selected>Apple</option>
  <option>Orange</option>
  <option>Banana</option>
</select>
<script>
  const go_passes = [
    () => {
      document.querySelector('select').focus();
    },
    () => {
      // Setting |selectedIndex| to -1 unselects any selected item.
      document.querySelector('select').selectedIndex = -1;
    }
  ];

  let current_pass = 0;
  function go() {
    go_passes[current_pass++].call();
    return current_pass < go_passes.length;
  }
</script>
</body>
</html>
