Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Все, что вы хотели знать о написании скриптов для JFW, 16 страница



 

TrapKeys - включает и выключает режим Trap Key. Когда включен режим

Trap Key, любые клавиши, не закрепленные за скриптами, не передаются в

текущее приложение, а просто игнорируются. В основном этот режим

используется в помощи по клавиатуре, где клавиши, не закрепленные за

скриптами, необходимо игнорировать.

 

TurnOffFormsMode - используется для выхода из режима форм и повторного

включения виртуального PC курсора.

 

ToggleHomeRow - включает и выключает режим Home Row. Режим Home

Row - это смещенное состояние клавиатуры. Он аналогичен клавише

NumLock на цифровой клавиатуре. Когда режим включен, с помощью

алфавитных и цифровых клавиш можно выполнять специфические функции

скриптов. В этом режиме также доступен набор специфических функций,

связанных с окнами. Когда режим Home Row снова выключен, клавиши

выполняют свои стандартные функции.

 

ToggleRestriction - переключает Jaws между ограниченным и неограниченным

режимами. Эти режимы не влияют на перемещение PC курсора. Когда

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

перемещаться в рамках окна активного приложения. Когда используется

ограниченный режим, движение курсоров ограничивается рамками дочернего

окна. Когда функция используется, она возвращает имя константы,

представляющей новую настройку. On = ограниченный режим, Off =

неограниченный режим.

 

TypeCurrentScriptKey - передает клавишу, закрепленную за текущим скриптом,

прямо в приложение.

 

TypeString - используется для симуляции набора строки символов. Например,

чтобы послать строку символов в приложение, симулируя строку "test",вы

можете либо ввести строку {t}{e}{s}{t}, или использовать

TypeString ("test").

 

VerbosityLevel - контролирует количество информации, произносимой JFW,

когда фокус изменяется, или когда на экране происходят другие события или

в ответ на нажатия клавиш.

 

While - оператор While отмечает начало цикла While, конец которого

указывается утверждением EndWhile. Циклы While можно создавать для того,

чтобы повторно повторять ряд операций скриптов, пока условие не станет

истинным или ложным. Таким образом, циклы While можно использовать для

выполнения повторяющихся действий и экономить место, или для повторного

выполнения действий, когда пользователь заранее не знает, сколько раз

потребуется повторить действие.

 

Приложение D

 

Важные встроенные функции, сгруппированные по назначению



 

Примечание: в этом списке отражены функции, которые появились в JFW 3.5.

Те, кто использует более ранние версии, могут не обнаружить некоторых

функций, описанных здесь.

 

Курсор

 

Используйте следующие функции для активизации и позиционирования

четырех курсоров, доступных в Jaws: PC, Jaws, невидимый и виртуальный.

 

GetActiveCursor

SayActiveCursor

GetCursorCol

GetCursorRow

SayCursorPos

CaretVisible

SaveCursor

RestoreCursor

InvisibleCursor

RouteInvisibleToJAWS

RouteInvisibleToPC

IsInvisibleCursor

JAWSCursor

RouteJAWSToPC

RouteJAWSToInvisible

IsJAWSCursor

ToggleRestriction

SetRestriction

SetRestrictionToFrame

SetRestrictionToRect

GetRestriction

GetRestrictionName

PCCursor

RoutePCToJAWS

IsPCCursor

RouteBrailleToJAWS

RouteBrailleToPC

RouteJAWSToBraille

RoutePCToBraille

IsVirtualPCCursor

TurnOffFormsMode

 

Позиционирование

 

Используйте следующие функции для позиционирования курсора, получения

информации в нужном месте, и выбора текста.

 

MoveTo

MoveToControl

MoveToGraphic

MoveToWindow

MoveToFrame

JAWSEnd

JAWSHome

JAWSPageDown

JAWSPageUp

PriorCharacter

GetCharacter

GetCharacterPoints

GetCharacterFont

NextCharacter

PriorChunk

GetChunk

NextChunk

PriorLine

GetLine

GetLineTop

NextLine

PriorWord

GetWord

NextWord

GetField

GetCharacterAttributes

GetCharacterWidth

NextParagraph

PriorParagraph

NextSentence

PriorSentence

NextNonLink

GetSelectedText

SelectNextCharacter (Used primarily by MAGic)

