PART TWO:  Chapter 4
FINDING SCREEN LOCATIONS,
TEXT, AND  COLORS
(Also contained in the disk file "24FIND.MAN".)
 
 
(Last revision:  November 1993.)
 
 
 
CONTENTS OF CHAPTER 4
 
    1.   INTRODUCTION . . . . . . . . . . . .2-4.107
    2.   GOTO . . . . . . . . . . . . . . . .2-4.107
         2.1  Absolute Screen Location. . . .2-4.108
         2.2  Relative Screen Location. . . .2-4.109
    3.   PLACE MARKERS. . . . . . . . . . . .2-4.111
    4.   STRING SEARCH. . . . . . . . . . . .2-4.112
         4.1  Entering a Search String. . . .2-4.113
                   Graphic Characters
                   Case Sensitivity
         4.2  Entering Search Options . . . .2-4.114
                   Default Search Options
                   Frame Numbers
                   Search Direction 
                   Examples of Using Search Options
         4.3  Case Sensitive Searches . . . .2-4.117
         4.4  Verify First Letter of Word . .2-4.117
    5.   ENHANCEMENTS AND COLORS. . . . . . .2-4.118
         5.1  Analyzing the Screen Display. .2-4.119
                   Speak Enhancement
                   Say Field Mode
         5.2  Enhancements Menu . . . . . . .2-4.121
         5.3  Different . . . . . . . . . . .2-4.122
         5.4  Find. . . . . . . . . . . . . .2-4.122
                   Color Attributes
                   Monochrome Attributes 
                   Search Options
                   Examples of Using Search Options
         5.5  Repeat. . . . . . . . . . . . .2-4.127
         5.6  Testing for Screen Attributes .2-4.128
    6.   COLOR BAR TRACKING . . . . . . . . .2-4.129
    7.   SUMMARY OF STRING AND ENHANCEMENT
         SEARCHES . . . . . . . . . . . . . .2-4.130
1.  INTRODUCTION
 
    This chapter describes the JAWS main menu selections of "Goto",
"Place markers", "Search", and "Enhance".  Each menu selection is a
separate function of the JAWS main menu, and each uses a different
approach for finding information that is displayed on the screen.  "Goto"
and "place markers" move the JAWS Cursor to specific screen locations
that are determined by the JAWS user.  These two functions are
commonly used to find a screen location and to read information that is
usually displayed at that specific point on the screen.  "Search" and
"enhance" functions are used to find text strings, colors and monochrome
screen enhancements.  These functions examine the contents of the
screen display to find information that could be in a variety of locations,
and then move the JAWS Cursor to the specific word, screen color, or
monochrome screen enhancement that was found.  When the
appropriate text or screen color/enhancement is found, then they read
the information.
 
    These four main menu functions can be used individually or used
in combination with other functions within macros to find information,
move the cursor, and read selected information.  In fact, these functions
serve as the beginning point for many of the automatic screen reading
capabilities of JAWS.  The process of using these functions for macros
and automatic screen reading is fully described in the chapter on the
macro manager, contained in PART TWO of this manual.
 
 
2.  GOTO
  
** begin figure **
 
JAWS Main Menu
Position:
Enter the position you want to go to
 
** end figure **
 
    Goto means to move the JAWS Cursor from one location to
another.  Selecting "Goto" from the JAWS main menu brings you to the
goto prompt.  The goto prompt is located on the selection line of the
menu display, and it asks you to specify the screen location or
destination for the JAWS Cursor when it is moved.  The prompt says
"Position:", and waits for you to enter the screen coordinates (row and
column numbers) that describes the destination where the JAWS Cursor
is to be placed.  Once you have entered the coordinates, then press
ENTER.  The JAWS Cursor will be moved to the specified location, and
you will exit the menu system.  Detailed information about the system
of row and column numbers that is used to identify screen locations was
presented in the chapter on cursor movement and screen reading,
contained in the beginning of PART TWO of this manual.  
 
    The goto function can be used to move to an absolute position on
the screen, or to move to a position that is relative to the location of the
JAWS Cursor.  Moving to an Absolute Position means to specifically
go to row 12 column 40.  Moving to a Relative Position means to move
the JAWS Cursor to a location that is a certain number of rows and
columns away from the current location of the JAWS Cursor.  For
example, you can move the JAWS Cursor one row up and five columns
to the left without specifying exact row and column coordinates.  The
goto function always moves the JAWS Cursor, because we cannot
depend on application software programs to allow JAWS to move the PC
Cursor to the locations we specify.  If you want to go to a relative
position from the location of the PC Cursor, then first use the Route
JAWS to PC Cursor and then do the goto.  If you want the PC Cursor
to be moved then follow the goto with the Route PC to JAWS Cursor. 
If your application allows JAWS to move the PC Cursor, then the PC
Cursor will be properly positioned.  These goto and cursor routing steps
could be included within a macro to make these movements
instantaneous.
 
2.1 Absolute Screen Location
 
    When the goto prompt is displayed on the selection line, you are
