Навигация левой / правой каретки в смешанном тексте RTL / LTR - PullRequest
0 голосов
/ 12 июня 2011

Рассмотрим эти два <input>: http://jsfiddle.net/T7gUX/ Они содержат смесь английских и иврита / арабских символов (оба используют направление справа налево).

Вопрос касается обработки VK_LEFT / VK_RIGHT (клавиш клавиатуры) в таких текстах, у нас есть два варианта:

  1. FF / GC - ВЛЕВО / ВПРАВО всегда обрабатывается в визуальном порядке - неважно Направленность персонажа под кареткой - ЛЕВЫЙ всегда перемещает каретку влево.
  2. IE - левое / правое совпадение влево / вправо Символы RTL, но на LTR (например, Английский) движение каретки меняется на противоположное - нажатие ВЛЕВО перемещает каретку вправо.

Что такое правильное поведение? Если «правильный» термин применим здесь вообще.

1 Ответ

0 голосов
/ 12 июня 2011

Извините, но IE правильно. MS посвятила людей работе над i18n, и, насколько я могу судить, IE - лучший веб-браузер с точки зрения i18n (хотя он еще далек от правильности).

Насколько я знаю, все остальные элементы управления текстовыми полями в Windows будут вести себя так же, как IE. Похоже, что Gecko (это источник проблемы?) Неправильно реализует это поведение (игнорируя направленность символов Unicode).

КСТАТИ. Для меня внезапная смена направления, когда «прокрутка» немного сбивает с толку ... Однако для людей, привыкших часто вводить двунаправленный текст, это кажется правильным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...