SelectPriorCharacter (Used primarily by MAGic)

SelectNextWord (Used primarily by MAGic)

SelectPriorWord (Used primarily by MAGic)

SelectNextLine (Used primarily by MAGic)

SelectPriorLine (Used primarily by MAGic)

SelectToEndOfLine (Used primarily by MAGic)

SelectFromStartOfLine (Used primarily by MAGic)

SelectNextScreen (Used primarily by MAGic)

SelectPriorScreen (Used primarily by MAGic)

SelectToBottom (Used primarily by MAGic)

SelectFromTop (Used primarily by MAGic)

TabKey

ShiftTabKey

BackspaceKey

EnterKey

NextCell

PriorCell

UpCell

DownCell

GetCell

GetColumnHeader

GetRowHeader

InTable

 

Условная обработка и циклы

 

Используйте следующие функции для условной обработки и циклических

операций.

 

If-Then

EndIf

Else

ElIf

Not

While

EndWhile

 

Say

 

Используйте следующие функции для озвучивания информации или с экрана,

или используя сообщения внутри скриптов.

 

Say

SayAll

SayInteger

SayCharacter

SayCharacterPhonetic

SayWord

SpellWord

SayChunk

SayControl

SayField

SayLine

SayToCursor

SayFromCursor

SayTextBetween

SayToBottom

SayFont

SayString

SpellString

SayParagraph

SaySentence

SayUsingVoice

SayCell

SayColumnHeader

SayRowHeader

 

Манипуляция строками

 

Используйте следующие функции для получения данных о строках и

манипуляции с ними.

 

StringContains

SubString

StringToInt

IntToString

StringLength

StringLower

StringUpper

StringSegment

StringLeft

StringRight

ProcessNewText

 

Приложение

 

Используйте следующие функции для получения информации о приложении.

 

GetAppFileName

GetAppTitle

GetAppFilePath

GetTreeViewLevel

GetProgramVersion

GetWindowAtPoint

IsPointInWindow

 

Брайль

 

Используйте следующие функции, чтобы запрашивать брайлевские условия и

выводить строки на брайлевском дисплее.

 

BrailleInUse

PriorBrailleString

BrailleString

NextBrailleString

BraillePanLeft

BraillePanRight

BrailleLine

SixDotBraille

EightDotBraille

GetBrailleCellColumn

GetBrailleCellRow

GetBrailleMode

SetBrailleMode

GetLastBrailleRoutingKey

BraillePriorLine

BrailleNextLine

BrailleG2StringLength

BrailleRefresh

BrailleString

IsBrailleCursor

BrailleAddFocusItem

BrailleAddFocusLine

BrailleAddFrame

BrailleAddString

 

Мышь

 

Используйте следующие функции, чтобы перемещать, щелкать и получать

информацию об указателе мыши.

 

MouseUp

MouseDown

MouseLeft

MouseRight

LeftMouseButton

LeftMouseButtonLock

ShiftLeftMouseClick

AltLeftMouseClick

ControlLeftMouseClick

IsLeftButtonDown

RightMouseButton

IsRightButtonDown

GetCursorShape

DragItemWithMouse

 

Поиск

 

Используйте следующие функции для поиска специфической информации на

экране.

 

FindFirstAttribute

FindPriorAttribute

FindNextAttribute

FindLastAttribute

FindGraphic

FindString

JAWSFind

JAWSFindNext

FindColors

FindDescendentWindow

FindTopLevelWindow

 

Окна и объекты

 

Используйте следующие функции для получения информации об окнах и

объектах, и чтобы перемещаться от окна к окну.

 

GetForegroundWindow

GetCurrentWindow

HasTitleBar

GetRealWindow

GetAppMainWindow

GetFirstWindow

GetPriorWindow

GetNextWindow

GetWindowLeft

GetWindowRight

GetParent

IsWindowDisabled

IsWindowObscured

IsWindowVisible

GetFirstChild

GetWindowClass

GetWindowName

GetWindowsOS

GetWindowSubtypeCode

GetWindowType

GetWindowTypeCode

GetWindowText

GetWindowTextEx

JAWSWindow

MinimizeAllApps

SayWindow

SayWindowTypeAndText

GetFocus

SetFocus

HasFocusRect

SayFocusRect

SayFocusRects

GetFocusRect

