Диспетчер фреймов

Дата публикации:2006
Поделиться в Twitter Поделиться в F******k Поделиться в VKontakte Поделиться в Telegram Поделиться в Mastodon

Правила активации

Правила активации (Validation Rules) устанавливают условия, при которых Jaws считает определенный фрейм активным. Активный фрейм получает информацию о событиях и, если это установлено в его свойствах, может выполнить некоторые действия. В основе правил активации лежит сравнение информации, появляющейся на экране с теми данными, которые содержат в себе эти правила. Правила активации определяются пользователем самостоятельно при помощи Диспетчера фреймов. Для того чтобы фрейм был активным только в требуемые моменты времени и оставался неактивным в любое другое время, пользователь должен очень аккуратно настроить правила активации фрейма, то есть правильно выбрать тип информации для сравнения, условия сравнения и данные, с которыми будет сравниваться информация. Если пользователь установит чересчур "мягкие" правила активации фреймов, то фреймы могут оказаться слишком многословными, что затруднит восприятие важной информации. Напротив же, очень "жесткие" правила активации могут вообще никогда не сработать и важная информация окажется недоступной для пользователя.

Формально правило активации состоит из трех компонентов:

  1. Вид (тип) информации, которая будет проверена для определения активности/неактивности фрейма.
  2. Условие (тип сравнения) - это операция, которая устанавливает отношение между информацией и данными, которые используются для сравнения.
  3. Данные (значения), которые используются для сравнения.

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

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

Вид информации

Информация, которая подлежит проверке в правилах активации, - это часть той информации, которую использует в своей работе Jaws и которую он может предоставить пользователю. Следующие виды информации доступны для анализа в правилах активации:

  • Заголовок Окна (Window Title) - это текст, расположенный в самой верхней строке окна (так называемой "строке заголовка").Большинство приложений имеют оригинальные заголовки, что позволяет отличать их друг от друга. Кроме того, в некоторых приложениях текст заголовка окна изменяется в зависимости от выполняемых действий. Например, многие редакторы текста отображают в заголовке окна имя редактируемого файла. С одной стороны, это позволяет задать более "жесткое" условие и сделать фрейм активным, например, только для определенного файла. С другой стороны, такой фрейм мог бы оказаться полезным и для других файлов, но будет неактивным, потому что заголовок окна не будет удовлетворять правилу активации. Все это необходимо учитывать при использовании заголовка окна в качестве информации для сравнения.
  • Класс Окна (Window Class) - это текстовый идентификатор, который используется операционной системой Windows и приложениями для внутренних нужд. Однако информация о классе окна доступна для Jaws и может быть использована в Правилах активации фрейма. Пользователь может получить информацию о классе текущего окна или элемента управления, если нажмет комбинацию клавиш CTRL+INSERT+F1. В появившемся окне виртуального просмотра находится строка "Class", в которой и указан класс окна.
    В операционной системе Windows есть несколько базовых классов окон, однако, помимо них, приложения создают свои классы. В большинстве приложений информация о классе окна или элементов управления не изменяется при каждом запуске приложения. В таких приложениях Правила активации, использующие информацию о классе окна, работают корректно. В других приложениях класс окна назначается автоматически при запуске программы и каждый раз может иметь новое значение. Кроме того, в разных версиях приложения один и тот же элемент управления или окно могут иметь разные классы в разных версиях.
  • Текст Окна (Window Text) - это текст, который появляется во внутренней области окна. Если в Правиле активации указан этот вид информации, то Jaws ищет в границах определенного окна фрагмент текста (строку), совпадающий с тем текстом, который определен пользователем в качестве данных для сравнения.
    По мнению разработчиков Jaws, проверку на присутствие определенной строки в тексте окна нужно дополнять другими Правилами активации и назначать этим правилам более высокий приоритет, чтобы они проверялись в первую очередь. Дело в том, что поиск текста внутри окна занимает некоторое время и является более долгой процедурой, чем, скажем, проверка заголовка или класса окна. Поэтому если есть возможность установить более быстрое условие проверки активности/неактивности фрейма, то необходимо использовать это условие, помещая его до проверки текста внутри окна.
  • Текст Фрейма (Frame Text) - это текст, который появляется во внутренней области фрейма. Если в Правиле активации в качестве информации для определения активности фрейма используется текст фрейма, то Jaws проверяет содержимое фрейма на присутствие в нем строки текста, указанной пользователем в данных для сравнения.При использовании этого вида информации рекомендуется придерживаться тех же правил, что и при использовании текста окна.
Условия (типы сравнения)