ready to enter absolute screen coordinates.  The arrangement of
numbers and letters in the row and column coordinates of the goto
function is very flexible.  The row number must be preceded or followed
by the letter "R" and the column number must be preceded or followed
by the letter "C".  The "R" and the "C" can either be uppercase or
lowercase.  The major restriction, when making entries, is that the
digits of the row number and column number cannot be immediately
next to each other.  The digits must be separated from one another by
the letters "R" or "C".  The following examples represent correct ways of
entering a screen location that will move the JAWS Cursor to the
absolute screen location at row 12 and column 40.
 
r12c40
12r40c
40c12r
c40r12
r12 c40
r 12 c 40
 
2.2 Relative Screen Location
 
    It is just as easy to goto a relative screen position as it is to goto
an absolute position.  When moving to a relative position, you must
think about where the JAWS Cursor is located, and then think about
where the cursor must be in order for you to read the information you
will need.  You begin by analyzing the screen with the JAWS Cursor to
determine the various screen locations where you will need to read
information, and then use the Position of Active Cursor function
(DELETE key) to identify the screen coordinates at the different
locations.  In this way, you can use simple math to determine the exact
number of rows and columns that are between the location of the cursor
and the information that you will want to read.  Once you have
determined the distance, you are ready to enter the coordinates that will
move the JAWS Cursor to a relative position.
 
    This sounds confusing until you consider an example.  The
relative goto function can be very useful when creating macros to read
information in a variety of situations such as when reading data
arranged in columns.  If, for example, you were using a checkbook
register software program which displays the names of payees at the
beginning of each line and displays the amount of their check beginning
at column 60 of the same line, then you could create a macro to read the
dollar amount that is exactly 60 columns to the right of the PC Cursor. 
This would mean that whenever you move up or down the screen to
another entry, then you could always use the same macro to read the
check amount.  A macro only simplifies a task, and you could, of course,
use a combination of key strokes to read the check amount in this
situation, but using the relative goto function within a macro would
make the process much faster.
 
    The process of entering coordinates for moving to a relative
position is similar to entering absolute coordinates.  The difference is
that you must specify the direction that the JAWS Cursor must move. 
Direction is indicated by the plus sign and minus sign (dash).  The plus
and minus signs are incorporated into the coordinates you enter at the
goto prompt.  A minus sign (-) placed in front of a row or column
number indicates that the JAWS Cursor should be moved up or to the
left by the indicated number of rows or columns.  A plus sign (+) placed
before a row or column number indicates that the JAWS Cursor should
be moved down or to the right by the specified number of columns or
rows.  
 
    The following entries move the JAWS Cursor 2 rows up and 10
columns to the right from its current location.  The minus and plus can
either be placed before or after the "R" and "C" of the coordinates.
 
    -R2+C10  or  R-2C+10
 
    The next entry omits the column coordinate and moves the JAWS
Cursor 5 rows straight up.  The JAWS Cursor can only be successfully
moved five rows up, if there are actually five or more rows above the
current position of the JAWS Cursor.  
 
    -R5
 
 
3.  PLACE MARKERS
  
** begin figure **
 
JAWS place markers menu
Go to  Set
Move the cursor to a place marker

** end figure **
 
    Place markers are used to record the current screen location of
either the PC or JAWS Cursor, so you can return to that exact screen
location at a later point in time.  The menu options for place markers
are:  go to and set.  To mark a screen location, you begin by placing
either the JAWS or PC Cursor at the appropriate location, and invoke
the JAWS Menu System.  Press P for place markers and press S for set,
or use the arrow keys to make these selections.  When you select "set",
you are presented with a prompt for identifying the place marker.  The
prompt says "Enter key:" and waits for you to press one of the alphabet
keys (A through Z).  JAWS records the letter you press along with the
coordinates of the active cursor.  JAWS makes note of which cursor was
active at the time you invoked the main menu, so be sure you activate
the appropriate cursor before you start setting place markers.
 
    For example, let us say you used the letter T to define a place
marker that marks the location where a software program always
displays the time of day, so that you can quickly check the time while
you are working.  In this way, if you want to read the time, then you
would invoke the JAWS main menu, press P for place markers, press
G for go to, and press T to indicate the place marker you wish to use. 
Now press Say Word, and JAWS will speak the time.
 
    JAWS will always move the JAWS Cursor to the location of the
place marker, but it may not always be able to move the PC cursor.  The
PC cursor is controlled by your application software program, and some
programs will not let JAWS move the application's cursor.  If the
application software program resists the attempt of JAWS to move its
cursor, then you will hear an error tone.  The tone indicates that JAWS
was unable to move the PC cursor, or that the cursor was moved as
close as Jaws could get it to the place marker.  It is important to note
that JAWS records a cursor's location in relationship to the coordinates
of the screen, and does not make note of the logical location of the cursor
within a text document or within the multiple screen displays of other
types of software programs.
 
    This means that if you place a cursor at the beginning of a
