К сожалению, вы должны обойти это.Программы чтения с экрана должны учитывать атрибут maxlength
, объявлять для вас ограничение и периодически сообщать пользователю, сколько осталось символов.Но наличие максимума на этикетке - хорошая практика для всех пользователей.
Программы чтения с экрана будут радостно давать обратную связь, когда вы печатаете, даже если вы достигнете максимума.Это довольно плохо, и я думаю, что это ошибка в программном обеспечении для чтения с экрана.
Поскольку в вашем поле всего 15 символов, вам, вероятно, не нужно оставлять отзывы, пока они не достигнут конца.Если у вас есть 100 символов, тогда под полем, которое обновляет, скажем, будет полезно иметь метку «X символов осталось», скажем, каждые 20 нажатий клавиш.
На данный момент вы можете иметь aria-live
регион, когда при достижении вашего максимума вы можете либо ввести в него текст о том, что предел достигнут, либо вы можете показать дочерний элемент DOM этого региона.В любом случае текст будет объявлен.
<span aria-live="polite" id="myid">
<!-- insert text here from javascript when max reached -->
</span>
или
<span aria-live="polite" id="myid">
<!-- unhide me when max reached -->
<span style="display:none">You've reached the max</span>
</span>