Я ищу советы и отзывы, так как не могу решить, каким будет путь.
Я создаю форму HTML5 и хочу, чтобы они были максимально простыми в использовании.Вот почему я всегда использовал label для объяснения того, что вводить в поле, и заполнитель в качестве примера значения в хорошем формате.
Итак, мой код всегда выглядит так:
<form>
<fieldset>
<p>
<label for="origin-field">Please enter your origin address</label>
<input type="text" name="origin" id="origin-field" placeholder="23th Street, New York City" required />
</p>
<p>
<label for="destination-field">Please enter you destination address</label>
<input type="text" name="destination" id="destination-field" placeholder="Ashbury Street, San Francisco" required />
</p>
</fieldset>
<p>
<input type="submit" />
</p>
</form>
Этот код доступен, ярлыки связаны с входами с помощью атрибута for, короче говоря, он учитывает лучшие практики.У него есть и другие преимущества UX: если пользователь нажимает на вход, а затем отвлекается, рядом с ним всегда отображается метка, которая может легко напомнить им, какую информацию ожидает ввод.
Однако владелец моего продукта иМой дизайнер очень хочет, чтобы я удалил метку и использовал вместо этого заполнитель, поэтому код будет
<form>
<fieldset>
<p>
<input type="text" name="origin" id="origin-field" placeholder="Origin address" required />
</p>
<p>
<input type="text" name="destination" id="destination-field" placeholder="Destination address" required />
</p>
</fieldset>
<p>
<input type="submit" />
</p>
</form>
Два аргумента: он занимает меньше места на экране / более красив, а также пользователи ошибочно принимаютПример значения как то, что они могли бы ввести и не понять, почему поле не пустое (это, конечно, проблема с контрастом, заполнитель светло-серый, и его не следует путать с настоящим значением, глубоким черным, ноСогласно СП, они делают).
Что мне делать?Стоит ли бороться, чтобы сохранить ярлык в дизайне?Если я добавлю display: none
на этикетку, будет ли он по-прежнему читаться программами чтения с экрана?Должен ли я вместо этого поставить position: absolute; left: -9999px; top: -9999px;
?
Какова текущая лучшая практика?