paragraph in a text document and define a place marker at that
location, then JAWS will only record the screen location with the place
marker.  The contents of the screen are unnoticed by JAWS.  Thus, if
you continue to modify the text on the screen and the location of that
paragraph moves up or down, then JAWS will not return the cursor to
the beginning of the paragraph.  JAWS will return the cursor to the
coordinates where the paragraph was when the place marker was set. 
Similarly, if you use a structured software program that has several
screens of data fields for entering information, you would need to use a
different set of place markers for each screen.  This is needed, because
the location of the first entry on the first screen might be in a slightly
different location than is the first entry on the second screen.  This
function is very useful for situations where changes in data always occur
in the same screen location.  If you need to read a certain piece of text
that could be displayed in a variety of locations, then the String Search
or Enhancement Search functions will be more appropriate.
 
 
4.  STRING SEARCH
 
    Selecting "Search" from the JAWS main menu brings you to the
first of two stops in the String Search function.  At the first stop, you
are asked to type the characters in the text string that you wish to find. 
At the second stop, you are asked to specify a frame number and/or a
direction for the search.  After you have specified the appropriate
information, then JAWS performs the search.  If the search is
successful, then the menu system will be exited, the JAWS Cursor will
be activated and positioned at the beginning of the characters or words
that were found, and the string will be spoken.  If the search fails, then
JAWS will produce an error tone, exit the menu system and restore the
cursor that was active when you began the search.
 
    It is important to remember that JAWS can only search for text
and graphic characters that appear on the screen.  Text that is above or
below the screen display, and text that has scrolled off the left or right
edges of the screen is not seen by JAWS, and therefore is not examined
during the search.  Word processing programs, for example, usually
have their own search function that can examine an entire document to
find matching text, regardless of whether it is displayed on the screen. 
Application software search functions were designed to meet needs that
are different than the search functions of JAWS.  It is, therefore,
unlikely that either the JAWS search function or your application
software search function can independently meet all of your needs for
doing searches.  It is important to understand the abilities and
limitations of the various search functions that are available for your
use, so that you can select the most appropriate one to meet your needs
at a particular point in time.  The efficient use of search functions is
important, because the ability to quickly find the information you need
or the screen location you desire is a basic requirement for using most
any type of application software program.
 
4.1 Entering a Search String
 
** begin figure **
 
JAWS Main Menu
Find: 
Enter the string to search for

** end figure **
 
    When you select "Search", the selection line displays the search
prompt, "Find:", followed by the last search string that was used by the
search function (if a string exists).  A Search String is any combination
of letters, numbers, graphic characters, and spaces that are entered at
the search prompt.  If a previously used search string is displayed
(referenced) when you select search from the JAWS main menu, and you
press ENTER, then the search is conducted using the referenced search
string.  If, however, you decide to type a new search string, then all you
need to do is to start typing.  As soon as you begin typing a new search
string, the referenced string disappears.  You can search for graphic
characters, include blank spaces, and use a combination of uppercase
and lowercase characters in your searches subject to the following
conditions.
 
Graphic Characters
    If you want to search for a graphic or extended ASCII character,
then you must use the decimal value of the graphic character as your
search string.  The decimal values are entered as three digit numbers
preceded by a "\" (back slash).  For example, a left arrow symbol has a
decimal value of 26.  You would type "\026" (without quote marks) at
the find prompt.  You also can search for a string of graphic characters
as when looking for the graphic figure used to indicate "enter".  The
enter figure is composed of three graphic characters and would be typed
as follows at the string search prompt, "\017\196\217".
 
Case Sensitivity
    JAWS will normally not differentiate between uppercase and
lowercase letters when searching for text strings.  Thus, even if you use
uppercase letters when entering your text string, JAWS will not try to
find matches for the uppercase letters, unless you use a special search
option parameter.  The search option parameter for case sensitivity is
explained below under search options.
 
4.2 Entering Search Options
 
** begin figure **
 
JAWS Main Menu
Options:  0
Enter Frame number and/or Top, Bottom, Cursor-backward

** end figure **
  
    After you type a search string and press ENTER, JAWS displays
the options prompt, which asks you to supply the search options.  The
Search Options define the area to be searched, and the physical
direction that is to be followed when searching.  The area that will be
searched can include the entire screen, or a rectangular portion of the
screen which is called a Frame.  Frames are numbered to help with
their identification.  It is not necessary to always enter a frame number
or to always indicate a search direction, because in many situations you
can use the default options.  The default options for both frame number
and search direction can be accepted by pressing ENTER.  You may also
enter a frame number and use the default search direction, or you can
use the default frame number and only specify a search direction.
 
Default Search Options
    The default frame number is the active frame number.  This is
usually frame zero unless you have defined and activated a different
frame.  Frame zero always includes the entire screen.  Information on
defining and activating frames can be found in the chapter on the frame
manager contained in PART TWO of this manual.  
 
    The default search direction is forward.  Searches begin at the
position of the active cursor and move down to the bottom of the screen. 
Other search directions are described below.
 
Frame Numbers
    Searches always take place within a frame.  The frame can be the
whole screen or a portion of the screen.  If you have not set up any
frames, then all searches will take place within frame zero ( the whole
screen).  You can specify the frame that is to be searched by typing the
frame number at the search options prompt.  If you are entering a frame
number and a parameter for search direction, then the frame number
must appear first.  
 
    You can also use a letter, instead of a number, to indicate that a
