MS Access комбинированные списки и NVDA - PullRequest
0 голосов
/ 05 сентября 2018

Я работаю над библиотечной системой в MS Access 2010. Одна из проблем заключается в том, что у нас есть слепые и другие слабовидящие пользователи, имеющие доступ к системе.

Они используют NVDA, программу для чтения с экрана, и проблема в том, что она не сразу читает содержимое списков. Чтобы обойти это, нужно нажать CAPSLOCK + UP или INSERT + UP (команды NVDA), которые читают текущую строку в фокусе. Таким образом, они в настоящее время делают это построчно вручную, чтобы узнать, где они находятся.

Я думал об автоматизации этого с помощью Sendkeys, но, насколько я знаю, нет способа объединить клавиши, кроме Alt, Shift и Ctrl. Это небольшой фрагмент кода, который я использую только для того, чтобы клавиша «вниз» выпадала из поля со списком:

Private Sub Username_KeyDown(KeyCode As Integer, Shift As Integer)

If KeyCode = vbKeyDown Then 
Me.ActiveControl.Dropdown 
End If

End Sub

Я хотел бы добавить к этому коду, чтобы нажатие клавиш «Вверх» и «Вниз» инициировало чтение комбинированного списка с помощью Sendkeys из INSERT + UP или, возможно, каким-либо другим способом, которого я не знаю. Это возможно? Есть идеи?

Заранее спасибо.

1 Ответ

0 голосов
/ 06 сентября 2018

Интересно, задают ли правильный вопрос? Это звучит как проблема в Access, которую вы пытаетесь обойти. Я не знаком с самим Access (так что я, вероятно, не должен комментировать), но я очень хорошо знаком с доступностью.

Вы вкладываете флажок в ячейку или флажок во всплывающем диалоговом окне, например, когда вы сортируете столбец и хотите выбрать / отменить выбор некоторых фильтров? Проблема в том, что сам флажок не имеет метки для чтения или что она имеет метку, но метка может быть прочитана только с помощью сочетания клавиш «read all» (например, ins + down) или «read current» (Ins + вверх)?

Чтобы обозначить это в терминах html, в следующем коде будет отображаться флажок, который визуально выглядит так, как будто флажок имеет метку, но программа чтения с экрана не знает, что метка есть.

<input type="checkbox">Do you feel well today?

Программа чтения с экрана просто скажет «флажок». Однако, если вы привязываете метку к флажку, используя элемент <label>

<input type="checkbox" id="mycheck"><label for="mycheck">Do you feel well today?</label>

затем программа для чтения с экрана знает , что у флажка есть ярлык и он говорит: «Вы сегодня хорошо себя чувствуете, флажок не проверен».

Я знаю, что это касается исходного вопроса, но мне интересно, создаете ли вы флажок в Access или пытаетесь перейти к флажку, который изначально существует в Access (например, диалоговое окно сортировки). Если вы создаете флажок, то аналогично тому, как вы должны связать ярлык с флажком в html, мне интересно, есть ли способ связать ярлык с флажком в Access. Если так, то вам не понадобится обходной путь.

...