Как уже говорилось, обрабатывая Правила активации, Jaws проверяет истинность определенного условия, то есть выполняет операцию сравнения информации с теми данными (значениями), которые пользователь указал в свойствах фрейма.Пользователь также может выбрать условие (тип сравнения) из предлагаемых программой Jaws. Имеются такие типы сравнения:

  • Is (равно) - Правило активации срабатывает, если сравниваемые информация и значение точно совпадают.
  • Is Not (Не равно) - Правило активации будет работать, если информация и значение не совпадают.
  • Contains (Содержит) - Правило активации будет работать, если значение содержится в информации (например, "морск" содержится в "морская черепаха").
  • Does Not Contain (Не Содержит) - Правило активации будет работать, если значение не содержится в информации (например, "морск" не содержится в "речная флотилия").
Данные (значения) для сравнения

Данные или значения, используемые для сравнения, определяются пользователем при создании Правил активации. Это своего рода константы, так как информация, которую получает и проверяет Jaws во время обработки Правил активации, изменяется в зависимости от активного приложения (например, заголовки окон различаются у разных приложений), а значение, с которым информация сравнивается (например, строка "WinAmp"), остается неизменным до тех пор, пока пользователь сам не захочет изменить Правило активации.

В качестве иллюстрации различных вариантов выбора значения для сравнения в Правилах активации разработчики программы Jaws приводят пример с классами окон в Microsoft Word 97 и 2000. Дело в том, что в некоторых диалогах Microsoft Word 2000 все элементы управления имеют класс окна "bosa_sdm_Microsoft Word 9.0". Предположим, что пользователь создал фрейм, для которого задал Правило активации, проверяющее класс окна на равенство (Is) строке "bosa_sdm_Microsoft Word 9.0". Полученное правило будет активизировать фрейм только в указанной версии Microsoft Word. Если пользователь захочет применить данный фрейм в Microsoft Word 97, то он должен знать, что класс окна в этой версии Word слегка отличается. Это - "bosa_sdm_Microsoft Word 8.0." Чтобы фрейм работал в обеих версиях Word, пользователь должен выполнить одно из двух действий:

  1. добавить еще одно Правило активации, которое будет включать фрейм в случае, когда класс окна равен (Is) строке "bosa_sdm_Microsoft Word 8.0".
  2. поменять в Правеле активации условие (тип сравнения) на Contains (Содержит) и поменять значение для сравнения на "bosa_sdm_Microsoft Word".
Создание правил активации

Создавая новые правила активации фрейма или изменяя существующие, пользователь должен заполнить поля ввода значений в целой группе диалогов. Диалоги следуют один за другим и переход к следующему диалогу осуществляется нажатием кнопки "Далее" ("Next"). В завершающем диалоге вместо указанной кнопки располагается кнопка "Готово" ("Finish"). Кнопки "Далее" и "Готово" являются кнопками по умолчанию. Прервать процедуру создания или изменения правил активации можно нажатием клавиши Escape. Заголовки диалогов создания правил активации содержат строку "Create Validation Rule" ("Создание правила активации"), а диалоги изменения существующих правил активации - строку "Modify Validation Rule" ("Изменение правила активации").

Далее приводится краткое описание этих диалоговых окон.

  1. Information Type - Диалог, в котором пользователь должен определить вид информации, который будет использован в данном правеле активации фрейма. Здесь доступен блок из четырех радиокнопок, который позволяет выбрать один из следующих видов информации: Window Title (Заголовок окна), Window Class (Класс окна), Window Text (Текст в окне), Frame Text (Текст во фрейме). Одно правило активации анализирует информацию лишь одного вида, поэтому для анализа информации другого вида следует создать еще одно правило активации.
  2. Comparison Type - Диалог, в котором пользователь должен указать условие (тип сравнения). Можно выбрать один из следующих вариантов: Is (равно), Is Not (Не равно), Contains (Содержит), Does Not Contain (Не содержит).
  3. Comparison Value - Диалог, в котором пользователь должен указать значение для сравнения, то есть одно или несколько слов, наличие или отсутствие (в соответствии с типом сравнения) будет проверяться для выбранного ранее вида информации. В этом диалоге находится поле редактирование, в котором и следует набрать нужный текст на клавиатуре. Затем, перейдя на кнопку "Add" ("Добавить"), добавить текст в список значений. После добавления нового значения в этот список будут доступны кнопки "Remove" ("Удалить") и "Modify" ("Изменить", при помощи которых можно удалить ненужное значение или отредактировать существующее. Не закрывая этого диалога, пользователь может добавить несколько значений для сравнения, вводя их в поле редактирования и нажимая кнопку "Add" ("Добавить"). Этот диалог является завершающим при создании или изменении правила активации, поэтому, чтобы правило активации появилось в списке правил, следует нажать кнопку "Готово". После чего активной станет вкладка "Validation Rules" ("Правила активации") диалога Frame Properties (Свойства фрейма).

Дальше >>



Распространение материалов сайта означает, что распространитель принял условия лицензионного соглашения.
Идея и реализация: © Владимир Довыденков и Анатолий Камынин,  2004-2024