Как уже упоминалось, всегда желательно иметь видимую метку для всех элементов ввода - это поможет как зрячим, так и незрячим пользователям. Сказав это, есть определенные сценарии, где это неосуществимо, и я предполагаю, что ваше дело подпадает под. Для этих ситуаций у вас есть пара вариантов.
Первый - использовать атрибут «title», который имеет дополнительное преимущество отображения подсказки для зрячих пользователей:
<input type="text" title="first name" />
Пара других упомянули второй вариант, который включает в себя размещение метки за пределами экрана с помощью CSS:
<label for="first_name"
style="position:absolute;left:-1000px;width:1px;overflow:hidden;" />
<input type="text" id="first_name" />
В отличие от использования «display: none», программы чтения с экрана все равно будут читать метку. Также элегантно, что пользователи, которые решат отключить CSS, увидят метку.
Независимо от того, с чем вы идете, я определенно рекомендую загрузить пробную копию JAWS с Freedom Scientific и протестировать ваше решение.