2017-01-03 3 views
0

Я создаю сайт MVC Asp.net, и я хотел бы иметь сообщение «Обязательно», чтобы отобразить ниже необходимые поля ввода (Not «Поле« Имя »обязательно», так как сообщение уже ниже правого поля), если пользователь не заполнил значение. Я достиг этого с помощью специального RequiredAttribute.Как установить другое сообщение для валидатора Asp.net для чтения с экрана

Теперь я беспокоюсь о том, что кто-то использует устройство для чтения с экрана. Если кто-то слепой и использует экранное устройство для чтения страницы, он будет читать «Обязательный» для этого текста, но поскольку он не может видеть элементы управления, было бы лучше, если бы он показывал «Поле« Имя » Необходимые".

Есть ли способ показать конкретный текст на экране, но предоставить другой для чтения с экрана?

ответ

1

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

Я думаю, что вы смотрите на проблему не так. Доступность - это не только очевидные недостатки, такие как слепота. Есть люди, у которых просто плохое зрение, в общем, но не обязательно будет использовать экранный ридер, людей с обучением или другими когнитивными нарушениями и т. Д. Цель должна всегда быть очевидным дизайном. Вам больно показывать весь текст «Поле« Foo »требуется». или это может вызвать проблемы у неимущих пользователей? Ответ - нет. Это может быть слишком многословный, но не полный текст. С другой стороны, будет ли скрываться часть текста, ставящего дополнительный удар по ослабленным пользователям? Ответ таков: это возможно. Поэтому лучше всего показывать полный текст.