[Blindmath] [program-java] Announcing JWin - a programfor installing the Java Access Bridge on Windows

Michael Whapples mwhapples at aim.com
Sat Dec 31 12:26:27 CST 2011


Hello,
I hear many of the problems. I don't know all the answers, but some of them 
sound fairly like they are problems which would be common for many Java 
developers. For example things like the name clashes, everyone will have 
these problems. Any general issues probably would be best answered by 
eclipse experts, may be try the eclipse forums.

First thing I will say, possibly at the risk of others disagreeing, but if a 
particular programme you use only requires students to view graphical 
information, how accessible could you realistically make it anyway? What I 
mean there is how accessible with the accessibility APIs. If the 
accessibility APIs will not help at all for a given programme due to the 
graphical nature, then do you need to port it to SWT? The best option may be 
to just draw actile diagrams of the screen content for blind students (well 
may be take screen shots and get it embossed with a embosser capable of 
graphics if you have access to one). If the graphics on the screen develops 
with time then this would be even harder to make accessible to a screen 
reader so has even less reason to be ported to SWT. Also I don't know of the 
accessibility status of swing embedded in SWT, it probably needs the access 
bridge if it is to be accessible although I don't know whether the access 
bridge works for embedded swing (it probably will as it works for applets).

While the swing integration should be a common enough problem, I decided to 
do some quick looking around for you. I found this article which may help, 
admittedly it is a bit old but it may help as a starter 
http://www.eclipse.org/articles/article.php?file=Article-Swing-SWT-Integration/index.html 
which may explain about the JFrame integration. Also it may be worth 
commenting here, SWT can have very interesting bugs which can be JVM 
specific, on Linux when using a screen reader (or anything using the 
accessibility framework at-spi) exiting eclipse got to a point where the JVM 
would not fully exit, well that is if you use the Sun JVM but if you used 
the IBM JVM then there was no problem. Also other SWT applications did not 
show the bug either. I think the new at-spi2 has solved the bug. My point 
with this comment is that if you find bugs when using swing with SWT may be 
other JVMs will work fine.

Now to the Java2d stuff, I will admit not really knowing much about Java2D, 
however I think the following link does what you asked in another message 
http://www.java2s.com/Code/Java/SWT-JFace-Eclipse/UseofJava2DonSWTorDraw2Dgraphicalcontext.htm

Hope the above was useful. Also feel free to ask about how to do certain 
things should there be any difficulty. Finally, if adding accessibility has 
been as much work as you say, may be it would be great if you could make 
notes of what is difficult, I don't know how many developers of tools would 
listen but it at least would give them a chance of knowing what the problems 
are. Making a course accessible shouldn't be as much work as you say, 
particularly if the tools are available.

Michael Whapples

-----Original Message----- 
From: Richard Baldwin
Sent: Saturday, December 31, 2011 3:00 PM
To: Blind Math list for those interested in mathematics
Cc: john.gardner at orst.edu
Subject: Re: [Blindmath] [program-java] Announcing JWin - a programfor 
installing the Java Access Bridge on Windows

By the way, I forgot to mention that many of the classes in the SWT library
have the same names, but different events, properties, and methods as
classes in the standard Sun libraries, leading to frequent name clashes.

IBM should at least have prefaced the SWT class names with an "I" or
something like that to prevent clashes with the standard names. For
example, instead of Color, they could have named the SWT class IColor and
instead of Text, they could have named the class IText.

Obviously, with 16 years of Java programming experience,  I know how to
program around these name clashes, but a little foresight on the part of
IBM would have prevented the name clashes in the first place.

Dick Baldwin

On Sat, Dec 31, 2011 at 8:34 AM, Richard Baldwin 
<baldwin at dickbaldwin.com>wrote:

> The true power of Java and C# lie not in the core languages themselves,
> but rather in the class libraries that can be integrated into Java and C#
> programs. In fact, it was a network programming class library that caused
> me to first become interested in Java in 1997. The availability of that
> library made it easy for me to do things with Java that I didn't even know
> how to do with C++.
>
> My main concern with SWT is that by not having access to an integrated
> JFrame object, SWT effectively precludes (or at least makes very 
> difficult)
> the use of any existing library or code that is based on the use of JFrame
> objects. A number of such libraries plus hundreds of very good sample
> programs exist. I'm speaking mainly of graphics libraries and programs and
> not just buttons, fields, and menus. Further, the integrated graphics
> capability of SWT seems to be fairly weak as compared to the Java2D API,
> but that may be simply a matter of familiarity on my part.
>
> I also find that every attempt that I have made to write multi-threaded
> programs in an attempt to integrate such programs and libraries into SWT
> have met with failure.
>
> Basically, SWT is not an "add to" but rather is an "instead of" in many
> respects when it comes to Java programming. Stated differently, SWT 
> doesn't
> build on existing Java capabilities but instead replaces them with other
> capabilities that may or may not be better. Apparently the one area where
> they are better is in the area of accessibility.
>
> I am currently writing the lectures for a new course in Mathematics for
> Game Programming that I will be teaching in the Spring. I had planned to
> make heavy use of Java graphics programs that I have written over the 
> years
> to illustrate the concepts. I also decided to make the course material as
> accessible as practical. That decision is making the task of developing 
> the
> new materials four or five time more difficult than it would otherwise be,
> because I am having to convert every existing program into an SWT-based
> program. Converting, testing, and debugging those programs is a very
> time-consuming and labor-intensive task.
>
> To use a boxing metaphor, I feel like precluding the use of existing
> libraries and programs when writing new programs is somewhat like going
> into the boxing ring with one hand tied behind me.
>
> Dick Baldwin
>
>
> On Sat, Dec 31, 2011 at 5:49 AM, Michael Whapples 
> <mwhapples at aim.com>wrote:
>
>> Just an additional note: I have had Java access bridge and NVDA working
>> on a 32-bit windows XP system, its the windows7 64-bit system which
>> currently defeats me. I would say that I am quite knowledgable with Java
>> and understand what the various directories in a JRE are for and where 
>> the
>> files are copied to made sense to me but I just cannot get it working. 
>> May
>> be the problem is on the NVDA side of things. From a user's perspective 
>> all
>> that can be observed is that the access bridge isn't working on this 
>> 64-bit
>> system. May be I will try something else which can use the access bridge
>> (eg. a demo of JFW) then I can get a better idea what has the issue.
>>
>> Richard, I am not sure exactly what the issues are you have with SWT, I
>> know that many people do prefer the design of swing to SWT for developing
>> applications (eg. SWT needing you to explicitly call despose on widgets),
>> is it those more general issues or is it a more specific accessibility 
>> one?
>>
>> Michael Whapples
>>
>> -----Original Message----- From: John Gardner
>> Sent: Friday, December 30, 2011 6:01 PM
>> To: 'Blind Math list for those interested in mathematics'
>> Subject: Re: [Blindmath] [program-java] Announcing JWin - a programfor
>> installing the Java Access Bridge on Windows
>>
>>
>> I second Michael's comments about Java.  I have tried for years to 
>> install
>> and use the Java Bridge to access some Java application or other.  Or to
>> use
>> Window-Eyes or NVDA to access other Java applications.  I have never
>> succeeded even once.  I am continually told that OpenOffice can be
>> accessible, and I have tried repeatedly to access that app.  I have 
>> failed
>> miserably.
>>
>> Admittedly it may be my own fault, because I didn't install the framus
>> correctly into the Froomis location and then link to the jar application
>> correctly.  I'm not the most competent computer user on earth, but then I
>> know a lot more than the average user.  Perhaps there are blind people 
>> who
>> can use OpenOffice, but I bet that most, like I, cannot.
>>
>> I intend to try Jamal's new stuff.  He can work miracles, and maybe I'll
>> be
>> using OpenOffice next week.
>>
>> But please don't ever assume that just because one has accessibility in
>> principle that everyone will have it in practice.  No matter how easy it
>> is
>> to install and use Jamal's new technology, the vast majority of blind
>> people
>> are not gonna be able to do it.  But that same group can use something
>> using
>> SWT.  Assuming that the Java Swing or SWT application is written 
>> following
>> the accessibility rules.  If not, neither is accessible.
>>
>> John
>>
>>
>> -----Original Message-----
>> From: blindmath-bounces at nfbnet.org 
>> [mailto:blindmath-bounces@**nfbnet.org<blindmath-bounces at nfbnet.org>]
>> On
>> Behalf Of Michael Whapples
>> Sent: Friday, December 30, 2011 1:24 AM
>> To: Blind Math list for those interested in mathematics
>> Subject: Re: [Blindmath] [program-java] Announcing JWin - a program for
>> installing the Java Access Bridge on Windows
>>
>> Java accessibility is a bit of a tricky thing. Plenty of the ideas of 
>> Java
>> accessibility seemed good but in practice implementation can be quite
>> poor.
>> I will only focus on the accessibility stuff here, I am sure you either
>> know
>>
>> about the other differences of SWT and Swing or you can easily find
>> articles
>>
>> online about the differences.
>>
>> From the developer side the Java accessibility API is the same on all
>> platforms, you can rely on it being there and when you build the Java
>> application you don't need differnt builds for different JVMs (a single
>> JAR
>> does for everyone).
>>
>> The not so good is that as it is its own API and does not map to the
>> native
>> platform accessibility APIs the assistive technology needs to 
>> specifically
>> support Java accessibility. Window-eyes does not have built in support 
>> for
>> Java accessibility although it does support it through scripting from a
>> third party. Also sometimes as the Java accessibility API may differ from
>> the platform one, support may not be wonderful, there seems to be some
>> issues with the support on the Mac with voiceover (eg. the open dialog
>> has a
>>
>> table control for selecting the file but voiceover always sees it as
>> empty,
>> don't know if this is the same for all table controls in Java swing). 
>> Java
>> accessibility support on Linux is fairly good in comparison, may be due 
>> to
>> Sun Micro (as it was then) having a big hand in both Java accessibility
>> and
>> gnome accessibility, however from time to time there have been issues
>> there
>> as well.
>>
>> Putting the quality of the support to one side, Java accessibility is 
>> more
>> complicated for the user, you need to additionally install the Java 
>> access
>> bridge. Hopefully good installers will help, however it still is a pain 
>> as
>> you need it installed in every JVM which will be used for Java swing,
>> including ones bundled with applications. Also strictly speaking the Java
>> access bridge is not the only way to access Java accessibility, other
>> people
>>
>> can write implementations for accessing Java accessibility, I think this
>> is
>> how the window-eyes support works and so for someone who uses different
>> screen readers depending on what they are doing they may need to keep
>> switching the accessibility provider in accessibility.properties (eg. a
>> user
>>
>> of window-eyes and NVDA would need to do this).
>>
>> Having said all that, SWT isn't perfect as I think you have found out, 
>> but
>> for the user it generally is less trouble as the assistive technology
>> needs
>> to do nothing special as SWT uses native widgets and APIs. Which is 
>> better
>> probably depends on what is being done and I will leave that final choice
>> to
>>
>> you.
>>
>> Finally as a side note: Personally I am currently having trouble getting
>> the
>>
>> Java access bridge working on a windows7 64-bit system with a 64-bit JVM
>> with NVDA. I am using NVDA 2011.3 which is meant to support 64-bit Java
>> and
>> I have tried manually installing the Java access bridge and using the
>> installer posted about here, neither seem to have worked (NOTE: The
>> installer worked in the sense it placed everything where it should have,
>> it
>> didn't work in the sense that I still do not have a working java access
>> bridge). In comparison I downloaded eclipse and it worked with no issues
>> with the same set up.
>>
>> Michael Whapples
>>
>> -----Original Message----- From: Richard Baldwin
>> Sent: Friday, December 30, 2011 4:30 AM
>> To: program-java at freelists.org
>> Cc: guispeak at freelists.org ; sec508 at trace.wisc.edu ;
>> program-l at freelists.org
>>
>> ; blindmath at nfbnet.org ; uaccess-l at trace.wisc.edu
>> Subject: Re: [Blindmath] [program-java] Announcing JWin - a program for
>> installing the Java Access Bridge on Windows
>>
>> It would definitely make me happy if this would eliminate the need to
>> program using the SWT for accessibility.
>>
>> Besides being unfamiliar territory, using the SWT effectively eliminates
>> the use of many very good existing Java libraries that have been 
>> developed
>> over the past ten or so years.
>>
>> As near as I can tell, even though it is possible to incorporate a Java
>> Frame object into an SWT GUI, there are no provisions for similarly
>> incorporating a JFrame object. If that is not the case, I would like to
>> hear how to incorporate a JFrame object from someone who knows how..
>>
>> Dick Baldwin
>>
>> On Thu, Dec 29, 2011 at 9:03 PM, Jamal Mazrui <empower at smart.net> wrote:
>>
>>  Now available at
>>>
>>>
>>> 
>>> http://EmpowermentZone.com/****JWin_setup.exe<http://EmpowermentZone.com/**JWin_setup.exe>
>> <http://**EmpowermentZone.com/JWin_ <http://EmpowermentZone.com/JWin_>
>> setup.exe>
>>
>>>
>>> or for a developer distribution
>>>
>>>
>>> 
>>> http://EmpowermentZone.com/****JWin_setup.zip<http://EmpowermentZone.com/**JWin_setup.zip>
>> <http://**EmpowermentZone.com/JWin_ <http://EmpowermentZone.com/JWin_>
>> setup.zip>
>>
>>>
>>> I hope that JWin helps to open up more Java applications on Windows by
>>> making it easy to add accessibility support.  More info about the 
>>> program
>>> is below, including a link to the full documentation.
>>>
>>> Jamal
>>>
>>> ----------
>>>
>>> JWin is a free, open source program for detecting and installing the 
>>> Java
>>> Runtime Environment (JRE) on Windows, together with the Java Access
>>> Bridge
>>> (JAB), which is needed for full accessibility of Java-based applications
>>> to
>>> assistive technologies used by persons with disabilities.
>>>
>>> After confirming user intent, the program will create a directory
>>> containing JAB reference material, a log file, and an uninstallation
>>> program to later remove the JAB, if desired.  It looks for locations of
>>> the
>>> JRE and offers to install the JAB into them.  Three possible directories
>>> are identified:  (1) the directory of a 32-bit JRE; (2) the directory of
>>> a
>>> 64-bit JRE; and (3) the directory referenced by the JAVA_HOME 
>>> environment
>>> variable.
>>>
>>> The program will open a log file when complete, detailing the actions
>>> taken.  The JAB may be installed into any JRE location on the computer 
>>> by
>>> first setting the JAVA_HOME environment variable to point to the 
>>> relevant
>>> directory before running the executable.
>>>
>>> If no JRE is found by the program, it will offer to go to the web page
>>> for
>>> installing Java.
>>>
>>> Full documentation for this program is also available online at
>>>
>>> http://EmpowermentZone.com/****JWin.htm<http://EmpowermentZone.com/**JWin.htm>
>>> <http://**EmpowermentZone.com/JWin.htm<http://EmpowermentZone.com/JWin.htm>
>>> >
>>>
>>>
>>>
>>>
>>
>> --
>> Richard G. Baldwin (Dick Baldwin)
>> Home of Baldwin's on-line Java Tutorials
>> http://www.DickBaldwin.com
>>
>> Professor of Computer Information Technology
>> Austin Community College
>> (512) 223-4758
>> mailto:Baldwin at DickBaldwin.com
>> http://www.austincc.edu/**baldwin/ <http://www.austincc.edu/baldwin/>
>> ______________________________**_________________
>> Blindmath mailing list
>> Blindmath at nfbnet.org
>> http://nfbnet.org/mailman/**listinfo/blindmath_nfbnet.org<http://nfbnet.org/mailman/listinfo/blindmath_nfbnet.org>
>> To unsubscribe, change your list options or get your account info for
>> Blindmath:
>> http://nfbnet.org/mailman/**options/blindmath_nfbnet.org/**
>> mwhapples%40aim.com<http://nfbnet.org/mailman/options/blindmath_nfbnet.org/mwhapples%40aim.com>
>>
>>
>> ______________________________**_________________
>> Blindmath mailing list
>> Blindmath at nfbnet.org
>> http://nfbnet.org/mailman/**listinfo/blindmath_nfbnet.org<http://nfbnet.org/mailman/listinfo/blindmath_nfbnet.org>
>> To unsubscribe, change your list options or get your account info for
>> Blindmath:
>> http://nfbnet.org/mailman/**options/blindmath_nfbnet.org/**
>> john.gardner%40orst.e<http://nfbnet.org/mailman/options/blindmath_nfbnet.org/john.gardner%40orst.e>
>> du
>>
>>
>>
>> ______________________________**_________________
>> Blindmath mailing list
>> Blindmath at nfbnet.org
>> http://nfbnet.org/mailman/**listinfo/blindmath_nfbnet.org<http://nfbnet.org/mailman/listinfo/blindmath_nfbnet.org>
>> To unsubscribe, change your list options or get your account info for
>> Blindmath:
>> http://nfbnet.org/mailman/**options/blindmath_nfbnet.org/**
>> mwhapples%40aim.com<http://nfbnet.org/mailman/options/blindmath_nfbnet.org/mwhapples%40aim.com>
>>
>> ______________________________**_________________
>> Blindmath mailing list
>> Blindmath at nfbnet.org
>> http://nfbnet.org/mailman/**listinfo/blindmath_nfbnet.org<http://nfbnet.org/mailman/listinfo/blindmath_nfbnet.org>
>> To unsubscribe, change your list options or get your account info for
>> Blindmath:
>> http://nfbnet.org/mailman/**options/blindmath_nfbnet.org/**
>> baldwin%40dickbaldwin.com<http://nfbnet.org/mailman/options/blindmath_nfbnet.org/baldwin%40dickbaldwin.com>
>>
>
>
>
> --
> Richard G. Baldwin (Dick Baldwin)
> Home of Baldwin's on-line Java Tutorials
> http://www.DickBaldwin.com
>
> Professor of Computer Information Technology
> Austin Community College
> (512) 223-4758
> mailto:Baldwin at DickBaldwin.com
> http://www.austincc.edu/baldwin/
>



-- 
Richard G. Baldwin (Dick Baldwin)
Home of Baldwin's on-line Java Tutorials
http://www.DickBaldwin.com

Professor of Computer Information Technology
Austin Community College
(512) 223-4758
mailto:Baldwin at DickBaldwin.com
http://www.austincc.edu/baldwin/
_______________________________________________
Blindmath mailing list
Blindmath at nfbnet.org
http://nfbnet.org/mailman/listinfo/blindmath_nfbnet.org
To unsubscribe, change your list options or get your account info for 
Blindmath:
http://nfbnet.org/mailman/options/blindmath_nfbnet.org/mwhapples%40aim.com 





More information about the Blindmath mailing list