GetFocusRectBottom

GetFocusRectLeft

GetFocusRectRight

GetFocusRectTop

GetTextInFocusRects

ActivateMenuBar

DialogActive

GetDialogPageName

GetDialogStaticText

IsMultiPageDialog

GetControlID

GetCurrentControlID

GetDefaultButtonName

MenusActive

GetObject

GetObjectAtPoint

GetObjectType

GetObjectTypeCode

SayObjectTypeAndText

GetCurrentObject

GetFocusObject

GetObjectName

GetObjectValue

GetObjectRect

GetObjectState

GetLineTop

GetWindowBottom

GetWindowTop

RefreshWindow

ToggleHomeRow

ControlCanBeChecked

ControlIsChecked

GetGroupBoxName

GetControlAttributes

SayObjectActiveItem

IE4GetCurrentDocument

GetHTMLFrameCount

GetLinkCount

MSOGetMenuBarObject

GetItemRect

GetWindowRect

 

Фреймы

 

Используйте следующие функции для чтения фреймов и манипуляции ими.

 

GetFrameDescription

GetFrameNameAtCursor

GetFrameSynopsis

SayFrame

SayFrameAtCursor

GetTextInFrame

 

Скрипты

 

Используйте следующие функции, чтобы получать информацию о скриптах и

файлах скриптов и управлять их деятельностью.

 

GetCurrentScriptKeyName

GetScriptDescription

GetScriptKeyName

GetScriptSynopsis

IsSameScript

PerformScript

AddHook

RemoveHook

TrapKeys

SwitchToScriptFile

GetScriptFileName

 

SDM

 

Следующие функции используются для получения только о диалогах SDM.

 

SDMGetFocus

SDMGetFirstControl

SDMGetPrevControl

SDMGetNextControl

SDMGetLastControl

SDMSayControl

SDMSayWindowTypeAndText

SDMGetCurrentControl

 

Уровень озвучивания

 

Следующие функции запрашивают настройки подробности и переставляют их.

 

GetScreenEcho

ScreenEcho

GetVerbosity

VerbosityLevel

 

Параметры

 

Используйте следующие функции для получения информации о настройках

Jaws и для их изменения.

 

SetJAWSLanguage

GetJcfOption

SetJcfOption

GetDefaultJcfOption

SetDefaultJcfOption

GetHotKey

GetJAWSDirectory

GetJAWSSettingsDirectory

GetJAWSHelpDirectory

GetJFWVersion

InHJDialog

 

Работа системы

 

Используйте следующие функции для взаимодействия с системой.

 

MessageBox

PassKeyThrough

PlaySound

Pause

Delay

Refresh

Run

FileExists

GetFileDate

DLGSelectItemInList

DLGSelectScriptToRun

ScheduleFunction

UnscheduleFunction

ActivateStartMenu

Beep

CopyToClipboard

GraphicsLabeler

SetGraphicLabel

GetGraphicID

GraphicsEnumerate

GraphicsListHelper

ShutDownJAWS

IsJFWInstall

IsKeyWaiting

ScreenGetWidth

ScreenGetHeight

SysTrayGetItemCount

SysTrayGetItemToolTip

SysTrayMoveToItem

DLGSysTray

SysGetDate

SysGetTime

StartJawsTaskList

GetWindowsSystemDirectory

GetJAWSDirectory

GetJAWSHelpDirectory

GetJAWSSettingsDirectory

GetJAWSUserName

GetJFWVersion

ShowHelpByName

ShowHelpByID

 

Цвета

 

Следующие функции можно использовать, чтобы узнавать цвета на экране и

манипулировать ими.

 

GetColorBackground

GetColorText

GetColorName

ColorToRGBString

RGBStringToColor

GetColorField

 

Управление синтезатором

 

Следующие функции используются для управления работой синтезатора.

 

ResetSynth

SpeechOn

SpeechOff

IsSpeechOff

StopSpeech

SpeechInUse

SetSynth

SetSynthLanguage

 

Приложение E

 

Как справиться с неизвестным приложением

и настроить его

 

I. Определите, насколько хорошо приложения работают без всяких настроек.

A. Озвучиваются ли как положено окна диалогов?

B. Может ли пользователь быстро найти важную информацию на экране?

C. Все ли задачи можно выполнить с помощью клавиатуры?

