Предотвращение чтения с экрана / вспомогательных технологий от запуска обработчика кликов - PullRequest
1 голос
/ 13 февраля 2020

У меня есть эта ссылка:

<a href="/path/to/page" data-trigger="expedient-element">The Best Page</a>

Заполненный и открытый элемент ajax, существующий на текущей странице, является «расширением» и имеет aria-hidden="true". Для программ чтения с экрана и вспомогательных технологий было бы предпочтительнее следовать ссылке href на следующую страницу stati c, а не запускать обработчик щелчка (особенно, поскольку элемент, с которым он будет работать, уже скрыт, как упоминалось ранее).

Это поведение уже будет иметь место, или мне нужно что-то добавить?

1 Ответ

3 голосов
/ 13 февраля 2020

При нажатии на ссылку enter, она делает то же самое, что и щелчок, и очень плохо перехватывать клавишу ввода, чтобы сделать что-то другое.

  • Есть пользователи клавиатуры, отлично видят, кто не использует программу чтения с экрана. Эти пользователи будут сталкиваться с неожиданным поведением.
  • Программы чтения с экрана могут выбрать отправку непосредственно события щелчка, а не события клавиатуры, даже если клавиша ввода действительно была нажата. Так что идем в противоположном направлении.
  • Могут быть и другие способы активировать ссылку, кроме щелчка или ввода: пробел, нажатие на сенсорном экране, вспомогательные технические средства, которые можно щелкнуть, подмигивая глазами и т. Д. c. Как он должен вести себя в этих случаях?

Кстати, вы не можете сделать что-то другое в зависимости от того, используется программа для чтения с экрана или нет, просто потому, что у вас нет 100% надежного способа обнаружения это.

Вопросы, которые вы должны задать себе:

  • Почему вы хотите, чтобы между щелчком и вводом было другое поведение? или между программой чтения с экрана и обычными пользователями?
  • Вы пытаетесь обойти недоступный контент, или у вас есть две версии одного и того же контента (доступный и недоступный)? В этом случае было бы намного лучше иметь один контент и сделать его доступным. Редкие случаи, когда это действительно невозможно, и опыт показывает, что две версии в конечном итоге будут не синхронизированы c, быстрее, чем вы думаете.
...