Как заставить JAWS читать простую метку? - PullRequest
4 голосов
/ 18 ноября 2011

Это должно быть просто, но, очевидно, никто не знает: если я добавлю элемент управления Label в свой диалог на основе Windows Forms и хочу, чтобы JAWS прочитал этот ярлык, как бы мне этого добиться?

Он отлично работает, используя AccessibleDescription для других элементов управления, таких как кнопки, но не работает с ярлыками. Даже MS не совсем знает, . Я также спросил FreedomScientific, но они просто дали мне какой-то ответ по умолчанию, например

  • Проверьте www.microsoft.com/enable
  • Прочитать файл справки JAWS
  • Использование сценариев JAWS (хотя я не хочу напрямую управлять JAWS)
  • Адреса компаний, предоставляющих услуги по настройке приложений

Все не очень полезно.

Ответы [ 4 ]

3 голосов
/ 14 мая 2012

У меня была эта проблема для моего приложения Windows Forms.

Кажется, JAWS не читает статический текст на экране автоматически.

Нажатие клавиш "INSERT" + "B" на клавиатуре вызвало "Действие JAWS «Чтение текущего окна» - JAWS затем читает свойство Label.AccessibleDescription (а также другие подробности на экране).

Таким образом, вам нужно установить свойства специальных возможностей, а пользователь должен выполнить нажатия клавиш JAWS, чтобы прочитать метки, насколько я могу судить.

0 голосов
/ 10 мая 2016

По умолчанию JAWS никогда не читает текстовое значение метки, если оно полностью лежит на всей форме.Но в целом это не тот сценарий.Поэтому, если у вас есть и другие элементы управления в форме, такие как флажок, кнопка выбора, текстовое поле и т. Д. (Вместе с меткой), для которых можно установить свойство tabStop из окна свойств, тогда это решение будет работать.Добавьте групповой блок в форму и поместите метку и любой другой элемент управления, способный фокусироваться, внутри группового блока.Установите свойство табуляции для элемента управления с фокусировкой на True.Теперь, когда приложение запускается и момент фокусировки достигает внутри группового поля из-за элемента управления для остановки вкладки, свойство tabStop которого установлено в true, JAWS будет читать текст метки.

Существует еще одна концепция виртуализации окнав JAWS, для которого требуется какой-либо сценарий, но он редко используется, и это не стандартный и стандартный способ, который может быть легко использован конечными пользователями.

Редактировать 1 : Другой вариант -используйте текстовое поле вместо метки.Текстовое поле - фокусируемое управление.Теперь очевидно, что текстовое поле будет выглядеть как метка.Установите следующие два свойства, чтобы это произошло:

  1. ReadOnly = True
  2. BorderStyle = Нет

Изменить 2 : Вы можететакже подумайте о подсказке.Настройки в JAWS могут быть включены для чтения всплывающей подсказки элемента управления.Поэтому, если есть пара элементов управления надписью и текстовым полем, представляющих какое-либо поле, вы можете добавить всплывающую подсказку к вашему текстовому полю, которую может прочитать JAWS.

0 голосов
/ 17 апреля 2015

Я использую свойство AccessibleName и задаю TextBox, Button и ComboBox имя, которое он может прочитать в этом свойстве. Кажется, это работает для большинства вещей. Я не могу заставить его читать этикетки еще. Если метка отображает динамические данные, я бы предложил изменить динамическую часть метки, полностью или частично, на TextBox, редактируемый или нет, и установить его имя Accessibility. Когда он получает вкладку или получает фокус, он должен подготовить AccessibleName, а затем значение. Таким образом, tbAmoundOwed должен звучать как «Amount Owed Text Box 125.78 долларов» (или что-то похожее в зависимости от использования Jaws или другого читателя.) **** Это все еще в стадии разработки. Я не нашел, как читать заголовки столбцов в ListView. Если вы устанавливаете фокус на строку в ListView, вам часто нужно следить за этим, устанавливая фокус и на ListView.

0 голосов
/ 22 ноября 2011

JAWS не обязательно документирует, используя терминологию разработчика: если то, что вы пытаетесь сделать, это HTML, тогда посмотрите на Быстрые клавиши навигации для HTML или комбинацию клавиш JAWS для типа элемента, который вы используете .

Попробуйте использовать «F» для FORM или «H» для HEADING или INSERT + F5, чтобы увидеть, отображается ли список полей формы в списке. Нет ничего конкретного для TITLE как средства навигации для конечных пользователей, использующих JAWS (хотя обратное проектирование того, как они «отображаются» в JAWS, является простым методом проб и ошибок).

...