search should take place within the frame where one of the cursors is
located.  To do this, you type one of the letters, "J", "P", or "A", at the
search options prompt instead of a frame number.  "J" means to search
the frame containing the JAWS cursor.  "P" means to search the frame
containing the PC Cursor.  "A" means to search the frame containing
the active cursor.  Sometimes a cursor is actually contained within two
or more frames at the same time because frames can overlap.  In this
situation, JAWS searches the frame with the highest number.  Frames
with higher numbers are always given priority over frames with lower
numbers and are selected first in all JAWS functions when there is a
conflict.  The letters described here, and those that will be described
shortly, can be entered as either uppercase or lowercase letters.
 
Search Direction 
    Unless otherwise specified, searches begin at the location of the
active cursor and continue down the screen to the bottom.  You can
select three other starting points and directions for string searches. 
This is done by including a directional letter after the frame number. 
The presence of the letter "T" tells JAWS to search from the top of the
frame down to the bottom.  The letter "B" tells JAWS to search the
frame by starting at the bottom and searching up to the top.  The letter
"C" indicates that the search should start at the location of the active
cursor and search upward to the top of the frame.  It is not necessary
to indicate a search direction if your needs are met by beginning a
search at the active cursor's current location.  Letters indicating search
direction can be either upper or lower case.
 
Examples of Using Search Options
    At first reading, the method for combining frame numbers and
search directions may seem a bit confusing, but an analysis of a few
sample entries should show how it all fits together.  Let us assume that
we have defined a rectangular section of screen at the bottom of the
screen display and have assigned the number 24 to this frame.  The
frame's boundaries include all of row 24 and row 25.  Additionally, we
can use the default active frame 0 that includes the entire screen.  This
means that our searches will either examine all text and graphic
characters that appear on the last two rows of the screen display, or will
examine the entire screen (including row 24 and 25).
 
a.  Options:   24
    This means to search frame 24 and to use the default search
    direction that starts at the active cursor and moves downward. 
    If the active cursor happened to be located above row 24 then all
    of frame 24 would be searched.  If the JAWS Cursor were active,
    for example, and it happened to be on row 25 when the search
    was initiated, then only that portion of the frame that is either
    below or to the right of the JAWS Cursor will be searched.  
 
b.  Options:   T
    This means to use the default frame zero and search the whole
    screen from the top to the bottom.
 
c.  Options:   24B
    This means to search frame 24 beginning at the bottom and move
    to the top of the frame.
 
d.  Options:   JC
    This means to search whatever frame the JAWS Cursor is located
    within, and to begin the search at the JAWS Cursor and to search
    up toward the top of the frame.
 
4.3 Case Sensitive Searches
 
    If you want to do case sensitive searches then you should use the
letter "U" when prompted for search options.  The "U" stands for
uppercase sensitivity.  This parameter can be used in any string search. 
For example, the entry "PTU" instructs JAWS to search the frame
containing the PC Cursor, to begin the search at the top of that frame,
and to look for an exact match of uppercase and lowercase letters when
searching.
 
4.4 Verify First Letter of Word
 
    There are situations when you want to be sure that the cursor is
positioned on the first letter of a word before you do something such as
turn on the underlining function of your word processing program.  You
could move the cursor back and forth with the cursor keys to determine
the cursor's location and then place the cursor on the first letter of the
word, if it was not already there.  This would be a reasonable approach
for determining the cursor's location if you are free to move the cursor;
however, moving the cursor is not feasible if you are performing several
tasks with a JAWS macro and the cursor position is critical to proper
macro functioning.  The letter "X" can be used as the search option to
verify whether the active cursor is on the first letter of a word.
 
    If, for example, you want to know if the cursor is positioned on
the "H" of the word "Hello", then type the word "Hello" when prompted
by the find prompt and press ENTER.  When prompted for search
options, type X and press ENTER.  If the active cursor is on the "h",
then JAWS will speak the word "hello", otherwise JAWS gives an error
beep.  This function can be used within a macro in such a way that if
the verification fails, then the macro will be terminated.  If the search
is performed within a macro then the word will not be spoken when it
is found, and the error beep will not be produced when the search fails. 
If you want the word to be spoken when this search is included in a
macro, then you could use the "if-then-else" decision making process of
Say Word function when the search is successful.  Appendix 3 in the
disk files discusses the logic of the "if-then-else" macro function, and the
use of this function when performing searches.  Please read the sample
macros for some examples.
 
 
5.  ENHANCEMENTS AND COLORS
 
    Software application programs frequently make use of
monochrome enhancements and colors to highlight the information they
display on the screen.  Anything from a blinking error message to a
green pop up window surrounded by a yellow, white, and black border
could be displayed on the screen.  To a sighted person, the benefit of
enhancements and colors is sometimes considerable, but the value of
these screen attributes can only assist blind PC users when the proper
tools are available to identify and interpret their meaning.  JAWS
provides several tools to assist with identifying and using screen
attributes.  The ability of blind PC users, in many situations, is
dependant upon the ability to effectively use screen color and
monochrome enhancements.  The term Screen Attributes collectively
refers to either the enhancements used on a monochrome screen or the
colors used on a color screen.  In some ways, monochrome enhancements
and colors probably end up helping blind PC users more than they do
sighted users, if the system of screen attributes is well conceived by the
software developer.  Attributes that efficiently point to the most
important pieces of information on the screen are very helpful, but
attributes that are solely used to add aesthetic value to screen displays
are of little benefit.  This means that if you are using software that
appropriately applies the use of screen attributes to highlight critical
pieces of information, and you have a strategy to quickly find the
location of the attributes being used by the software, then you also have
a strategy for finding the critical information.  
 
    When JAWS is loaded by your PC, JAWS determines whether you
