Фокус возвращается к вводу текста при первой попытке перенести его на другой элемент;только когда VoiceOver активен - PullRequest
0 голосов
/ 02 декабря 2018

Примечание: Этот вопрос относится к навигации по рабочему столу / сенсорной клавиатуре в OS X. Вопрос возникает из варианта использования, выявленного в QA.О проблеме не сообщалось для Windows, работающей с NVDA и т.п.фильтруется до клавиши со стрелкой вниз), целевой элемент на мгновение получает focus, прежде чем немедленно возвращается к элементу input.

Хотя это происходит только в первый раз.И только если вход не пустой.После этого все, кажется, работает как ожидалось.

let
  $results = $('#results');
$(document).on({
  'keyup': event => {
    event.preventDefault();
    if (event.which == 40) {
      $results.children().eq(0).focus();
    }
  }
}, '#main');
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form action="" autocomplete="off">
  <input type="text" id="main">
  <div id="results">
    <p tabindex="0">foo</p>
    <p tabindex="0">bar</p>
    <p tabindex="0">baz</p>
  </div>
</form>
...