WE4Java 0.9.19 posted to Script Central

  • From: "Macarty, Jay {PBSG}" <Jay.Macarty@xxxxxxxx>
  • To: "gw-scripting@xxxxxxxxxxx" <gw-scripting@xxxxxxxxxxx>, "programmingblind@xxxxxxxxxxxxx" <programmingblind@xxxxxxxxxxxxx>
  • Date: Sun, 9 Aug 2009 00:58:20 -0500

All,

Finally, after much delay from work and technical difficulties, WE4Java 0.9.19 
has been posted to Script Central. This release is composed mainly of 2 
updates; for WinEyes 7.1 users, WE will not launch automatically if it is not 
running when a java app starts and also, the addition of the Navigation Screen 
dialog.

NOTE: I have posted a couple of notices about the Navigation Screen 
capabilities; however, I will post the help info once more below for those who 
will be receiving this update for the first time. The main enhancement to the 
Navigation screen since my last post is that table data has been added to the 
information pane of the screen. That is, if you arrow down through the 
navigation tree and you hear the word table with x rows and x columns, you can 
press alt+I to switch to the info pane and read the content of the table in a 
decolonized format.

The change log for this release is posted below. I hope users will find the new 
Navigation screen helpful and I look forward to feedback on how to make it more 
productive. You will find that you have to go fairly deep in the tree at times 
to read the data you want. There is some logic in the code to try to collapse 
the tree but this decision logic gets fairly complex fairly fast. This will 
likely improve with later releases.

This release contains the following updates:

  * For Window-Eyes 7.1 users, WE4Java will no longer automatically launch 
Window-Eyes if it is not running when the java application starts.

  * The primary enhancement for this release is the introduction of the WE4Java 
Navigation Screen. This screen allows the user to review all objects on the 
application screen and perform actions such as routing focus or performing left 
or right mouse clicks.

A copy of the Navigation Screen documentation is provided below. You may also 
find this doc in HTML format in the documentation section of the WE4Java 
program group under All Programs.

Using The Navigation Screen:

Introduction:

The WE4Java Navigation Screen allows you to view a java screen as a tree of 
objects which you can arrow through and select desired actions. While many 
objects on your java screen may be quite accessible using the tab key or arrow 
keys, you will often find that there are certain areas of the screen which are 
not accessible using these keys. Also, java, by default, automatically skips 
objects which are grayed out; so, you may never know what you have skipped 
over. One primary example of grayed objects being skipped is in menu bar drop 
down lists. If a certain menu item is grayed out, java will totally skip that 
item when you arrow down rather than reading it to you and telling you it is 
disabled.

Finally, it is sometimes helpful to gain an understanding of how objects on a 
screen are grouped together. This understanding may not be clear when simply 
tabbing through a screen. what is worse is that some application developers, 
assuming that a user will navigate the screen with a mouse, don't plan out the 
tabbing order on the screen with care; thus, adding to the confusion.

To overcome many of the issues described above, WE4Java now offers the use of 
the Navigation Screen. This screen contains 3 areas (called panes) as described 
below:

* The Navigation Tree - This is a tree such as you would find in an application 
like Windows Explorer or perhaps, the folder listing of your e-mail client. The 
navigation tree is located on the left side of the Navigation Screen. This tree 
roughly follows the java accessibility hierarchy of the screen showing you 
objects like buttons, lists, and check boxes as well as containers like tool 
bars and menu bars. Details on how to use the navigation tree are given in the 
sections that follow.

* The Information Pane - This is a multi-line text area which shows you 
information about the item selected in the tree. If the selected tree item is a 
text area or a label, the information pane will contain the text found in that 
input field or label. If the item selected in the tree is an object such as a 
button or check box, the information pane will simply display the object type, 
it's accessible name, accessible description (if available), and the name of 
it's parent object.

* The Status Pane - This pane, located at the bottom of the screen, is a 
multi-line text area which shows you more detailed information about the 
characteristics of the item selected in the tree. If the item selected was 
visible on the application screen at the time the Navigation Screen is 
requested, the status pane will contain information about the objects size, 
location within it's container, and location on the screen. Otherwise, the 
status pane will state that the object is not currently visible on the 
application screen. The status pane also gives information about the states of 
an object such as focusable, selectable, selected, showing, etc.

In addition to the 3 main panes of the Navigation screen, there is a button bar 
across the top with buttons to move among the 3 panes. For example, press alt+t 
to move directly to the tree pane, alt+i to move to the information pane, or 
alt+s to move to the status pane.

How to Open the Navigation Screen:

