Замена текстовым плейсхолдерам. Улучшаем юзабилити форм путем устранения проблем с плейсхолдерами


Содержание материала:

Плейсхолдеры

Плейсхолдеры — это специальные текстовые поля, которые в процессе выполнения активатора заменяются на соответствующие им динамически вычисляемые значения.

Например, плейсхолдер %player% будет заменяться на имя текущего игрока. Это можно использовать в различных действиях. Например, MESSAGE=%player% hello!

Вот перечень плейсхолдеров:

Плейсхолдер Описание
%TIME_SERVER%
%TIME_SERVER: %
Системное врем. Можно использовать дополнительный параметр, чтобы задать формат в котором будет выводиться время:
К примеру, %TIME_SERVER:HH:mm:ss% будет отображать только часы, минуты и секунды (Пример: 10:59:44 )
Формат описания времени описан здесь
%TIME_INGAME% Внутри-игровое время в мире, в котором находится игрок. Если игрок не указан, то отобразиться время главного (первого) мира.
%PLAYER_LOC% Текущие координаты игрока
%PLAYER_LOC_EYE% Координаты головы (глаз) игрока
%PLAYER_LOC_VIEW% Координаты точки, куда смотрит игрок
%PLAYER_NAME% Имя игрока
%PLAYER_DISPLAY% Имя игрока для отображения (может отличаться от обычного)
%HEALTH% Значение здоровья игрока
%PLAYER_LOC_DEATH% Последние координаты, где игрок умирал
%TARGET_PLAYER% Целевой игрок (имя)используется в ряде активаторов
%MONEY%
%MONEY. %
%MONEY. . %
Остаток денежных средств на счете игрока (Нужен плагин Vault или Craftconomy3)
%RANDOM: %
%RANDOM: — %
%RANDOM: , [. ]%
Случайное число или одно из случайно выбранных слов.
Пример:
%RANDOM:100% — вернет случайное целое число от 0 до 100.
%RANDOM:100-200% — вернет случайное целое число от 100 до 200
%RANDOM:hello,hi,good day%` — вернёт одну из подстрок, разделённых
%CALC: % Вычислить выражение. Пример: %CALC:1+2% заменится на «3» .
Можно использовать переменные внутри этого плейсхолдера: %CALC:1+x+z%
Поддерживаются следующие операции:
· Базовые математические операторы ( ^ * × · / ÷ % + — );
· Преимущество выражений в скобках;
· Неявное умножение подвыражений в скобках;
· Поддержка шестнадцатиричных чисел — префикс 0x .
%PLAYER_ITEM_HAND% Строковое представление предмета, который игрок держит в руке
%PLAYER_INV: % Строковое представление предмета, который находится в указанном слоте. может быть обозначен как номером слота инвентаря (от 0 до 35) или названием helmet, chestplate, leggings, boots, hand .
Примеры:
%player_inv:10% — Предмет в слоте номер 10;
%player_inv:helmet% — Шлем игрока;
%player_inv:hand%
— Предмет в руках и у игрока.
%raw: % Плейсхолдер, который служит для того чтобы предотвратить разворачивание вложенных плейсхолдеров. Т.е. %raw:%var:test%% будет заменено на %var:test% , а не на значение переменной test

Переменные-плейсхолдеры

Любая переменная может быть использована в качестве плейхолдера.

Нужно просто воспользоваться форматом: %var: % для глобальных переменных и %varp: % для персональных. Также можно обратиться к переменной любого игрока используя плейсхолдер: %var: . %

Временные плейсхолдеры

Некоторые активаторы, действия или флаги создают временные плейсхолдеры. Эти плейсхолдеры описаны в соответствующих разделах. Использовать временный плейсхолдер можно только в процессе исполнения данного активатора, потом он будет удален. Однако, никто не мешает сохранить его значение в переменную, если значениие такого плейсхолдера надо будет использовать в дальнейшем.

Плейсхолдеры-флаги

В дополнении ко всем этим плейсхолдерам, каждый флаг тоже имя является. Нужно просто добавить окончание » _flag » к названию флаг и заключить, полученное, слово в знаки «%». Например, плейсхолдер %time_flag% будет заменен значением флага TIME , в том случае, если этот флаг использовался в активаторе.

Дополнительно создаётся временный плесхолдер _flag_val , который содержит результат проверки флага (т.е. true или false).

Поддержка плейсхолдеров плагина PlaceholderAPI

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

Плейсхолдеры вводе команды плагина

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

К примеру, можно написать команду /react add activator action TP %here% вместо того чтобы указывать координаты точки перемещения полностью.

Как изменить цвет текста-подсказки в placeholder с помощью стилей CSS?

Многие из вас нередко сталкивались с формами, где в качестве подсказок есть подписи. Они пропадают при на наборе текста. Так вот — это атрибут placeholder, который есть у элементов, которые созданы для ввода текста (input). С помощью него можно задать текст, который будет отображаться как подсказка до начала ввода в данное поле. К сожалению, не все браузеры одинаково корректно работают с данным атрибутом. Устаревшие версии и вовсе данный текст не отображают.

Напомню, по статистике в Рунете устаревшими браузерами пользуется около 5% пользователей (это для очистки совести, если что). Надеюсь на ваших сайтах они не концентрируются)

Теперь рассмотрим как сделать так, чтобы решить нижеописанные проблемы:

1. Как изменить стили для плейсхолдера;
2. Как скрыть текст плейсхолдера не при вводе, а уже при нажатии на поле;
3. Что делать с браузерами, где в принципе не отображается placeholder.

Во всех примерах будем работать с полем input.

Как изменить цвет текста-подсказки в placeholder в input?

Давно уже не новость, что каждый браузер не только по-разному отображает placeholder, но и требует особых свойств для изменения стилей. И это я уже не говорю о соответствующих префиксах в написании. Давайте рассмотрим их.

По умолчанию во многих браузерах цвет подсказки — серый. В данном примере сделаем его чёрным.

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

И да, можно использовать для указания этих свойств классы. Смотрим ниже:

Убираем placeholder при нажатии на поле

По умолчанию в браузерах текст из атрибута placeholder пропадает только после начала ввода, но есть и такие, кто хочет, чтобы этот текст не отвлекал уже на стадии нажатия на поле ввода. Чаще всего делают именно так. Для это нужна написать стили для фокуса, где цвет текста-подсказки станет полностью прозрачным, то есть его перестанет быть видно.

Можно даже настроить плавное изменение прозрачности или изменение цвета сss-анимацией. Но с кроссбраузерностью таких решений могут возникнуть проблемы.

А что делать с бразуерами, которые не поддерживают атрибут placeholder в input?

Ну точно не теряться) Да, действительно, такие браузеры есть. Например, IE8. И да, есть люди-адепты, которые будут им пользоваться всегда. Если нужна составить решение для всех посетителей, то наберитесь ещё немного терпения.

Для решения этой проблемы скачайте популярный для этого jquery плагин — jquery.placeholder. Ссылок давать не буду, так как сегодня-завтра они изменятся. Но, если что, можете скачать рабочий пример с плагином в — скачать исходники.

Подключаем его. Не стоит забывать, что нужен ещё и в принципе jquery подключить.

Плейсхолдеры — зло в черновиках

.collapse»>Содержание

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

Разумеется, сами по себе подсказки обычно помогают понять пользователю, что нужно ввести в каждое поле формы, что в свою очередь положительно сказывается на конверсии. И есть много способов дать пользователю такие подсказки. Один из них — использование текста-подсказки внутри самих элементов форм. К сожалению, результаты тестирования говорят о том, что плейсхолдеры скорее ухудшают юзабилити форм, чем улучшают его.

Заголовки полей и плейсхолдеры

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

Плейсхолдер вместо заголовка

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

Худший вариант: плейсхолдер используется вместо заголовка

Ниже приведены семь причин, почему не стоит заменять заголовки полей плейсхолдерами:

  1. Исчезновение текста плейсхолдеров нагружает кратковременную память пользователей
    Если пользователь забыл содержание подсказки, что часто случается при заполнении больших форм, то ему потребуется удалить введенный текст из поля, а в некоторых случаях еще и снять фокус с поля формы, для того, чтобы плейсхолдер снова стал виден. В идеальном случае пользователь должен быть полностью сконцентрирован на заполнении формы. В реальности же он может отвлекаться на другие вкладки в браузере, на пришедшее сообщение или телефонный звонок. Поэтому важно максимально облегчить пользователю возврат к заполнению формы.
    Конечно, часто используемые формы с одним-двумя полями ввода, например, строка поиска или логин-пароль, в отличие от сложных форм, не нагружают память пользователя. И в большинстве таких случаев пользователь может и так догадаться, что нужно вводить. Тем не менее, даже с полем для логина могут возникнуть затруднения — должен ли пользователь ввести свой логин или адрес почты?
  2. Без заголовков пользователь не может проверить правильность заполнения формы перед ее отправкой
    Дополнительно проблема усугубляется возможностью неправильного автозаполнения полей браузером. Для проверки пользователю придется один за одним вырезать и вставлять текст в полях формы. Опять же, в реальности пользователь скорее всего просто не будет утруждать себя такой двойной проверкой, что повышает вероятность отправки формы с ошибками.
  3. В случае ошибки пользователю сложнее понять, что и как исправить
    Если нет никаких видимых подсказок, пользователю придется так же проходиться по всем полям формы, чтобы определить, в чем ошибка.
  4. Если плейсхолдер исчезает по фокусу на поле ввода, то это создает проблемы для пользователей, переключающихся между полями с помощью клавиатуры
    Многие используют клавишу Tab для быстрого перехода к следующему полю, как правило, не читая его содержание до того, как переключиться на него.
  5. Поля с плейсхолдером меньше похожи на поля для ввода
    Результаты окулографии говорят о том, что взгляд пользователя сильнее «цепляется» за пустые поля. В лучшем случае, пользователь потратит лишнее время на определение поля для ввода, в худшем же — просто его пропустит, что может серьезно сказаться на конверсии.
  6. Пользователь может спутать плейсхолдер и автоматически заполненное поле
    Когда в поле уже есть текст, пользователь может пропустить его как уже заполненное. Некоторые пользователи могут принять текст плейсхолдера за значение по умолчанию и также пропустить поле.
  7. Иногда пользователю приходится вручную удалять текст плейсхолдера
    Встречаются реализации, в которых текст подсказки не исчезает при переходе к заполнению поля. И пользователю приходится вручную удалять подсказку перед тем, как ввести настоящие данные. Это, разумеется, крайне снижает удобство заполнения формы и создает ненужные затруднения.

Плейсхолдер в дополнение к заголовку

Использование плейсхолдера в качестве дополнительной подсказки — уже шаг в правильном направлении. Заголовки полей, несущие ключевую информацию, видны всегда, в то время как плейсхолдеры содержат более полные инструкции к заполнению формы. Тем не менее, даже с заголовками, использование плейсхолдеров может приводить к описанным выше проблемам, хоть и с несколько меньшей вероятностью. Если какие-то поля нуждаются в дополнительном описании, критически важном для корректного заполнения формы, лучше всего поместить это описание рядом с полем, чтобы оно всегда было доступно пользователю.

Лучше: здесь плейсхолдер используется как подсказка дополнительно к заголовку

Плейсхолдеры и общедоступность

Еще одна проблема с плейсхолдерами заключается в том, что они в основной своей массе не общедоступны:

  1. Стандартный светлосерый цвет текста плейсхолдера слабо контрастирует с большинством фонов. Для пользователей с ослабленным зрением слабый контраст затрудняет прочтение подсказок плейсхолдеров, при этом, изменить их цвет с помощью CSS позволяют не все браузеры.
  2. Дополнительные трудности для пользователей с когнитивными и моторными нарушениями. Как описано выше, это и дополнительная нагрузка памяти и необходимость в дополнительных действиях с мышью и клавиатурой для заполнения форм.
  3. Не все экранные дикторы зачитывают содержание плейсхолдеров. Слепые и слабовидящие пользователи могут из-за этого полностью упустить важные подсказки.

Заключение

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

Лучше всего: заголовок и подсказка всегда видны пользователю

Подсказки и дополнительные инструкции лучше всего тоже дать рядом с соответствующими полями ввода. Формы являются одним из самых важных элементов для повышения конверсии, так что стоит позаботиться о том, чтобы пользователь мог заполнить их как можно быстрее и с как можно меньшим количеством ошибок.

Атрибут ::placeholder

Псевдоэлемент ::placeholder color ( в некоторых случаях псевдокласс ) позволяет задать текстовое наполнение элемента формы. Он устанавливается при помощи атрибута placeholder : .

Этот текст можно стилизовать для большинства современных браузеров с помощью специальных префиксов:

Предупреждение: это нестандартный синтаксис, с этим связаны и странные названия. :placeholder-shown – это стандарт, и даже авторы спецификации, вероятно, думают, что ::placeholder стандартизирован.

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

Разница между :placeholder-shown и ::placeholder

:placeholder-shown предназначен для выделения формы ввода, а CSS placeholder color отвечает за стилизацию текста.

Взгляните на диаграмму:

Оказалось, что многих это сбивает с толку, и я часто вижу спецификацию, где есть :placeholder-shown , но отсутствует ::placeholder .

Нужно отметить, что :placeholder-shown может влиять на стилизацию текста, так как является для него родительским элементом ( например, можно изменять font-size ).

Обратите внимание: :placeholder-shown – псевдокласс ( элемент в конкретном состоянии ), а ::placeholder – это псевдоэлемент ( видимая часть, которая находится не в DOM ). Отличаются они одинарными и дойными кавычками.

Так как :placeholder-shown является псевдоклассом, то он должен выделять существующий элемент. И поэтому выделяет форму ввода, когда текст в элементе формы отображается. Псевдоэлемент ::placeholder оборачивает сам текст заглушки.

Элемент или класс?

В этом плане input placeholder color не стандартизирован. Это значит, что у каждого браузера своё понимание того, как это должно работать.

Изначально этот псевдокласс был внедрён в браузер Firefox . Этот псевдокласс даёт не так уж много пространства для манёвра. Например, если нужно изменить цвет текста при выделении формы ввода, потребуется использовать селектор типа input:focus::placeholder . А псевдокласс не позволяет этого сделать.

IE10 поддерживает этот функционал в качестве псевдокласса, а не элемента. Во всех остальных браузерах он расценивается как псевдоэлемент.

Цвет заглушки в Firefox

Вы заметили, что цвет заглушек выглядит более тусклым по сравнению с другими браузерами. На картинке, приведенной ниже, слева показан Firefox 43 , а справа — Chrome 47 :

Так происходит потому, что по умолчанию все « заглушки » в Firefox получают дополнительное значение прозрачности. Чтобы избавиться от этого эффекта, нам понадобится следующая строка кода:

Попробуйте открыть это демо в браузере Firefox .

Поддержка стилей

Псевдоэлемент поддерживает следующие свойства:

  • font properties ;
  • color ;
  • background properties ;
  • word-spacing ;
  • letter-spacing ;
  • text-decoration ;
  • vertical-align ;
  • text-transform ;
  • line-height ;
  • text-indent ;
  • opacity ;

Дополнительные ресурсы

Документация MDN
Документация IE
Развёрнутая статья на блоге Treehouse

Браузерная поддержка

Здесь имеется в виду как нативная поддержка CSS input placeholder color , так и поддержка, реализуемая с помощью префиксов.

Chrome Safari Firefox Opera IE Android iOS
4+ 5+ 4+ 15+ 10+ Любой Любой

Firefox поддерживает псевдоклассы до 18 версии. Версии 19+ поддерживают псевдоэлемент, но не класс.

Данная публикация представляет собой перевод статьи « ::placeholder » , подготовленной дружной командой проекта Интернет-технологии.ру

Стилизуем Placeholder с помощью CSS

Используйте псевдоэлемент ::placeholder для стилизации дефолтного текста в элементе input или textarea . Большинство современных браузеров поддерживают это, но для старых браузеров требуются префиксы.

Префиксы

Используемый мной синтаксис поддерживается большинством современных браузеров:

Но для более старых браузеров вам нужно будет использовать префиксы поставщика.

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

Псевдоэлемент против псевдокласса

Вы можете заметить, что я использую двойное двоеточие :: . Это называется псевдоэлементом и было введено в CSS3. Если бы мы использовали одно двоеточие : , это назвали бы псевдоклассом.


Поскольку псевдоэлемент, :: был представлен в CSS3, а не в более ранних версиях CSS, некоторые старые браузеры, такие как Internet Explorer, просто никогда не поддерживали его. Принимая во внимание, что псевдокласс, : был представлен ранее (в CSS1 и CSS2). Вот почему гораздо больше браузеров, включая Internet Explorer, поддерживают его.

Следовательно, в нашем ::placeholder префиксе поставщика вы будете использовать смесь псевдокласса и псевдоэлемента.

Непрозрачность Placeholder в Firefox по умолчанию

Хорошо, с чем это связано opacity: 1 для Firefox. Это потому, что по умолчанию для placeholder Firefox применяется значение непрозрачности. Таким образом, чтобы переопределить это, мы должны установить его принудительно. Таким образом, наш placeholder будет отображаться и не будет иметь блеклого внешнего вида по умолчанию.

CSS-обработка неверных селекторов

Таким образом, вы также можете подумать, почему мы не просто сгруппировали все префиксы вендоров вместе как в примере ниже:

Ну, это потому, что в CSS3 было правило, которое гласит:

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

Давайте посмотрим на пример, чтобы увидеть, что это значит. Вот правильный CSS-селектор

Так что в нашем HTML это будет выглядеть как ожидалось

Но что произойдет, если мы добавим неверный селектор CSS

Так как в группе есть недопустимый селектор CSS. Вся группа будет считаться недействительной, и стилизация не будет применена.

Вот почему нам нужны отдельные правила для каждого браузера. В противном случае вся группа будет игнорироваться всеми браузерами.

⭐️ НО! похоже, это можно изменить в CSS4.

Как правило, если в цепочке или группе селекторов присутствует недопустимый псевдоэлемент или псевдокласс, весь список селекторов является недействительным. Если псевдоэлемент (но не псевдокласс) имеет префикс -webkit-, то по состоянию на Firefox 63 браузеры Blink, Webkit и Gecko предполагают, что он действителен, не аннулирует список выбора.

Подробнее об этом читайте в статье Криса Койера «Один неверный псевдо-селектор равен целому игнорируемому селектору»

Поддерживаемые стили

Вот список всех стилей, которые вы можете применить к вашему placeholder:

  • background свойства
  • color
  • font свойства
  • letter-spacing
  • line-height
  • opacity
  • text-decoration
  • text-indent
  • text-transform
  • vertical-align
  • word-spacing

Проблемы доступности

Способность стилизовать заполнители — это круто. Но мне нужно отметить кое-что действительно важное — текст-заполнитель не заменяет элемент метки !! Я был виновен в этом, когда впервые попал в веб-программирование ��. Когда ваша форма основана исключительно на инструкциях-заполнителях без меток, это очень вредно для доступности. Доступность важна не только для того, чтобы сделать ваш веб-сайт доступным для всех, но и для повышения удобства работы пользователей. И, в конечном итоге, создание лучшего сайта или веб-приложения.

Вот действительно потрясающая статья о том, как использовать заполнители без каких-либо меток. Ниже приведены три основных тезиса:

  1. Поскольку placeholder исчезает в при вводе, он может напрягать кратковременную память вашего пользователя
  2. Без label пользователи не могут проверить свою работу перед отправкой формы.
  3. Когда появляются сообщения об ошибках, люди не знают, как решить проблему.

Автоматически добавлять Vendor-префиксы

Если вы не хотите иметь дело со всеми префиксами вендоров, вы можете использовать PostCSS с плагином Autoprefixer . Этот плагин будет анализировать ваш CSS и добавлять префиксы.

Оформление плейсхолдера с помощью CSS стилей

У элементов ввода есть атрибут «placeholder». С его помощью можно вывести текст в поле ввода который исчезает при начале заполнения. Браузеры по разному отображают плейсхолдер, а устаревшие — вовсе не поддерживают. Однако, существуют способы обхода всех недостатков этого полезного атрибута. Рассмотрим следующие моменты:

  • изменение стиля плейсхолдера;
  • скрытие сразу при нажатии на поле;
  • отображение в браузерах, которые не поддерживают атрибут.

Для примера возьмём текстовое поле input и будем применять к нему стили.

Изменение цвета placeholder

Браузеры на разных движках по разному отображают плейсхолдер. Чаще всего это чёрный текст с прозрачностью, что в итоге смотрится как серый. Чтобы изменить цвет и прозрачность необходимо в CSS стилях к элементам ввода указывать дополнительные директивы для движков браузеров. Изменим цвет на красный без прозрачности.

Если не указать «opacity», то цвет в браузерах, поддерживающих прозрачность, будет розовым. Так же можно указать для разных полей разные цвета. Для этого используйте классы.

Убираем placeholder при нажатии на поле

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

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

Кроссбраузерность placeholder

Устаревшие браузеры не поддерживают атрибут «placeholder» — он просто не будет отображаться. К таким браузерам относится IE8. Несмотря на прекращение поддержки Internet Explorer, есть «люди» которые им пользуются. Если плейсхолдер не несёт важной информации, то можно забить на его отображение, но если увидеть содержимое подсказки должен каждый, то разработчик обязан позаботиться о полной кроссбраузерности.

Для отображени подсказки в браузерах, которые не поддерживают атрибут, будем использовать jquery плагин.

Скачиваем его и подключаем. Не забываем, что должна быть подключена так же jquery библиотека. Применяем плагин к элементам ввода с атрибутом «placeholder»:

Плагин срабатывает только если браузер не поддерживает плейсхолдеры. В таком случае элементам, к которым он применён, присваивается класс «placeholder», а в «value» записывается текст из атрибута «placeholder». При фокусе «value» очищается. Чтобы текст из атрибута не выглядел точно так же как вводимый текст, оформляем его с помощью стилей, опираясь на устанавливаемый класс. В примере цвет текста неактивного поля будет зелёным. Но увидеть это можно только в IE8 или других устаревших браузерах.

Seo & Smm Топ-10 Рекомендаций По Улучшению Юзабилити Веб-форм

DreaMeR

Конкретная реализация той или иной веб-формы зависит от ряда факторов — количества полей, контекста и собираемых данных. Тем не менее, это не является оправданием для игнорирования основных принципов юзабилити. В качестве отправной точки используйте следующие рекомендации:
1. Придерживайтесь короткой длины веб-форм. Как однажды сказал известный математик Блез Паскаль (Blaise Pascal): «Это письмо получилось таким длинным потому, что у меня не было времени написать его короче». Каждый раз, когда вы убираете очередное поле или вопрос из вашей формы, вы увеличиваете его коэффициент конверсии. Удалите поля для сбора той информации, которая может быть получена каким-либо другим способом, собрана позже или просто опущена.

2. Метки (labels) должны быть расположены в непосредственной близости от описываемых ими полей. Избегайте двусмысленности, когда метки находятся на одинаковом расстоянии от нескольких полей, и обязательно используйте атрибут label для скрин-ридеров.

3. Если ваша форма затрагивает две разные темы, разделите ее на две отдельные группы полей (и пометьте их для скрин-ридеров).
Располагайте поля формы в одну колонку. Наличие нескольких колонок прерывает привычное направление взгляда человека на сайте сверху вниз. (Исключения из этого правила: короткие и/или логически связанные поля, такие как Город, Область и Индекс — могут быть расположены на одной строке).

4. Соблюдайте логическую последовательность. Этот принцип относится как к полям веб-формы (например, номер кредитной карты, срок действия, код безопасности), так и к переменным значениям (например, стандартная доставка, доставка в течение 2-х дней, доставка сегодня). В последнем случае стоит также принимать во внимание частоту использования значений, и по возможности первыми в перечень включать наиболее популярные из них. Не забудьте протестировать навигацию с помощью клавиши Tab, чтобы убедиться в правильной последовательности полей.

5. Избегайте замещающего текста. Дизайнеры любят плейсхолдеры (placeholder text), или текст-подсказку для элементов ввода, так как они способствуют устранению визуального беспорядка. Однако он также становится причиной многих проблем с юзабилити, и потому его лучше избегать.

6. Сочетайте поля по типу и размеру вводимых данных. Избегайте раскрывающихся меню, когда имеется лишь 2 или 3 варианта, которые могут быть отображены в виде радиокнопок (radio buttons). Текстовые поля должны быть такой длины, чтобы пользователи могли видеть введенную информацию целиком.

7. Разграничивайте обязательные и необязательные поля. Устраните как можно больше последних (см. первую рекомендацию выше), ограничив их количество до 1-2. При использовании обязательных полей не забудьте пометить их звездочкой (*).

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

9. Избегайте кнопок «Сброс» (Reset) и «Очистить» (Clear). Риск случайного удаления пользователем введенной им информации весьма велик. В формах, собирающих конфиденциальные данные, такие как финансовая информация, предусмотрите кнопку «Отмена» (Cancel) для тех случаев, когда передумавший заполнять форму пользователь захочет удалить введенные им сведения. Убедитесь, что кнопка «Отмена» визуально отличается от кнопки «Отправить» (Submit), дабы избежать ошибочных нажатий.

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

Материал может быть удален по просьбе правообладателя

Обновление Smartcat: работа с плейсхолдерами и улучшение производительности

Мы улучшили производительность Smartcat и добавили функцию, которая упростит процесс локализации сайтов и приложений.

Плейсхолдеры

С ними сталкиваются переводчики и редакторы, которые локализуют ПО, игры и сайты. Плейсхолдер — это переменная, которая занимает место для определенного содержимого: названия, числа, даты, изображения. Нужное значение переменной затем подставляется автоматически, без переписывания кода программы.

С этого обновления Smartcat работает с плейсхолдерами из файлов PO, JSON, PHP, XML. Они отображаются графически, как и теги, чтобы их было удобно копировать в перевод. Плейсхолдеры можно переносить кликом, кнопкой или горячими клавишами (Ctrl+Alt+#), а если система обнаружит их несоответствие в оригинале и переводе, она сообщит об ошибке.

Собственные форматы плейсхолдеров можно добавлять с помощью регулярных выражений — для этого мы сделали меню «Настройки плейсхолдеров».

Улучшение производительности и стабильности работы

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

Как изменить цвет текста-подсказки в placeholder с помощью стилей CSS?

Многие из вас нередко сталкивались с формами, где в качестве подсказок есть подписи. Они пропадают при на наборе текста. Так вот — это атрибут placeholder, который есть у элементов, которые созданы для ввода текста (input). С помощью него можно задать текст, который будет отображаться как подсказка до начала ввода в данное поле. К сожалению, не все браузеры одинаково корректно работают с данным атрибутом. Устаревшие версии и вовсе данный текст не отображают.

Напомню, по статистике в Рунете устаревшими браузерами пользуется около 5% пользователей (это для очистки совести, если что). Надеюсь на ваших сайтах они не концентрируются)

Теперь рассмотрим как сделать так, чтобы решить нижеописанные проблемы:

1. Как изменить стили для плейсхолдера;
2. Как скрыть текст плейсхолдера не при вводе, а уже при нажатии на поле;
3. Что делать с браузерами, где в принципе не отображается placeholder.

Во всех примерах будем работать с полем input.

Как изменить цвет текста-подсказки в placeholder в input?

Давно уже не новость, что каждый браузер не только по-разному отображает placeholder, но и требует особых свойств для изменения стилей. И это я уже не говорю о соответствующих префиксах в написании. Давайте рассмотрим их.

По умолчанию во многих браузерах цвет подсказки — серый. В данном примере сделаем его чёрным.

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

И да, можно использовать для указания этих свойств классы. Смотрим ниже:

Убираем placeholder при нажатии на поле

По умолчанию в браузерах текст из атрибута placeholder пропадает только после начала ввода, но есть и такие, кто хочет, чтобы этот текст не отвлекал уже на стадии нажатия на поле ввода. Чаще всего делают именно так. Для это нужна написать стили для фокуса, где цвет текста-подсказки станет полностью прозрачным, то есть его перестанет быть видно.

Можно даже настроить плавное изменение прозрачности или изменение цвета сss-анимацией. Но с кроссбраузерностью таких решений могут возникнуть проблемы.

А что делать с бразуерами, которые не поддерживают атрибут placeholder в input?

Ну точно не теряться) Да, действительно, такие браузеры есть. Например, IE8. И да, есть люди-адепты, которые будут им пользоваться всегда. Если нужна составить решение для всех посетителей, то наберитесь ещё немного терпения.

Для решения этой проблемы скачайте популярный для этого jquery плагин — jquery.placeholder. Ссылок давать не буду, так как сегодня-завтра они изменятся. Но, если что, можете скачать рабочий пример с плагином в — скачать исходники.

Подключаем его. Не стоит забывать, что нужен ещё и в принципе jquery подключить.

Seo & Smm Топ-10 Рекомендаций По Улучшению Юзабилити Веб-форм

DreaMeR

Конкретная реализация той или иной веб-формы зависит от ряда факторов — количества полей, контекста и собираемых данных. Тем не менее, это не является оправданием для игнорирования основных принципов юзабилити. В качестве отправной точки используйте следующие рекомендации:
1. Придерживайтесь короткой длины веб-форм. Как однажды сказал известный математик Блез Паскаль (Blaise Pascal): «Это письмо получилось таким длинным потому, что у меня не было времени написать его короче». Каждый раз, когда вы убираете очередное поле или вопрос из вашей формы, вы увеличиваете его коэффициент конверсии. Удалите поля для сбора той информации, которая может быть получена каким-либо другим способом, собрана позже или просто опущена.

2. Метки (labels) должны быть расположены в непосредственной близости от описываемых ими полей. Избегайте двусмысленности, когда метки находятся на одинаковом расстоянии от нескольких полей, и обязательно используйте атрибут label для скрин-ридеров.

3. Если ваша форма затрагивает две разные темы, разделите ее на две отдельные группы полей (и пометьте их для скрин-ридеров).
Располагайте поля формы в одну колонку. Наличие нескольких колонок прерывает привычное направление взгляда человека на сайте сверху вниз. (Исключения из этого правила: короткие и/или логически связанные поля, такие как Город, Область и Индекс — могут быть расположены на одной строке).

4. Соблюдайте логическую последовательность. Этот принцип относится как к полям веб-формы (например, номер кредитной карты, срок действия, код безопасности), так и к переменным значениям (например, стандартная доставка, доставка в течение 2-х дней, доставка сегодня). В последнем случае стоит также принимать во внимание частоту использования значений, и по возможности первыми в перечень включать наиболее популярные из них. Не забудьте протестировать навигацию с помощью клавиши Tab, чтобы убедиться в правильной последовательности полей.

5. Избегайте замещающего текста. Дизайнеры любят плейсхолдеры (placeholder text), или текст-подсказку для элементов ввода, так как они способствуют устранению визуального беспорядка. Однако он также становится причиной многих проблем с юзабилити, и потому его лучше избегать.

6. Сочетайте поля по типу и размеру вводимых данных. Избегайте раскрывающихся меню, когда имеется лишь 2 или 3 варианта, которые могут быть отображены в виде радиокнопок (radio buttons). Текстовые поля должны быть такой длины, чтобы пользователи могли видеть введенную информацию целиком.

7. Разграничивайте обязательные и необязательные поля. Устраните как можно больше последних (см. первую рекомендацию выше), ограничив их количество до 1-2. При использовании обязательных полей не забудьте пометить их звездочкой (*).

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

9. Избегайте кнопок «Сброс» (Reset) и «Очистить» (Clear). Риск случайного удаления пользователем введенной им информации весьма велик. В формах, собирающих конфиденциальные данные, такие как финансовая информация, предусмотрите кнопку «Отмена» (Cancel) для тех случаев, когда передумавший заполнять форму пользователь захочет удалить введенные им сведения. Убедитесь, что кнопка «Отмена» визуально отличается от кнопки «Отправить» (Submit), дабы избежать ошибочных нажатий.

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

Материал может быть удален по просьбе правообладателя

Топ-пост этого месяца:  Как сделать «лавандовое сердечко»
Добавить комментарий