are using a monochrome or color screen display.  If you are using a
monochrome display, then JAWS sets itself up for using monochrome
screen attributes.  Monochrome screen attributes are:  normal (light text
on a dark background), reverse (dark text on a light background),
intense (extra bright text on a dark background), underlined text, and
blinking text.  The standard 16 screen colors can be used in any number
of foreground and background combinations.  The screen colors are: 
black, blue, brown, green, gray, white, bright white, yellow, cyan,
magenta, red, light blue, light green, light cyan, light magenta, and light
red.  Additionally, any of these colors can appear as blinking text.  It is
not unusual to have four or more screen colors being used to display
information on one screen.
 
    If you find that JAWS is only offering monochrome enhancements
when you do enhancement searches, and you know that you are using
a color monitor and display adapter, then you should refer to the
supplemental information in Appendix 2 for information on solving this
problem.
 
5.1 Analyzing the Screen Display
 
    Since there are a large number of screen attributes that could be
displayed on the screen at any point in time, it is necessary to examine
the screen to determine what enhancements are being used before you
can begin to search for them.  A sighted assistant can be helpful to
provide a description of the screen and the enhancements, but this is not
always foolproof.  Monitors may display colors that do not accurately
reflect the names assigned to the color; for example, a color that looks
blue may actually be cyan.  To complicate the situation even more, some
displays may use 16 shades of one color to simulate a color display.  In
this situation, JAWS sees the real colors while sighted observers only
see variations in the monitor's base color i.e., 16 shades of amber.
 
    The best way to understand what is going on with your screen
display, when you are unfamiliar with the display, is to use the JAWS
Cursor and the Say Enhancement function to examine the screen.  It is
often a good idea to take some time to make a few notes about the
layout and attributes that are used with screen displays that you are
using for the first time.  Making a few reminder notes about how the
screen is organized and which attributes are being used in specific
locations will be very helpful as you develop a strategy for reading
specific screens.  The process of developing a strategy begins with
identifying exactly how the screen is laid out and where enhancements
are used.  The chapter on JAWS macros presents considerable
discussion on how to develop a screen reading strategy.  The chapter on
Smart Screens describes an automatic screen reading strategy that, in
many situations, provides high quality software access with very little
analysis of a software program's screen display.
 
Speak Enhancement
    The Say Color function speaks the name of the monochrome
enhancement or color combination that is at the active cursor.  This
means that when you wish to learn about the screen attributes that are
used on a particular screen display, you can use the JAWS Cursor to
move anywhere on the screen and identify the attributes that are being
used with the Say Color function.  The INSERT + 5 (located on the
numbers row) is the Say Enhancement function.  This JAWS function
speaks the attribute at the active cursor.  For example, if you were to
press Say Enhancement when working in DOS, then JAWS might say
"normal", which means that the display is composed of regular light
characters on a dark background, which is an indication that you are
using a monochrome display.  JAWS would say "white on black", when
a color display is present, which indicates that the display is composed
of white characters on a black background.
 
Say Field Mode
    The Say Field Mode can be used in a wide range of applications
and for several purposes.  It can tell you about the blocks of characters
or words that are all displayed with the same screen attribute when
using an application software program, or when simply analyzing the
screen display.  In this context, Field refers to any group of characters
or words that all appear to be connected by the same color or
enhancement.  This is a field!  The preceding sentence could be
thought of as a field, because it uses the print equivalent of a screen
attribute, i.e., bold print.  A field can be as small as one character or as
large as the entire screen.  A field can be part of a line or be a block of
information displayed in the middle of the screen, and which is
surrounded by a different attribute.
 
    The INSERT + 6 (located on the numbers row) transforms the Say
Word function to the Say Field function.  Similarly, the Say Prior/Next
Word functions are transformed into the Say Prior/Next Field functions. 
Thus if you wish to read everything that is displayed with the same
screen attribute, then turn on the Say Field Mode, and use the JAWS
Cursor to examine the screen.  If the entire line of the screen is all
displayed in the same attribute, then JAWS will speak the entire line
when you press the Say Field key.  If there are two or more fields on the
line then JAWS will speak the contents of the field within which the
active cursor is located.  To turn Say Field Mode off, press INSERT + 6
a second time.
 
5.2 Enhancements Menu
 
** begin figure **
 
JAWS find a screen enhancement or color menu
Different  Find  Repeat 
Find the next screen enhancement or color

** end figure **
  
    Selecting "Enhance" from the JAWS main menu brings up the
