Article View: bit.listserv.blindnws
Article #92Blind News Digest # 1035
From: Bill McGarry
Date: Thu, 28 Apr 1994 19:58
Date: Thu, 28 Apr 1994 19:58
354 lines
21020 bytes
21020 bytes
THE BLIND NEWS DIGEST
Issue # 1035
Thursday, April 28, 1994
Today's Topics:
******
Jaws for Windows
******
To subscribe to the Blind News Digest mailing list or have your
thoughts in the next issue, please send electronic mail to
Bill McGarry at any of the following addresses:
UUCP: uunet!bunker!wtm
INTERNET: wtm@bunker.afd.olivetti.com
BITNET: blindnws@ndsuvm1.bitnet
Fidonet: The Handicap News BBS (141/420) 1-203-926-6168
(300 - 14,400 baud, 24 hours)
NVN: ABILITY
Compuserve: 73170,1064
Bill McGarry (Moderator)
(203) 926-6187
------
Subject: Jaws for Windows
From: rjc@MIT.EDU (Richard Caloggero)
Here's something that I just received from someone at
Henter-Joyce. It describes the Jaws for Windows package under
developement by Henter-Joyce. It is also a good introduction to the
technical problems to be considered when developing a screen reader for
a gui (graphical user interface). I hope this is useful to those out
there on the list.
Please note that I have *no* association with Henter-Joyce,
neither professional or personal.
-- Rich
Here is an ASCII version of the paper. Please call us at (800) 336-5658 if you
have any questions. Thanks for your interest Richard!
----
Opening Windows of Access With JAWS for Windows
Charles Oppermann
This paper will discuss the challenges in bringing accessibility to the
Microsoft Windows1 graphical user interface (GUI2 ) to blind and
visually impaired computer users. JAWS for Windows3 (JFW), a
commercial product under development by Henter-Joyce , Inc., provides
accessibility to Windows via a speech synthesizer. By building on
their extensive experience with the original JAWS screen access
program, Henter-Joyce has developed a Windows version of JAWS that
provides for more tha n just simple speaking of text on the screen.
This paper will review the problems associated with bringing speech
access to Windows and other GUI platforms. We will also discuss the
features of JAWS for Windows that makes it a productive and useful tool
for visually impaired users. THE CHALLENGE The benefits of a graphical
user interface are many, including a common user interface, visual
metaphors, multitasking, and ease of use. Ironically, the most
appealing features of GUI's are visual, and thus have been unavailable
for use by visually impaired users. The difficulties in bringing
accessibility to Windows and other GUI platforms are well known and
have been described before (Schwerdtfeger, 1991). The major difficulty
is the fact that graphical user interface systems do not display
textual data in the same manner as non-graphical systems. Using MS-DOS
as an example, text to be shown to the user is placed in a video memory
buffer. This memory is accessed by the display device and the text
characters are displayed on the video device. In these systems, each
character occupies a single memory location and is stored using the
ASCII4 standard. MS-DOS screen reading programs can easily access the
characters in the video memory buffer and speak them to the user.
Graphical User Interfaces such as Microsoft Windows, the Apple
Macintosh and X-Windows all display information to the user in a
completely different fashion. GUI's use specially drawn objects,
including lines, circles, boxes and pictures
.
The GUI does not use the normal 80 character by 25 row video memory
buffer. Instead, the GUI breaks the video screen up into thousands of
small dots, calle d pixels. Each dot can be addressed individually by
the operating system software. This scheme allows the GUI to be able
to draw characters different sizes and all sorts of other objects
through the use of an additional layer of software that translates the
object into the individual pixels. In Microsoft Windows, this layer of
software is called the Graphics Device Interface (GDI). However, the
difficulty now lies with the screen reader trying to convey the text
and graphic information to the visually impaired user. Instead of the
fixed positions in the video memory buffer to look for characters, the
screen reader has to make sense of the thousands of pixels represented
in the video memory buffer. The key to this, of course, is
intercepting the data before it is translated into pixels by the GDI
portion of Windows. When the application program requests Windows to
display information to the user, the information is sent along to the
GDI for conversion into individual pixels and displayed on the display
device. By redirecting the request to display information, the screen
reader can be told of data that is to appear on the screen. The screen
reader can then make a copy of the text and then send the request along
to the system for processing. INTERCEPTING DATA AND THE OFF-SCREEN
MODEL When JFW loads as an application running under Microsoft Windows,
one of it's first tasks is to set a series of "hooks" into the core of
Microsoft Windows. These hooks allows JFW to redirect data coming from
other applications. Thus, whenever a application makes a request to
display text on the screen, JFW will receive that request and act
accordingly. Off-Screen Model A central database of all the objects
that appear on the screen is used to stor e all the intercepted
requests. This database is called the Off-Screen Model (OSM) and was
first described in 1990 (Boyd & Boyd). Once the textual or graphic
data is stored in the OSM, the request is allowed to continue on to the
Windows GDI for processing and display. The OSM is the heart of JAWS
for Windows. It is a central repository for all the information on the
screen. As information is displayed and updated on the screen, the OSM
mimics the operation on it's own copy of the data. When the user is
using JFW to speak screen data to him or herself, the screen access
program is actually referencing the OSM. Graphic Objects In addition
to text, the OSM can recognize graphic objects on the screen as well.
A sub-system of the OSM, called the Bitmap Recognize does this. By
usin g Bitmap Lookup Table files (BLT), the OSM can determine if a
graphic object (icon, button, or other non-text objects) is "known" to
the system. A object i s considered "known" when the Bitmap Recognize
can apply a text label to that graphic object. For example, when an
application program wants to display a icon, the hooks and OSM
intercept the request and look for a matching object in the BLT files.
If the object is matched, then a text label, contained within the BLT
files, describing the object is used. By providing BLT files containin
g text labels for the graphic objects contained within Microsoft
Windows and many popular applications, JFW will speak most data that
appears on the screen. Whe n the Bitmap Recognize encounters an object
not contained in the BLT files, it gives the user the option to provide
a text label for that object which will be recorded for future use.
JAWS FOR WINDOWS With a clear understanding of the problems related to
accessibility under Microsoft Windows and how the Off-Screen Model
addresses those problems, we can now begin to describe the screen
access program, JAWS for Windows. Based on the popular Henter-Joyce
product, JAWS (Job Access With Speech), developed in 1988, JFW builds
on the many features which made the original JAWS a commercial
success. These features include an easy to use speech pad for
controlling the cursors, easy to use menu system and a powerful macro
facility. The design goals of JFW includes most of the features of the
original JAWS (now known as JAWS for DOS), along with ease of use
enhancements and a even more powerful macro facility. Another goal was
to make JFW very friendly and accommodating to the user. The designers
realized that to many people, they would be working with a whole new
operating system and screen access program. The combination of the two
might seem overwhelming to some users. By including such features such
as the Wizards and a interactive help system, JFW makes learning a new
environment easier and less traumatic. Portability The commercial
computer industry moves very quickly and new versions of softwar e are
always being released. In addition to Microsoft Windows and it's
cousins, there are other GUI systems such as IBM's OS/2 and various
X-Windows systems such as Motif and OpenLook. Of course, we cannot
forget one of the original GU I systems, the Apple Macintosh. With so
many systems, and the meager resources of a small access technology
company, it's difficult to target all the GUI platforms. Clearly,
Microsoft Windows is the most popular system available and JFW targets
Windows version 3.1. A major design goal was to build JFW with
consideration towards moving to other platforms. This required special
programming considerations, including the choice of language, the
overall architecture of the system and no dependenc e on operating
system specific features. JFW does not rely on the MS-DOS version of
JAWS to provide speech. Instead, th e entire screen reader has been
re-written to be more portable and less dependent on the operating
system. By using a industry standard speech output library, the SSIL5
, JFW is able to move to other platforms without having to rewrite it's
speech output code. In short, all aspects of JAWS for Windows were
considered in order to be able t o easily move the product to other GUI
platforms. Ease of Use A particular problem with speech access to
Windows is that the user will most likely be new to the Windows
environment. This results in a user who must lear n a new screen
access program and a completely new environment. This is a key design
consideration in JAWS for Windows and was approached several ways.
First, JFW retains the simple, easy to use screen reading keys as found
in JAWS for DOS. This allows the user who is familiar with the
original JAWS to get up and running right away with JAWS for Windows.
Where keys must be different due to conflicts with the Windows user
interface, JAWS yields to the Windows design
.
For example, JAWS for DOS (and many other DOS-based screen access
programs) use the Alt key to signal the speech synthesizer to silence.
However, in Windows, the Alt key is used to activate the menu bar
located in many programs. The solution is very simple; move the
Silence function to the Ctrl keys. This was done as not to interfere
with the normal operation of Windows. Visually impaired users of
Windows will expect that the system operates the same with or without a
screen access program. This makes training by fully sighted users an d
co-workers much easier. Wizards Another way JAWS for Windows makes the
Windows platform easier to use, are the helpful Wizards. Based on
features found in many high-end application programs , the JAWS for
Windows Wizards are available to guide the user through a series o f
steps that otherwise would have seemed daunting or out of reach by
beginning users. The first Wizard available for JFW is the Dictionary
Wizard. As the user is reading the screen, if there is a word that is
being spoken incorrectly by the synthesizer, all the user has to do is
placed the cursor on the word and press a key to invoke the Dictionary
Wizard. Once activated the Wizard pops up a box (which is spoken), and
tells the user what is happening. The Dictionary Wizard takes the word
the cursor is on and asks for a replacement word or spelling that the
user would like to hear in place of the selected word. The user types
in a replacement and presses ENTER. The Dictionary Wizard confirms the
selected word and the replacement with the user, using clear,
non-computer-like language and if the user confirms the choice, the
Wizard make s the changes in the JFW Pronunciation Dictionary. Instead
of having to access a menu, find the Dictionary Editor, type in the
word and it's replacement, the Dictionary Wizard does all the hard
work. Other Wizards are being considered for inclusion with JAWS for
Windows. The open-end design of JFW also allows sophisticated users
and trainers, the opportunity to write their own Wizards. Interactive
Help Interactive Help is important to make Windows and JAWS for Windows
easy to use. The JAWS Control Panel has a help line that can be spoken
for each menu item. This help line reminds the user of what the menu
item is for. By pressing the F1 key at any time within the JAWS
Control Panel, a new window appears with complete information on the
option that was selected. The help system is a par t of Windows and
JFW uses it extensively to make certain the user is never at a loss for
information on Windows or JFW. User Modes Lastly, JFW uses a
three-tier system to make JFW and Windows easy to use for th e
beginner, but also allow the more advanced user control over what is
spoken. The three levels are Beginner, Intermediate and Advanced.
When Beginner mode i s selected, almost every that appears on the
screen is spoken immediately. This allows the user to know everything
that is happening and provides for full prompting with all menus. The
Intermediate level cuts down on the amount of information spoken. This
level speaks important data, but not everything. As the user becomes
more proficient with Windows, the Intermediate level makes sure that
the user is not distracted by redundant speaking. At the Advanced
level, only a minimal amount of information is spoken. It is assumed
the user knows what he or she is doing and will use the screen review
features to speak information on the screen. These three levels are
incorporated into the JAMAL macro system and can be easily modified by
the user. To the new user, however, the Beginner level provides for a
complete guided tour of Windows and the user quickly learns what is
happening on the screen. JAMAL JAWS Macro Application Language (JAMAL6
) is in many ways the "brain" of JAWS for Windows. For many years,
many application packages have used macros to perform repetitive tasks
such as searching and replacing text, or automatically saving a file.
JAWS for DOS has popularized the use of macros in screen access
programs. In his paper on the subject (1992), Ted Henter of
Henter-Joyce wrote : "Macros allow the user to define one key or
key-combo to perform many other key s or functions. In this context
they can combine computer and reader functions into one fluid thought
or motion. Let the computer do the work for you, that is the idea isn't
it?" By stringing together macro functions and adding the ability to
make decisions, the JAWS macros were very powerful. When designing JAWS
for Windows, it was decided to "beef up" the macro language, adding
power and making it easier to use. The resultant JAMAL does this and
more. In recent years, major applications have not only provided
macros in the form o f recording keystrokes, but full-featured macro
programming languages, modeled after popular programming languages such
as BASIC, Pascal and C. JAMAL resembles the C language mainly, but has
concepts borrowed from BASIC as well. By using text files (called .JAM
files), the user can create complete programs to be executed by the
touch of a key. JAMAL macros contain commands such as SayString(),
NextWord() and PriorLine(). JAMAL can use up to 26 integer variables
and has many of the structured programming commands found in BASIC such
as WHILE/WEND and FOR/NEXT loops. JFW was designed to insulate the
average user from JAMAL and macro creation. JAMAL exists for the
creation of configuration files by Henter-Joyce, and for advanced users
who wish to have complete control over the screen access program
.
Event Macros Another important aspect of JAMAL are the Event Macros. A
macro can be assigne d to any of the Off-Screen Model events. This
allows the advanced user to change the entire behavior of JFW. For
example, the default behavior for the BottomEdgeEvent is to beep at the
user, informing him or her that the last line of the window or screen
has been reached. By modifying the macro bound to the BottomEdgeEvent,
the user can change this behavior. So instead of just beeping , JFW
could "wrap" to the top of the window and start again. Events include
the creation of windows on the screen, when the application writes
text, and many other features. For more information, the reader is
referred to "JAWS for Windows Off-Screen Model API" by the author.
Application and System Macros Finally, JFW allows two macro files to be
loaded at the same time. The first macro file, the System Macros, are
the JAWS for Windows defaults and define the default behavior. The
other file is the Application Macros. Application macro s apply only
to a certain application. If you do not define a keystroke or event in
the application macro file, JFW will look through the system macros for
something to do in response to the keystroke or macro. This allows the
user to be very selective and have a great amount of flexibility in how
JAWS for Window s works on system-wide and application specific basis.
JAMAL is the result of 6 years of research at Henter-Joyce. While not
intended as a end-user feature, JAMAL certainly contributes to the
state of the art in screen access. SUMMARY We've covered the some of
the basics of Microsoft Windows and how JAWS for Windows can truly
bring easy to use, flexible, friendly and powerful access to this very
popular computing platform. Careful engineering, along with an view to
the future and respect for the past, are the keys to providing
accessibility to modern hardware and software. The job isn't done yet,
not all the problems have been solved, but the future certainly holds
more accessibility for those without sight.
BIBLIOGRAPHY
Boyd, Larry, Boyd, Wesley, and Vanderheiden, Gregg. 1990. "The Graphical User
Interface: Crisis, Danger, and Opportunity." Journal of Visual Impairment and
Blindness, December, 1990, pg. 496-502.
Edwards, Keith W., Rodriguez, Tom, and Mynatt, Elizabeth D. 1993. "Mercator
Xt-Based Protocol Specification."
Henter, Ted. 1992. "Macros and Screen Access." Proceedings of the Seventh Annua
l
Conference "Technology and Persons with Disabilities", 1992, pg. 239 - 243.
Oppermann, Charles W. 1992. "Application of Smart Screen Technology in
Text-Based Voice Output Screen Access Programs." Proceedings of the Seventh
Annual Conference "Technology and Persons with Disabilities", 1992, pg. 391 -
395
Oppermann, Charles W. 1994. "JAWS for Windows Off-Screen Model API." Published
by Henter-Joyce, Inc.
Schwerdtfeger, Richard S. 1991. "Making the GUI Talk." BYTE, December 1991,
pg. 118 - 128.
1 Windows is trademarked by Microsoft Corp.
2 Commonly pronounced "Gooey"
3 JAWS for Windows is copyright 1993 by Henter-Joyce, Inc.
4 American Standard Code for Information Interchange
5 Speech Synthesizer Interface Library
6 Pronounced JAM-AL
-- Rich
rjc@mit.edu or rich@eddie.mit.edu
------
******
End of Issue # 1035 of the Blind News Digest
******
Technical Details
Message-ID:
<9404281558.aa06023@sheldev.shel.isc-br.com>Path:
arc1-ca.pugleaf.net!gmd.de!nntp.gmd.de!xlink.net!howland.reston.ans.net!paladin.american.edu!auvm!sheldev.shel.isc-br.com!wtmShow Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 1165b1,b65be8916f6e5073,start X-Google-Attributes: gid1165b1,public X-Google-ArrivalTime: 1994-04-29 11:14:23 PST Path: arc1-ca.pugleaf.net!gmd.de!nntp.gmd.de!xlink.net!howland.reston.ans.net!paladin.american.edu!auvm!sheldev.shel.isc-br.com!wtm Comments: Gated by NETNEWS@AUVM.AMERICAN.EDU Newsgroups: bit.listserv.blindnws Comments: ******************************************************** Comments: * The following "Approved" statement verifies header * Comments: * information for gateway passage. No approval of the * Comments: * content is implied. * Approved: NETNEWS@AUVM.AMERICAN.EDU * Comments: ******************************************************** X-Mailer: ELM [version 2.3 PL11] Approved-By: Bill McGarry <wtm@SHELDEV.SHEL.ISC-BR.COM> Message-ID: <9404281558.aa06023@sheldev.shel.isc-br.com> Date: Thu, 28 Apr 1994 15:58:43 EDT Reply-To: Bill McGarry <wtm@sheldev.shel.isc-br.com> Sender: Blind News Digest <BLINDNWS@NDSUVM1.BITNET> From: Bill McGarry <wtm@sheldev.shel.isc-br.com> Subject: Blind News Digest # 1035 Lines: 353