|
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 | Нарушение авторских прав
<== предыдущая лекция | | | следующая лекция ==> |