JAWS enhancement menu.  Each choice on this menu is a slightly
different tool that can be used to search for screen attributes.  The menu
selections are:  "different", "find", and "repeat".  "Different" is used to
move the JAWS Cursor to the beginning of the next attribute that is
different from the attribute that is currently at the active cursor.  "Find"
activates a two step attribute search function that is similar to the
string search function described above.  "Repeat" means to replay the
last attribute search that was done with "find".
 
5.3 Different
 
    This selection is used to search for an enhancement that is
different from the current enhancement.  It is often not necessary to
know the attribute you are searching for if all you need is to find an
attribute that is different from the attribute at the active cursor.  Once
you select "different", you are then asked for search options.  This is
where you enter a frame number and search direction, just as you would
do if you were doing a string search, or had selected "find" from the
enhancement menu (as will be described below).  After entering search
options, if any, and pressing ENTER, JAWS will exit the menu system
and perform the search.  If the search is successful, then the JAWS
Cursor will be positioned at the beginning of the next field and the
portion of the field that is located on the current row within the active
frame will be spoken by JAWS.  An error tone will be produced if JAWS
fails to find a different attribute.  If you are using a macro to search for
the next occurrence of a different attribute, then the contents of the field
will not be spoken and the error tone will not be produced.
 
5.4 Find
 
    This selection is used to search for a specific enhancement or
color.  If you know exactly which enhancement you need to locate, then
you probably don't want to stop for other attributes that just happen to
be different from the attribute at the active cursor.  When you select
"Find" from the enhancement menu, you are first given the opportunity
to identify the attribute you need by selecting it from a menu on the
selection line.  Once you select an attribute, you are then prompted for
search options.  After you specify search options, and press ENTER,
then JAWS performs the search.  If the active cursor is already
positioned on the desired enhancement, then JAWS will search for the
next occurrence of that enhancement.  If the search is successful, then
the menu system will be exited and the JAWS Cursor will be positioned
at the first occurrence of the desired attribute.  Otherwise, the menu
system is exited, an error tone is produced, and the active cursor is
restored to its original position.  When a macro is used to perform an
enhancement search, you will not hear error tones, or the speaking of
data that is found.
 
Color Attributes
    If you have a color monitor, then you can select the attribute color
by moving the menu bar to highlight the appropriate color and then
press ENTER.  The colors that first appear on the selection line are:  B,
L, G, cyan, red, magenta, white, yellow.  Selecting "B", "L", or "G" from
this menu causes additional colors to be displayed that begin with the
letter "B", "L", or "G".  "B" displays:  black, blue, brown, bright white,
blinking.  "L" displays:  light blue, light green, light cyan, light magenta,
light red.  "G" displays the additional colors of:  green and grey.  You
can make selections with the cursor keys or by pressing the appropriate
letters.  Next you will be prompted for search options.  Enhancement
search options are described below.
 
Monochrome Attributes 
    If you select "Enhance" from the JAWS main menu, and you have
a monochrome screen display, then JAWS offers monochrome
enhancements on the selection line.  Selections are:  reverse, normal,
intense, underlined, blinking.  When JAWS searches, it will look for the
first occurrence of that enhancement, either alone, or in combination
with other monochrome enhancements.  If you are searching for
"intense", then JAWS will stop at the first occurrence of "intense" it
finds.  The attribute may be displayed separately, or it may be displayed
in combination with another attribute i.e., intense blinking.  After
specifying the enhancement, you will be prompted for enhancement
search options, which will now be described.
 
Search Options
    Enhancement search options are quite similar to the options used
for string searches, though there are a few additional considerations
that must be made for color attributes.  Enhancement Search
Options can include a frame number for the search, the start position
and direction of the search, and in the case of color attributes, whether
the search should examine background colors, foreground colors, or both. 
Foreground Color is the color that is used to form the characters that
are seen and read by JAWS.  Background Color is the color that
surrounds the characters that are displayed on the screen.  If you
removed all characters from the screen, then all that is left is
background color.  Background or foreground must be specified, because
a color, such as blue, could either be used for the characters that appear
on the screen (foreground) or be used as the color upon which the
characters are displayed (background).  Another difference between
enhancement search options and string search options is that the option
for case sensitivity is not applicable, because attributes are being
examined, not characters.  The following four paragraphs describe the
enhancement search options. 
 
Default Search Options
    The default frame is the currently active frame.  The default
search direction moves down from the current position of the active
cursor to the bottom of the frame, and the background of the screen
display is examined when color searches are performed.  The default
frame is zero unless you have activated a different frame.  Frame zero
always includes the entire screen display.  Searches for color attributes
will examine the background colors of the display unless foreground is
specified.  Thus, if you want to use the default frame, default search
direction, and search in the background for colors, then all you need to
do is press ENTER.  If you wish to specify other enhancement search
options then refer to the information presented in the following
paragraphs.  For additional information on defining and activating
frames, please read the chapter on the frame manager contained in
PART TWO. 
 
