[Перевод] Правила автозаполнения

задняя часть Программа перевода самородков спецификация кода

Автозаполнение текста с известными значениями кажется простой задачей, но многие, многие дизайны интерфейсов делают это неправильно. Я постоянно вижу такие ошибки, и вместо того, чтобы жаловаться на них одну за другой, я решил записать некоторые правила, которые они часто нарушают.

Возможно, некоторые из этих правил не самые лучшие, но должны быть веские причины их нарушать (например, если все значения, которые вы вводите, должны исходить из фиксированного набора, то некоторые из этих правил не обязательно должны выполняться). следовать, например, список штатов США). Следуйте этим правилам, чтобы, по крайней мере, получить хороший опыт:

  • Точные совпадения всегда на первом месте. Если пользователь вводит только один вариант, остальные параметры всегда должны быть меньше, чем вариант, введенный пользователем.

  • Помимо точных совпадений, в первую очередь следует учитывать совпадения префиксов. Если я ввожу «Fr», я хочу «Фресно», а не «Сан-Франциско».

  • После сопоставления префикса выполняется сопоставление строк. Сопоставление из подстроки в основном неверно, потому что пользователь начинает вводить слово в начале, а не где-то в середине.

  • Если ни одна подстрока не соответствует, вы можете при желании вернуться к сопоставлению подпоследовательности. Это полезно только в определенных ситуациях.

  • Если нет совпадения подпоследовательности/подстроки, вы можете при желании вернуться к приблизительному совпадению. Такая ситуация вообще редкость.

  • Совпадения должны быть отсортированы лексикографически.

  • Если опция является префиксом другой опции, поставьтесначала самый короткий вариант.

  • Сопоставление должно быть нечувствительным к регистру, если нет двух вариантов, которые отличаются только регистром. В этом случае выберите тот, который лучше всего соответствует вводу пользователя.

  • Действия с использованием выбора (например, поиск терминов) должны отличаться от принятия первого предложенного действия.пока неВы должны сделать что-то, чтобы начать использовать предложения автозаполнения (например, нажать стрелку вниз). Пользователям всегда придется предпринимать дополнительные шаги, чтобы использовать автозаполнение.

  • Если есть текущая опция автозаполнения, клавиша табуляции всегда должна принимать эту опцию (независимо от того, выделена она в раскрывающемся меню или встроена).

  • Если опция автозаполнения выделена, нажатие Enter всегда должно использовать эту опцию. Он никогда не должен возвращаться к параметрам по умолчанию, даже если часть страницы загружена не полностью. Если что-то все еще загружается, лучше проигнорировать клавишу Enter, чем выбрать неверный вариант.

  • Автодополнение не активируется нажатием клавиши, когда поле, использующее автодополнение, не находится в фокусе.

  • Как правило, результаты должны отображаться в течение 100 мс.

  • Вы можете приостановить автозаполнение, когда пользователь быстро набирает другую букву, но не отображайте результат в середине строки после того, как пользователь ввел завершение. Лучше подождать дольше, а затем один раз изменить результат, чем показывать результаты, которые кажутся выполненными, но на самом деле таковыми не являются (признаю, что это правило весьма субъективно).

  • Если параметр выделен, никогда не изменяйте его, даже если загружены новые данные.

Некоторые необязательные функции имеют смысл в одних типах автозаполнения, но не в других. Я уверен, что для этих функций есть более правильные имена, чем я дал.

  • Когда я фокусируюсь на поле ввода, но еще ничего не вводил, отображаются параметры, которые я использовал ранее.

  • Автозаполнение до ближайшего неоднозначного префикса. Если я ввожу «g», и оно соответствует «Google» и «GoodReads», это действие заполняет два «o», а затем позволяет мне ввести «g» или «d», чтобы выбрать нужный вариант.

  • Многосоставное совпадение. Это полезно для автозаполнения путей к файлам, я могу ввести "e/b/a" для автозаполнения "env/bin/activate".ZSHотличная работа.

  • Рекурсивное сопоставление. Поскольку автозаполнение иногда служит двойной цели, позволяя быстро просматривать параметры, иногда вам нужно начать с широкого фильтра, а затем выполнить поиск по этим результатам. Например, если я наберу «.pdf», чтобы просмотреть все файлы PDF, то я могу нажать клавишу (может быть, запятую), чтобы начать поиск по этим результатам, даже если то, что я печатаю сейчас, на самом деле то, что я печатал раньше. появился в имени файла.

  • Орфографическая коррекция. Это часто полезно в поисковых системах.

  • псевдоним. При попытке автозаполнения имени пользователя можно разрешить автозаполнение имени/фамилии человека. То же самое верно для сокращений штатов, представляющих полные штаты.

  • Дополнительная информация в результатах. Если вы автоматически заполните имена функций, пользователи будут рады видеть список своих параметров.

  • Рекомендации с учетом контекста. Это полезно при автозаполнении кодов или слов (обычно на мобильных телефонах), когда контекст может предсказать, каким может быть желаемый результат.

  • Приняв предложение автозаполнения, я могу вернуться к тому, что набрал. (Для этого рекомендуется использовать стрелку вверх).

Если вы обнаружите ошибки в переводе или в других областях, требующих доработки, добро пожаловать наПрограмма перевода самородковВы также можете получить соответствующие бонусные баллы за доработку перевода и PR. начало статьиПостоянная ссылка на эту статьюЭто ссылка MarkDown этой статьи на GitHub.


Программа перевода самородковэто сообщество, которое переводит высококачественные технические статьи из Интернета сНаггетсДелитесь статьями на английском языке на . Охват контентаAndroid,iOS,внешний интерфейс,задняя часть,блокчейн,продукт,дизайн,искусственный интеллектЕсли вы хотите видеть более качественные переводы, пожалуйста, продолжайте обращать вниманиеПрограмма перевода самородков,официальный Вейбо,Знай колонку.