::placeholder
Базовая Широко доступная
Эта функция хорошо отработана и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с января 2020 года.
::placeholder CSS псевдоэлемент представляет собой текст подсказки в элементе <input> или <textarea>.
Попробуйте
Можно использовать только подмножество свойств CSS, применимых к псевдоэлементу ::first-line, в правиле, использующем ::placeholder в качестве селектора.
Примечание: Во многих браузерах вид текста подсказки по умолчанию — полупрозрачный или светло-серый.
Синтаксис
::placeholder {
/* ... */
}
Универсальный доступ
Контрастность цвета
Соотношение контрастности
Текст подсказки обычно имеет более светлый цвет, чтобы указать, что это лишь предложение о том, какой вид ввода будет допустимым, а не фактический ввод.
Важно обеспечить достаточно высокое соотношение контрастности между цветом текста подсказки и фоном поля ввода, чтобы люди с нарушениями зрения могли его прочитать, а также обеспечить достаточное различие между цветом текста подсказки и цветом вводимого текста, чтобы пользователи не принимали текст подсказки за введённые данные.
Соотношение контрастности цвета определяется путём сравнения яркости текста подсказки и значений цвета фона поля ввода. Для соответствия текущим Руководящим принципам по доступности веб-контента (WCAG) требуется соотношение 4.5:1 для текстового контента и 3:1 для крупного текста, такого как заголовки. Крупный текст определяется как текст размером 18.66px и больше или жирным шрифтом, или размером 24px и больше.
- WebAIM: Проверка контрастности цветов
- MDN Разъяснение WCAG, Раздел 1.4
- Понимание критерия успеха 1.4.3 | W3C Понимание WCAG 2.0
Удобство использования
Текст подсказки с достаточной контрастностью цвета может быть интерпретирован как введённый ввод. Текст подсказки также исчезнет, когда пользователь введёт содержимое в элемент <input>. Оба эти обстоятельства могут помешать успешному заполнению формы, особенно для людей с когнитивными проблемами.
Альтернативный подход к предоставлению информации о подсказках — размещение её вне поля ввода, в непосредственной близости, а затем использование aria-describedby для программирования связи <input> с подсказкой.
При таком подходе содержимое подсказки доступно даже после ввода информации в поле ввода, а поле ввода выглядит свободным от предварительно введённой информации при загрузке страницы. Большинство технологий чтения с экрана используют aria-describedby для чтения подсказки после объявления метки поля ввода, а пользователь с помощью средства чтения с экрана может её отключить, если дополнительная информация ему не нужна.
<label for="user-email">Your email address</label> <span id="user-email-hint" class="input-hint">Example: jane@sample.com</span> <input id="user-email" aria-describedby="user-email-hint" name="email" type="email" />
Высокий контраст в Windows
Текст подсказки будет отображаться с тем же стилем, что и введённый пользователем текстовый контент, при отображении в режиме высокого контраста в Windows. Это затруднит для некоторых людей определение, какой контент был введён, а какой является текстом подсказки.
Метки
Примеры
Изменение внешнего вида подсказки
Этот пример демонстрирует некоторые изменения, которые можно внести в стили текста подсказки.
HTML
<input placeholder="Type here" />
CSS
input::placeholder {
color: red;
font-size: 1.2em;
font-style: italic;
}
Результат
Непрозрачный текст
В некоторых браузерах (таких как Firefox) значение по умолчанию opacity для подсказок устанавливается ниже 100%. Если вам нужен полностью непрозрачный текст подсказки, установите opacity в значение 1.
HTML
<input placeholder="Default opacity" /> <input placeholder="Full opacity" class="force-opaque" />
CSS
::placeholder {
color: green;
}
.force-opaque::placeholder {
opacity: 1;
}
Результат
Спецификации
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari в iOS | Samsung Internet | WebView Android | |
::placeholder |
576 | 791212–79 | 5119 | 4415 | 10.15 | 5718 | 5119 | 4314 | 10.34.2 | 7.01.0 | 572 |
См. также
- Псевдокласс
:placeholder-shownстилизует элемент, у которого есть активная подсказка. - Связанные HTML-элементы:
<input>,<textarea> - HTML-формы
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/::placeholder