Selecting a Frame 
    A specific frame number can be entered by typing a number (0
through 99) at the enhancement search options prompt.  The frame
must have already been defined with the frame manager before it can
be used here.  You can also specify the frame by using one of the letters,
"J", "P", or "A", to represent the current frame that contains a cursor. 
The use of these letters for enhancement searches is identical to their
use for string searches.  "J" means to use the frame containing the
JAWS Cursor.  "P" means to use the frame containing the PC Cursor. 
"A" means to use the frame that contains the active cursor that you are
presently using.  Sometimes a cursor is actually contained within two
or more frames at the same time, because frames can overlap.  If this
happens, then JAWS uses the frame with the highest number.  Frames
with higher numbers are always given priority over frames with lower
numbers and are selected first.  As always, you can use uppercase or
lowercase letters when indicating any type of information at a search
prompt.
 
Selecting Search Direction
    Searches normally begin at the location of the active cursor and
move down the screen to the bottom of the frame.  As is true for string
searches, you can also select three other starting points and directions
for enhancement searches.  Search direction is indicated by including a
directional letter, "T", "B", or "C", after the frame number.  The presence
of the letter "T" tells JAWS to search from the top of the frame down to
the bottom.  The letter "B" tells JAWS to search the frame by starting
at the bottom and searching up to the top.  The letter "C" indicates that
the search should start at the location of the active cursor and move
upward to the top of the frame.  It is not necessary to indicate a search
direction if your needs are met by beginning a search at the present
location of the active cursor.  Letters indicating search direction can be
either upper or lower case.
 
Foreground or Background 
    Specifying foreground or background is only relevant to
enhancement searches that are performed on PC's with color screen
displays.  The search options discussed in this paragraph cannot be used
with PC systems using monochrome displays.  The letters, "F" and "E",
can be only used to tell JAWS about where you wish to search for a
color attribute.  JAWS can search in the foreground, background, or in
both at the same time.  The default location is background and does not
need to be specified.  "F" tells JAWS to only search in the foreground for
the color.  "E" tells JAWS that either foreground or background is
appropriate and to search both when searching for colors.  Please note,
you should not use "B" to indicate background, because "B" is used to
indicate the search direction.
 
Examples of Using Search Options
    The syntax or order in which search options can be entered is
flexible.  The frame number, if any, and other search options can be
entered in any order.  The method for combining frame numbers, search
directions, and foreground/background indications, may seem a bit
confusing, but a few examples should show how it all fits together.  Let
us assume that we are again using the two frames discussed in the
section on string searches.  We have defined a rectangular section of
screen at the bottom of the screen display and have assigned the
number 24 to this frame.  The boundaries of frame 24 include all of row
24 and row 25.  Additionally, we can use the default active frame zero,
which includes the entire screen.  This means that our searches will
either examine all text and graphic characters that are displayed on the
screen in the default frame, or will examine only the information that
appears on the last two rows of the screen display.  
 
a.  Options:   0
    This means that all default selections are used.  The search for
    the screen attribute occurs within the default active frame zero. 
    The search begins at the active cursor and moves down the frame
    to the bottom.  If the search is for a color attribute, then JAWS
    only searches for background colors.
 
b.  Options:   24
    This means to search the background of frame 24 and to use the
    default search direction that starts at the active cursor and moves
    to the right and down toward the bottom of the frame.
 
c.  Options:   ET
    This means to use the default active frame zero, to search in
    either the foreground or background, and to search the whole
    screen (frame 0) from the top to the bottom.
 
d.  Options:   24BF
    This means to search frame 24, to begin the search at the bottom
    of the frame and move up to the top of the frame, and to only
    examine foreground colors.
 
e.  Options:   ACE
    This means to search whatever frame the active cursor is located
    within, to begin the search at the location of the active cursor and
    search up toward the top of the frame, and to search in either the
    foreground or background for the color attribute.
 
5.5 Repeat
 
    When you select "Repeat", JAWS immediately re-enters the
selections you made when you last used "find" to search for a specific
screen enhancement.  This feature is useful when JAWS successfully
finds the correct screen attribute during a search, but the information
you need is not at that occurrence of the attribute.
 
    You can use "repeat" in two different ways.  If the JAWS Cursor
is still on the attribute that was found with the previous search, for
example, red text, then the search will be repeated in a slightly different
manner than it would be otherwise.  If the JAWS Cursor is still on the
red text and the search is repeated, then the search begins at the
current location.  This means that if the original search began at the top
of frame zero, then JAWS will not go back up to the top of the frame,
rather, the search starts at the point where it last found the red text,
and moves to the bottom of the frame.  If the repeated search is
successful, then the JAWS Cursor is placed at the beginning of the next
occurrence of red text.  If the search fails, then the JAWS Cursor is
returned to its previous position.  This search function is very useful for
finding the second or third occurrence of an attribute on the screen.  A
macro could be written to do the same thing with one keystroke.
 
    If the JAWS Cursor has been moved away from the attribute that
was found in the previous enhancement search and the repeat selection
is subsequently used, then the search is reproduced exactly as it had
been first entered.  Thus, if the original search started at the top of the
frame, then the repeated search will also start at the top of the frame.
 
5.6 Testing for Screen Attributes
 
    JAWS can examine the attributes that are being used at the