To use the Navigation Screen press the f6 key from any java application window. 
the Navigation Screen will pop up with focus on the first entry in the tree 
pane. This will typically be the title of the window. From this point, you can 
simply arrow down through the tree items to review what is on your application 
window such as buttons, checkboxes, and radio buttons. In the navigation tree, 
certain levels of the tree are automatically expanded for you to make moving 
through the list faster. for example, if a tool bar is found, the words tool 
bar will be displayed at one level of the tree and all the objects in the tool 
bar will be at the next level in the tree. the Navigation Screen recognizes 
that a tool bar has been found and automatically expands the list of objects in 
the tool bar for you. The same logic is applied to menu bar as well as other 
items in the tree. For other items, such as lists or combo boxes, the tree 
level is not automatically expanded to show all the choices but you are free to 
open the next level in the tree by simply pressing the right arrow to expand 
it. For example, you might hear the word list closed depth 5 when you arrow 
down to a list. If you want to see the choices in that list, simply press the 
right arrow to expand the tree and proceed to arrow down through the list items.

One reason the auto-expansion feature is important is that the navigation tree 
offers first letter selection. For example, if your java application screen has 
a tool bar, when you press F6 to open the Navigation Screen, the tree will 
automatically show the tool bar. Thus, if you simply press the letter t from 
the top of the tree, you will likely land on the beginning of the tool bar 
(that is , of course, assuming there isn't another object starting with the 
letter t that comes first). You might also press the letter m to skip to the 
menu bar. to take advantage of this feature, some items in the tree have their 
labels given first followed by their type. for example, your application screen 
might have a yes, no, and cancel button. These would be listed in the tree as 
Yes button, No button, and Cancel button. Therefore, if you want to move 
directly to the yes button, pressing the letter y will likely get you there in 
1 or 2 presses.

When you are done with the Navigation screen, simply press escape to close it. 
You can also press f6 a second time if you prefer.

What Can You Do with the Navigation Tree?

While it is helpful to be able to review what your application screen looks 
like in a tree structure so you can read through the objects getting an idea of 
how things are grouped and allowing you to read objects which are grayed out, 
the Navigation Screen allows you to do more. from the tree pane, you can 
perform a number of actions as described below:

* Change the state of an object without leaving the Navigation Screen - For 
objects such as check boxes, radio buttons, and toggle buttons, you can press 
the space bar while the item is selected in the tree in order to toggle its 
checked/unchecked state without leaving the Navigation Screen.

* Request focus to an object - Once you have located a desired object in the 
tree, such as a button or tab, you can press the enter key to close the 
Navigation Screen and move your focus to that object on the regular application 
window. If the item you have selected in the tree cannot receive focus, such as 
an item that is grayed out, or an item that is not currently visible on the 
regular screen, you will be told and the Navigation Screen will remain open.

* Route the mouse to the object and perform a left click - Once you have 
located a desired item on the tree, such as a button or text field, press 
ctrl+l to route the mouse to that location on the regular application window 
and perform a left mouse click. This action closes the Navigation Screen. For 
example, if you have located a table in the navigation tree and wish to left 
click on it to get to the first row, press ctrl+l on the line in the tree that 
says table. The Navigation Screen will close and the mouse will be routed to 
the location of the table on the screen and a left click performed.

* Route the mouse to the object and perform a right click - Once you have 
located a desired item on the tree, such as a button or text field, press 
ctrl+r to route the mouse to that location on the regular application window 
and perform a right mouse click. This action closes the Navigation Screen. For 
example, right clicking some objects will bring up a context menu for that 
object.

Keep in mind that certain actions are not possible if the selected item in the 
tree is not actually visible on the application screen. for example, you can 
use the Navigation Screen to read all the menu choices for the File menu on the 
menu bar. However, since those choices are not actually showing on the 
application screen until you click on the file menu, you can't request that the 
mouse be routed to the Open menu item and clicked. Rather, move to the File 
menu label in the tree and press ctrl+l to select it which will close the 
Navigation Screen, drop down the menu and then allow you to select the desired 
menu item. The navigation tree actually gives you vastly more information about 
your application window than what is currently visible by just looking at the 
screen. All menu selections can be read, all combo box items can be read, 
content of window tabs other than the one that is currently displayed can be 
read, and so on. However, because these objects are hidden from view for 
someone just seeing the screen, there is no physical screen address to route 
the mouse to for action. If the Navigation screen can't move the mouse to a 
particular location for you, an error message will be spoken. However, for most 
items which are currently visible on the application screen, the ctrl+l and 
ctrl+r functions of the navigation tree provide a quick way to locate those 
objects and click on them.

The objective of the Navigation Screen is to allow WE4Java to move beyond 
simply serving as a bridging technology and to allow it to begin to become an 
access solution. Combining the information from the navigation tree, the info 
pane, and the status pane allows you to gain a perspective on how things are 
grouped together on the screen and even where objects are located and what size 
they are. Utilizing the first letter navigation feature of the tree helps 
locate items quickly such as tool bars, menus and buttons. Using the space bar, 
enter, ctrl+l and ctrl+r functions of the navigation tree, you can perform 
desired functions such as moving focus and routing/clicking the mouse.

Other related posts:

  • » WE4Java 0.9.19 posted to Script Central - Macarty, Jay {PBSG}