Do I Need JAWS Scripting?
JAWS scripting refers to making applications more accessible for those who use the JAWS for Windows screen reader to interact with their computer. They are mostly totally blind, and some low vision people. JAWS, however, in every day terminology is unfortunately used to refer to screen readers in general. In many instances developers claim that an application works with JAWS, where the claim should be that it works with screen readers. Also, it happens often that applications are tested with JAWS for Windows and it is stated that it supports screen readers.
This article will explain what screen reader scripting and screen reader customization is, when is it the most beneficial to use it, and when should you use other methods of making applications accessible. It will also reveal the facts behinds pros and cons of screen reader customization.
What Is Screen Reader Customization?
In certain instances, people with vision can use an application or a web site perfectly well, but people who use a screen reader cannot access the same information and functionality. This is mostly due to the inaccessibility of a product. In other instances, while a product is accessible, screen readers can be customized to provide information in a much faster and more effective manner to make the application more usable.
Let's see a couple of examples. Let's assume that there is an image button on the screen, which is the print button. While it is obvious for sighted people, but if the image does not contain a label, all screen readers will be able to announce is that it is an image. With some customization, the exact location and size of the image can be determined, and screen readers can be instructed to say "print" when this shape and size of image is found at this particular location. In this instance, the inaccessibility of the application was remedied. Another example would be that a database displays the number of records close to the top of the screen, but surrounded by all kinds of other data. It is possible for screen reader users to browse the screen and find this number, but with little customization, screen readers can be instructed to announce the number of records just for a press of the button. In this instance, the application was totally accessible, but additional functionality was added to the screen reader to make work more effective.
Screen Reader Scripting And Customization
There are two approaches to make a screen reader more effective. Scripting, which is similar to computer programming, and customization which is an elaborate setup of the screen reader using advanced settings.
Nowadays, almost all screen readers contain some scripting capabilities. Programmers can develop a script, which is essentially a computer program. The screen reader can be instructed to load the script for each individual program. For example, if a script is developed for the "database" application, the "database" script will be loaded when the "database" application is run in order to enhance screen reader functionality. Scripting is used to achieve very complex functionality. With scripting, often times it is possible to make a totally inaccessible application work pretty well.
While customization can be very complex too, it is mostly used to achieve minor things. Also, several years ago, when many screen readers relied more on customization, mostly because they didn't have scripting capabilities, it was the preferred method.
Let's see another example of where customization can be very effective. If a screen reader does not read menu selections or items in a list, maybe all we need to do is to instruct the screen reader that in a given application, read aloud all newly highlighted text. While it is possible with a script, with screen reader customization it could only be checking a box. Of course, there are hundreds of other more complex features.
Reasons For Scripting And Customization
Aside from making an application accessible for screen reader users, it is possible to add many more extra reading functionalities, even ones which were not originally part of the application. Many tasks can also be automated. For example, if the user often has to carry out tasks which require three keystrokes in the same order, it can be simplified by instructing the screen reader to carry out these three keystrokes in a sequence for the press of only one.
In many instances, users have to obtain several pieces of information rapidly. In a call center, for example, when a call comes in, the user needs to know the name of the caller, the phone number, the location, etc. While the call center application can be totally accessible, by an added functionality, the screen reader can be instructed to read off all this date for the press of a key. This way, visually impaired people do not have to search the screen for the required data, which their sighted colleagues can obtain just by glancing at the screen. There were several instances where visually impaired people were able to maintain the highest productivity in a call center by using a very effectively customized screen reader.
Sometimes, a software developer is not open or is not able to making an application accessible. In this case, the only way for visually impaired people to use it, is to have a screen reader specially customized for their needs. In many instances, such solutions allowed visually impaired employees to perform their job requirements, thus be able to maintain their employment.
The Downside Of Scripting And Customization
While screen reader scripting and customization can make a huge difference, we also need to be able to see the challenges it causes.
There are many screen readers out on the market, such as:
- JAWS for Windows Windows, for purchase
- Window-Eyes Windows, for purchase
- SuperNova Windows, for purchase
- System Access Windows, both for purchase and free versions
- NVDA Windows, free Open Source
- ORCA Linux, free Open Source
- Mobile Speak Windows Mobile, for purchase
Just to name a few, but this list is not complete, there are many more. Currently, JAWS for Windows is one of the most popular one.
It is not hard to imagine that if a screen reader is customized for a particular application, people who use different screen readers, will not be able to benefit from this customization.
Also, we need to keep two factors in mind. The update of the application we customize for, and the update of the particular screen reader we customize. When an application is updated, it is always a good idea to check if the customization or the scripts still work properly. It is also important to check the scripts and customization when the screen reader is updated. Usually, screen readers come out with new versions at least once a year. If we want to make sure that all new versions of an application work with the new versions of at least the five most common screen readers, we will be constantly testing and updating something around the whole year. There is nothing wrong with that, we just need to understand what it takes.
Making The Decision On Scripting And Customization
In all instances, first let's assume that a given application would work very well with all screen readers if all accessibility features are implemented. In this case, it makes most sense to work with the software developer to ensure accessibility. Once an application is made accessible, it is not hard to maintain this quality throughout subsequent versions. In all cases, the general procedure should be to make an application accessible, before any other solutions are implemented. It does not only help screen reader users, but also people with any other types of disabilities.
When it is not possible to make an application accessible for any reason, let's examine which screen readers would mostly be used to access it. This way we can prioritize for the most important ones.
The decision is easier if the application is for internal use in an organization. In this case, the organization probably has a certain screen reader it purchases. In this instance, customization or scripting only needs to be made for that one particular screen reader.
When scripting or customization is to enhance effectiveness, whether the given application is accessible or not, it makes most sense to optimize the screen reader.
Share your experience
If you have experience with this topic, feel free to leave a comment. If you have any questions, feel free to contact us.