D. Какую информацию следует объединить на брайлевском дисплее для

быстрого доступа?

 

II. Изучение диалогов

A. Скрипты утилит в режиме Home Row и скрипт ScreenSensitiveHelpTechnical

(Ctrl+Insert+F1) могут помочь следующим образом:

1. Определить, является ли каждый элемент управления самостоятельным

окном.

2. Если окна имеют нестандартные классы окон, постараться их

переназначить. Приводит ли это к озвучиванию правильных типов окон, когда

вы переходите к ним? (неизвестные классы окон можно переназначить на

известные, используя диалог Window Class (классы окон), доступ к которому

осуществляется через команду Insert+7 на цифровой клавиатуре или через

команду Insert+F2, после чего нужно нажать букву W и Enter.)

Рекласификация полей редактирования в Internet Explorer таким образом имеет

в результате то, что такие окна читаются как положено.

 

B. Если приглашения не озвучиваются, попробуйте изменить значение

EditPromptSearch. Это можно изменить в диспетчере конфигурации, доступ к

которому осуществляется через Insert+6 или по команде Insert+F2, после чего

нажимается Enter. Настройка EditPromptSearch находится в разделе Advanced

Options (Продвинутые опции) в пункте меню Set Options (установить

параметры). Более высокий номер означает более агрессивный поиск с

большей вероятностью того, что приглашения будут озвучиваться, но

возможность ошибок также увеличивается. Эта техника использовалась в

просмотре таблиц в MS Access.

 

C. Если PC курсор не отслеживает нужный объект в нестандартном элементе

управления,

1. Попробуйте установить TrackFocusRect=1 в файле конфигурации.jcf для

конкретного приложения. Это делается путем добавления этой строки к

разделу [OSM] соответствующего.jcf файла. Это должно позволить PC

курсору отслеживать фокус, если фокус является прямоугольником.