location of either cursor.  This is like an enhancement search, only the
cursor does not move.  Testing for attributes can be a very useful
function within JAWS macros.  For example, a macro could move the
JAWS Cursor to a specific screen location, search for a specific color at
that location, and then perform different activities depending on the
results of the search.  If the macro searched for the foreground color of
red, and it was found, then JAWS could do something such as read row
1 of the screen.  If the search failed to find red, then the macro would
go on to do something else such as to read row 25.  Information on
writing this type of macro is included in the chapter on the JAWS macro
manager contained in PART TWO. 
 
    To test for screen attributes, you use the enhancement menu and
the "find" sub menu selection.  The process that is used to test for an
attribute is very similar to that used to find an enhancement within a
frame.  Both of these enhancement searches begin with "find" and both
ask you to identify the screen attribute that is to be used in the search. 
Once you have selected the attribute that is to be used in the search,
then you must enter search options.  This is where you convert a
standard enhancement search into an attribute test.
 
    When you enter your enhancement search options, you must use
the letter "X" to indicate that you intend to test for an attribute at the
cursor.  Since you are not searching for the location of an attribute, you
do not enter a frame number.  The presence of "X" at the enhancement
search prompt tells JAWS to only search at the cursor and not to search
a frame.  You can also specify which cursor is to be used for the
attribute test and whether color searches should examine the foreground
or background.  Search direction, frame number, and cursor
identification are not relevant here, because the cursor does not move
and the active cursor is always used during the search.  "F" is used to
indicate a foreground color test, and "E" is used to indicate that either
foreground or background should be examined.  If, for example, you
want to test for a foreground attribute, at the PC Cursor, then follow
these steps:
 
a.  Activate the PC Cursor.
 
b.  Select the attribute you wish to find.
 
c.  Type XF (for search option as a foreground test, press ENTER).
 
    If the attribute is found, then JAWS speaks the portion of the
field that is on the current line beginning at the cursor's current
location.  If the attribute is not found, then JAWS generates an error
tone.  Enhancement testing, like all other searches, do not speak text or
produce error tones when performed within a macro.  As is explained in
the chapters on macros, they set or clear a "success flag", which can be
checked by an "if-then-else" function.  Very intelligent macros can be
created in this way to make decisions for you depending on the success
or failure of searches and tests.
 
 
6.  COLOR BAR TRACKING
 
    Many software application programs make limited use of a cursor,
and instead, use colors or monochrome enhancements to highlight menu
selections and locations for data entry.  JAWS utilizes several methods
for working with screen displays that use menu bars or color bars in
place of a cursor.  Smart Screen functions can automatically analyze and
speak the most important changes that occur on these types of screens. 
Alternatively, you can develop your own system of color bar tracking to
follow the movement of the highlighted color bar.  Smart Screens can be
a very powerful tool for using and reading menu dominated software
programs because of its ease of use.  The chapter on Smart Screens
contained in PART TWO of this manual fully describes the use of Smart
Screens.  If Smart Screen functions do not meet all of your needs with
a particular software program, then you can use the features of
enhancement searches to construct very powerful macros that can
accurately track almost any color bar.  
 
    To develop a macro-based color bar tracking system, you begin by
analyzing the screen display to determine how colors or monochrome
enhancements are used to highlight information.  Second, you define
frames to appropriately restrict JAWS cursor movement into the areas
where text needs to be read.  Third, macros need to be written that will
trigger enhancement searches to find and speak certain types of screen
changes.  We always recommend that JAWS users first try to apply the
intelligence of Smart Screen to the tracking of color bars.  The
development of other color bar tracking systems should only be done in
the event that Smart Screens can not meet your needs.  We say this
because Smart Screen functions offer a wide range of options that can
be easily fine tuned to work with color bars, and because the perfecting
of personally developed color bar tracking routines may be quite time
consuming for new PC users.  However, for optimal performance, you
cannot beat the precise control and power offered by a carefully
developed set of macros.
 
 
7.  SUMMARY OF STRING AND ENHANCEMENT SEARCHES
 
    When you want to find a specific color/attribute, or a particular
character or string of characters on the screen, you have two basic steps: 

a.  Use the "Enhancements" menu to select the screen attribute or
    (color/monochrome enhancement), or use the "Search" menu to
    enter the string of characters.
 
b.  When you are asked for "Options", THEN you can enter one or
    more of the following:
 
T = Start at the top of the screen or frame.
 
B = Start at the bottom of the screen or frame if specified and search
    upwards or backwards.
 
C = Start at the cursor position and search backwards.
 
## =(one or two digits) Search only in the area defined by the specified
    frame number.
 
P = Search only in the frame that the PC cursor is in.
 
J = Search only in the frame the JAWS cursor is in.
 
A = Search the frame the "active" cursor is in.
 
F = Search for the specified color in the foreground.  If this is not
    specified, then JAWS will automatically search in the
    background.  This is only applicable for color searches; not
    monochrome.
 
E = Search for the specified color in both the foreground and
    background.  This is only applicable for color searches and not for
    monochrome searches.
 
U = Search for a combination of uppercase and lowercase characters
    in a string search.
 
X = Verify that the cursor is on the first character of a word.  This is
    most commonly used in macros that execute searches.
 

 
