Window-Eyes 7.0 has just been released by GW Micro, featuring advanced object-oriented scripting and other capabilities that have the potential to unleash greater accessibility of mainstream computer software to the blind and visually impaired. Doug Geoffray, Vice President of Development at GW Micro, Aaron Smith, GW Micro’s Director of Technical Support and Web Development and Jeff Bishop, a blind software developer with the University of Arizona and an expert Window-Eyes script developer, spent time talking with me about all the advancements found in this new major release of a leading screen reader.
A screen reader simply enables a blind person to use the applications and operating system on a computer without sight by converting on-screen text into a Braille or spoken format. Intelligent screen readers like Window-Eyes deliver information in a linear format, interpret the active window, read complex web pages and perform many other advanced functions. According to Geoffray, “Window-Eyes strives to fill the role of a sighted assistant for the blind computer user.” Geoffray goes on to further explain the workings of screen reading software. In graphical user interfaces such as Windows, a screen reader must acquire text before it is rendered by the operating system. The screen reader gathers graphics, text and other relevant information into a three dimensional database known as an off screen model (OSM). The reliability of the OSM is subject to factors including the display fonts in use and the video card drivers installed on the user’s system. Current screen readers enjoy additional accessibility beyond the OSM. Screen readers can “talk to” standard Windows (Win32) controls directly, without the need to scrape text out of the off-screen model. Applications may use the Component Object Model (COM) to expose their user interfaces to other Windows programs, including assistive technology. Further, specialized interfaces such as Microsoft Active Accessibility (MSAA), User Interface Automation (UI Automation) and iAccessible2 allow mainstream application developers to specifically ensure their applications are accessible to the assistive technology on which people with disabilities rely. Geoffray says that use of direct Win32 controls, COM, MSAA, UI Automation, iAccessible 2 and all similar techniques are always preferred to the off-screen model whenever they provide sufficient information to make a piece of software accessible. The OSM should be relied upon as a last resort when all other techniques fail. Window-Eyes 7.0 strives to take advantage of many of these advanced techniques to increase accessibility, especially through its object-oriented scripting approach.
Although scripting is, by far, the number one enhancement found in this latest Window-Eyes release, other new features are noteworthy in their own right. Geoffray tells us that Window-Eyes is now 100 percent Unicode compliant. This enables access to foreign language text, certain PDF documents not previously readable, Microsoft Word’s smart quoting feature and any other situation where use of special symbols is required. Intelligent place markers may now be defined on dynamic web pages delivering quick access to a specific area of the page based not only on its virtual line number, but also on the text at the cursor. A new Eloquence speech synthesizer, access to the Firefox 3.0 web browser, support for the public beta version of Internet Explorer 8.0 and improved stability round out some of the other important Window-Eyes 7.0 features.
The truly revolutionary feature in Window-Eyes 7.0 is its industry standard scripting support. It has been implemented in such a way as to permit development using any object oriented programming language. JScript and VBScript hosting is built directly into Window-Eyes. “Scripting can enable access to software with dynamic, visually rich user interfaces”, says Jeff Bishop, the creator of scripts for the Winamp media player. According to Geoffray, “Many companies want to hire blind people without remaking their applications to be more accessible. In some cases, the employer may not have full control over the manner in which their applications have been developed. Instead, they hire out for scripting. Someone is contracted to write and maintain the scripts as the software environment changes.” Window-Eyes provides the facility to make custom, proprietary applications accessible through the configuration of Set files and the creation of scripts. “Scripting in Window-Eyes was developed as an additional capability to complement tried and true core functionality,” says Bishop. “It has not been built as a core framework like it has in other products. Scripts should be used only when necessary. If Set files would work, those are the best approach. They are simpler and less resource intensive. Especially with rich software architectures, scripting can provide a nice user experience. There are a number of cases for work situations in dynamic environments where interfaces aren’t accessible. Window-Eyes now delivers the ability to develop scripts to handle these cases.”
The new scripting functionality benefits end users the most. GW Micro provides a web site called Script Central where the efforts of a number of script developers are shared freely with the entire Window-Eyes user community. The site enables discussion and rating of all scripts. A few examples are especially noteworthy. Jeff Bishop’s Winamp scripts significantly increase both accessibility and usability of that media player far beyond that available with any other screen reader. Jamal Mazrui’s Install Packages script provides a painless way for nontechnical users to install just about any Window-Eyes script in 30 seconds or less! GW Micro’s Weather or Not script uses the free Weather Underground service to report the conditions for any number of locations simply by pressing a keystroke! Geoffray hopes that a number of open source collaborative projects will make scripts for complex applications available freely via Script Central. He also hopes some developers will invest significant resources into writing scripts for Window-eyes, making demo versions of their work available on Script Central along with relevant contact information for purchasing fully functioning copies.
Some in the access technology industry have expressed concerns about the potential for the Window-Eyes scripting approach to expose users to Trojan horses, viruses and other forms of malware. Bishop reminds us that the Windows operating system has relied upon scripting for many years, and these concerns are exactly the same as those we must all apply across the board with mainstream software. GW Micro has made every practical effort to minimize risks. Window-Eyes complies with any system software restriction policies set by a company’s IT staff, can be easily configured to run only scripts signed by a trusted publisher and supports encryption of scripts. Bishop believes proprietary approaches such as the one employed in JAWS are not safer than the object oriented model used by Window-Eyes. “You can run commands on the system in JAWS scripts. If anyone wants to be malicious, they will do it with either JAWS or Window-Eyes. It is a matter of IT security and user awareness. The Internet is not always a safe place.”
The future for Window-Eyes is bright. Geoffray reminds us that the web is changing. Browse mode, the core Window-Eyes facility enabling us to easily read the contents of web pages, continues to work primarily with static web sites. Browse mode will be “gutted and opened up to new web technologies.” These will include dynamic Web 2.0 (AJAX) content such as that created in accordance with the Accessible Rich Internet Applications (ARIA) standard. Since Java is used in many workplace applications, GW Micro plans to implement the technology in such a way as to expose it to scripters.
We at Blind Access Journal are excited about Window-Eyes 7.0. Enhancements to web browsing, intelligent place markers, support for Firefox 3.0, full Unicode compliance and many other core features and bug fixes make this release worthy of serious consideration for current and new Window-Eyes owners. The implementation of fully industry standard object-oriented scripting support takes this release over the top! Any competent software developer can quickly create high quality scripts that increase the accessibility of applications or improve the efficiency of Window-Eyes users in the classroom, the workplace and beyond. In the tradition of GW Micro, Geoffray declares: “Whenever we do something, we do it right. We don’t use buzz words and marketing speak. Three months of public beta testing and much more private testing have gone into the development of Window-Eyes 7.0. Many weekend hours have been spent by GW Micro staff, especially near the final release.” Finally, as GW Micro’s lead script developer, Aaron Smith concludes: “We’re talking at least an entire year’s worth of pretty much constant development. That’s another thing that’s so cool about Window-Eyes scripting. It took a year, and is already on par with JAWS scripting that’s been around for, what, 15 years?”