(некоторые электронные таблицы, такие как Microsoft Excel, используют

вариант прямоугольного фокуса, который может отслеживаться только

включением блока проверки "Include lines" (Включать строки), который

находится в разделе Advanced Options (Продвинутые настройки) в пункте

меню Set Options (Установить параметры). Если любая из этих настроек

приводит к отслеживанию фокуса, автоматическое озвучивание можно

заскриптировать, добавив вызовы функции SayFocusRect к скриптам,

связанным с клавишами курсора и табуляции.

2. Модифицируйте функцию FocusChangedEvent или SayFocusedWindow чтобы

настроить обработку диалогов, создающих проблемы. В качестве примера

посмотрите функцию FocusChangedEvent в файле EUDORA.JSS.

3. Напишите пользовательскую функцию для каждого диалога, и пусть

FocusChangedEvent вызывает эту функцию, когда будет активным этот диалог.

Для примера посмотрите функцию FocusChangedEvent в файде WINWORD.JSS,

которая была модифицирована для обработки SDM окон и двух версий

Microsoft Word.

4. Когда вы клавишей Tab перемещаетесь между органами управления,

вызывается ли FocusChangedEvent? Если нет, добавьте строку

ForceFocusChange=1 в раздел [OSM] файла конфигурации.JCF для

приложения, и попробуйте еще раз. Функция FocusChangedEvent обычно

вызывается только в том случае, если новый фокус имеет ручку окна,

отличную от той, которая была у предыдущего окна. В некоторых

приложениях, например в некоторых частях MS Access, поле редактирования

может иметь ту же самую ручку, что и предыдущее поле. Активизировав

опцию ForceFocusChange, вы заставляете функцию FocusChangedEvent

запускаться всякий раз, когда новое окно имеет другие координаты пикселей,

нежели старое.

5. Имеют ли органы управления уникальные контрольные идентификаторы?

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

активным. Таким образом, можно использовать выражение If-Then чтобы

проверить значение контрольного идентификатора окна, а затем выполнить

какие-то операции или озвучивать какие-либо сообщения для каждого

уникального контрольного идентификатора.

 

6. Используйте координаты пикселей, чтобы определить, какой орган

управления является активным. (координаты должны быть относительно окна,

а не относительно экрана). Таким образом, можно использовать выражение

If-Then, чтобы проверить координаты текущей локализации, а затем выполнить

определенные операции или озвучить определенные сообщения для каждого

уникального набора координат.

 

7. Пишите пользовательский код для каждого проблематичного органа

управления.

A. Если диалог представляет собой одно большое окно, то есть, органы

управления не имеют уникальных контрольных идентификаторов, установив

TrackFocusRect=1, PC курсор может перемещаться, когда вы нажимаете

клавишу Tab, среди органов управления.

B. Напишите скрипт для озвучивания соответствующей информации,

основываясь на локализации пикселей, и закрепите этот скрипт за клавишами

Tab и Shift+Tab.

 

III. Обнаружение важной информации на экране

 

A. Создайте фреймы вокруг областей, представляющих интерес. Закрепите их

за горячими клавишами или сделайте так, чтобы они озвучивались

автоматически. (пример того, где это можно сделать, это номера страниц на

строке состояния в Microsoft Word. Можно читать номер текущей страницы

по горячей клавише, задав ей читать фрейм, или создать фрейм так, чтобы он

озвучивал все изменения в номерах страниц автоматически.

B. Проследите иерархию окон, чтобы найти интересующую информацию. То

есть, перемещайтесь вверх и вниз по родительским и дочерним окнам, или по

окнам на одном и том же логическом уровне, чтобы найти орган управления

или текстовое поле, которое вас интересует.

C. Поищите текст или графические элементы на экране. Примером этого

может служить поиск кнопок на панели инструментов в Microsoft Office

чтобы проверить их состояние нажатости или ненажатости. Это не так

надежно, как отслеживание иерархии окон.

 

IV. Предоставление расширенного доступа при помощи клавиатуры

 

A. Напишите скрипт для перемещения в определенные места и пусть там

щелкает мышь. Закрепите эти скрипты за клавишами. Это симулирует доступ

через клавиатуру и увеличивает эффективность.

1. Воспользуйтесь функцией MoveToFrame для позиционирования в важные

точки внутри определяемых пользователем фреймов.

2. Воспользуйтесь функцией MoveTo для позиционирования в важных точках

на экране.

3. Используйте функцию FindGraphic для позиционирования в важных точках,

ассоциированных с элементами графики.

4. Используйте функцию FindString для позиционирования в важных точках,

которые содержат конкретный текст.

 

V. Настройка брайлевского вывода

 

A. Модифицируйте BrailleBuildLine чтобы объединить необходимую

информацию в разных обстоятельствах, такую как braille build диалог, меню и

другое в скриптах по умолчанию.

B. Модифицируйте BrailleBuildStatus чтобы использовать BrailleSetStatusCells

чтобы предоставлять контекстно зависимую информацию, такую как

информацию об атрибутах.

C. Добавьте информационные сообщения.

1. Сделайте пользовательские версии помощи по горячим клавишам (Insert+H0.

2. Сделайте пользовательскую версию контекстно зависимой подсказки

(Insert+F1).

 

VI. Наименование скриптов и функций для конкретных приложений

 

A. Если он имеет аналогичное назначение, что и скрипт или функция в файле

по умолчанию, присвойте ему то же имя и не присваивайте клавишу,

специфичную для конкретного приложения. Закрепление в раскладке

клавиатуры по умолчанию будет его запускать.

B. Используйте раскладку клавиатуры, специфичную для приложения, чтобы

закреплять клавиши за скриптами, которые являются уникальными (и имеют

уникальные имена) для данного приложения. Например, посмотрите

использование F7 для проверки орфографии в Microsoft Word.

 

C. Если скрипт обрабатывает и обычную, и специфичную ситуации, пусть

вызывается версия по умолчанию из default.jss для всех нормальных ситуаций,

чем дублировать код по умолчанию в файле скриптов по умолчанию. Скрипт

для приложения должен содержать специальный код, необходимый для

специальных ситуаций.

1. Используйте скрипты для создания действий, которые можно закрепить за

клавишами.

2. Используйте функции для создания шаблонных действий, которые нет

необходимости закреплять за клавишами.

C. Используйте поля Synopsis и Description, когда будете создавать скрипты и

функции. Эти поля предоставляют информацию для режима помощи по клавиатуре.


Дата добавления: 2015-11-04; просмотров: 14 | Нарушение авторских прав







mybiblioteka.su - 2015-2024 год. (0.075 сек.)







<== предыдущая лекция | следующая лекция ==>