Не используйте атрибут заполнителя

Введенный как часть спецификации HTML5, атрибут заполнителя «представляет собой короткий намек (слово или короткая фраза), предназначенный для оказания помощи пользователю при вводе данных, когда элемент управления не имеет значения. Подсказкой может быть значение образца или краткое описание ожидаемого формата».

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

Технически правильно

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

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

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

Проблемы

Перевод

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

Один из атрибутов пропустили браузеры placeholder . Из-за этого placeholder содержание не будет переведено и останется в качестве первоначально написанного языка.

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

Это должно быть достаточной причиной, чтобы не использовать атрибут.

Хотя мы находимся на тему перевода, также стоит отметить, что расположение не то же самое, что языковые предпочтения. Многие люди устанавливают свои устройства для использования языка, который не является официальным языком страны сообщили IP-адрес своего браузера (не говоря уже о VPN),и мы должны уважать это. Убедитесь в том, чтобы сохранить содержание семантически описаны— ваши соседи будут благодарить вас!

Взаимодействия

Совместимость — это практика обеспечения обмена различными системами и понимания информации. Это основополагающая часть как Интернета, так и вспомогательных технологий.

Семантически описывая содержание делает его совместимым. Совместимая input создается путем программного связывания label элемента с ним. Этикетки описывают назначение входной поля, предоставляя человеку, заполняющему форму, подсказку, по которой он может принять меры. Один из способов связать label с , является использование input for атрибута со значением, которое соответствует входных . id

Без этого for / id сопряжения, вспомогательные технологии не смогут определить, что вход для. Программное объединение предоставляет aPI-крючок, который может использовать такие программы, как считыватель экрана или распознавание голоса. Без него люди, которые полагаются на это специализированное программное обеспечение, не смогут читать или эксплуатировать входы.

A diagram demonstrating how code gets converted into a rendered input, and how the code’s computed properties get read by assistive technology. The code is a text input with a label that reads Your Name. The listed computed properties are the accessible name, which is Your Name, and a role of textbox.
Как семантической разметки используется как для визуального представления и доступного контента. (Большой предварительный просмотр)

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

Facebook’s signup form. A heading reads, “Sign Up. It’s free and always will be.” Placeholders are being used as labels, asking for your first name, last name, mobile number or email, and to create a new password for your account Screenshot.
Пример фетишизации входная сетка с некоего печально известного синего веб-сайта. (Большой предварительный просмотр)

Плавучий эффект этикетки, близкий родственник этого явления, часто использует атрибут заполнителя label вместо, а также.

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

Познания

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

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

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

Вспомнить

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

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

An input called “Your Birthdate” being filled out. The placeholder reads, “MM/DD/YYY” and the animation depicts the person filling it out getting to the year portion and having to delete the text to be able to go back and review what the proper formatting is.
Хотели ли они ММ / DD / YY, или ММ / DD / YYYY? (Большой предварительный просмотр)

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

An input called “Create a Password” being filled out. The placeholder reads, “8-15 characters, including at least 3 numbers and 1 symbol.” and the animation depicts the person filling it out having to delete the text to be able to go back and review what the password requirements are.
Подождите, какова минимальная длина? Сколько номеров они хотят снова? (Большой предварительный просмотр)

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

Цифровая грамотность

Учитывая, что все больше и больше населения мира выходит в Интернет, ответственность ложится на нас, как ответственных дизайнеров и разработчиков, чтобы эти люди чувствовали себя приветствовали. Ваш маленький уголок Интернета (или интрасети!) Вполне может быть одним из их первого опыта в Интернете — предполагая, что конечный пользователь «будет просто знать» является простым высокомерием.

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

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

Утилита

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

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

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

An input called Your YAMA Code, with a truncated placeholder that reads, You can find this code on the ba-
Думаю, я никогда не узнаю, где этот код. (Большой предварительный просмотр)

Видение

Контраст ность цвета

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

К сожалению, этот метод, скорее всего, будет работать вразрез с проблемами контрастности цвета. Цветовой контраст – это соотношение, определяемые путем сравнения светимости текста и значений фонового цвета; в этом случае, это цвет текста заполнителя на фоне ввода.

Смотрите Pen Default браузера заполнителя контрастные соотношения Эрик Бейли(@ericwbailey) на CodePen.

Смотрите Pen Default браузера заполнителя контрастные соотношения Эрик Бейли(@ericwbailey) на CodePen.

Если содержание заполнителя имеет соотношение контрастности, которое является слишком низким, чтобы быть восприняты, это означает, что информация, критическая для заполнения формы успешно не может быть в состоянии быть замечены люди испытывают условия низкого зрения. Для наиболее распространенных размеров шрифта входных данных соотношение составляет 4.5:1.

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

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

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

The email address field on GoFundMe’s password reset page has a placeholder that reads email@address.com and is set to a dark black color that makes it look like entered input. Screenshot.
Цвет текста заполнителя на странице сбросить пароля GoFundMe делает его похожим на введенный вход. Кроме того, значок галочки на кнопке Запрос новый пароль делает его похожим на запрос уже обработан. (Большой предварительный просмотр)
Режим высокой контрастности

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

An input field with a label that reads “Donation amount” and a placeholder that reads “.00.” The screenshot is taken with Windows High Contrast mode active, so the placeholder element looks like entered text content. Screenshot.
Windows 10 набор для использования высокого контрастного режима 1 тема под управлением Internet Explorer 11. (Большой предварительный просмотр)

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

Вы можете быть удивлены, если это возможно обновить стиль в режиме высокого контраста, чтобы сделать заполнитель более понятным. Хотя можно настроить таргетинг на режим высокого контраста в запросе мультимедиа, я умоляю вас этого не делать. Передний конец разработчик Уго Giraudel сказал, что лучше всего:

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

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

Решение

Напомним, атрибут заполнителя:

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

Эш. Это не здорово. Так что мы можем с этим поделать?

Дизайн

Переместите содержимое заполнителя выше ввода, но ниже метки:

An input with a label that reads, Your employee ID number, and help content below the label that reads, Can be found on your employee intranet profile. Example: a1234567-89. The example ID has been styled using a monospaced font.
Большой предварительный просмотр

Этот подход:

  • Связывает визуальную и структурную иерархию:
    • Для чего предназначен этот вход,
    • Вещи, которые вы должны знать, чтобы использовать входные
    • ввод себя.
  • Можно перевести.
  • Не будет выглядеть как предварительно заполненная информация.
  • Можно увидеть в условиях слабого зрения.
  • Не исчезнет при входе содержимого.
  • Может включать семантические разметки и быть стилизованы через CSS.

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

iOS’ on-screen keyboard is obscuring information about password requirements on a “Set a password” input. Screenshot.
Содержимое, скрытое экранной клавиатурой. Клавиатуры третьей стороны с большими высотами могут иметь больший риск блокировки важного контента. (Большой предварительный просмотр)

Развития

Вот как перевести наш разработанный пример на код:

<div class="input-wrapper">
  <label for="employee-id">
    Your employee ID number
  </label>
  <p
    id="employee-id-hint"
    class="input-hint">
    Can be found on your employee intranet profile. Example: <samp>a1234567-89</samp>.
  </p>
  <input
    id="employee-id"
    aria-describedby="employee-id-hint"
    name="id-number"
    type="text" />
</div>

Это не слишком большой отход от традиционного for доступного / id атрибут апартирования: label элемент программно связан с через его input id декларацию «сотрудник-id». pЭлемент, расположенный между label элементами и input элементами, служит заменой placeholder атрибута.

«Так что,» вы можете быть удивлены. «Почему бы нам просто не поместить все, что заполнитель замены содержания в label элементе? Кажется, что это было бы намного меньше работы! Ответ заключается в том, что удобство разработчика не должно иметь приоритет над пользовательским опытом.

С aria-describedby помощью программно ассоциировать input с p элементом, мы создаем приоритет информации для чтения экрана, который имеет паритет с тем, что человек просмотра без чтения экрана будет испытывать. aria-describedby pсодержание будет описано в последнюю створ, после label ‘s содержание и вид ввода он связан с.

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

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

Включение справки, как часть label делает его излишне многословным. label s должны быть значимыми, но и краткими. Добавление слишком большого количества информации на этикетке может иметь противоположность желаемому эффекту, что делает его слишком длинным, чтобы вспомнить или просто слишком разочаровывает, чтобы слушать весь путь до конца. В самом деле, Веб-контентА Доступность Руководящие принципы имеет правила, которые конкретно решить это: Критерии успеха 2.4.6 и 3.3.2.

Примере

Вот решение, реализованное в живом коде:

Смотрите Pen Не используйте атрибут заполнителя Эрик Бейли(@ericwbailey) на CodePen.

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

Лучшее решение

«Чем меньше интерфейс требует от своих пользователей, тем он доступнее».

Элис Боксхолл

Последняя мысль: Вам даже нужна дополнительная информация о заполнителе?

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

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

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

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

Потрудись просмотр дизайна и кода и посмотреть, что не выдерживает проверки — проверка, если вы используете атрибут заполнителя может быть хорошим местом для начала.

Стоя на плечах гигантов. Благодаря Роджер Johansson, Адам Сильвер, Скотт О’Хара, и Кэти Шервин за их написание на эту тему.

Источник: smashingmagazine.com

Великолепный Журнал

Великолепный, сокрушительный, разящий (см. перевод smashing) независимый журнал о веб-разработке. Основан в 2006 году в Германии. Имеет няшный дизайн и кучу крутых авторов, которых читают 2 млн человек в месяц.

Добавить комментарий

%d такие блоггеры, как: