Re: [program-l] Re: Developing cross-platform, accessible apps

  • From: Chris Hofstader <cdh@xxxxxxxxxxxxx>
  • To: programmingblind@xxxxxxxxxxxxx
  • Date: Sun, 13 Jun 2010 07:39:57 -0400

Ken, I couldn't agree more. If this could be done in a manner that uses a technique that does not need the bridge, it would be a huge win.


Someone (name omitted for privacy reasons) is likely to donate a bridge-free screen access tool for Java to the FSF/GNU. We'll give it a repository and someone can volunteer to be its maintainer and, from there, the community will be in charge of our own destiny regarding Java accessibility.

We're only waiting on some code clean-up which, I'm told, won't take too long, then we need to put on a free software license and the world can get to work on this highly innovative approach to Java accessibility.

** I have no clue whatsoever when this task will be completed to the point that it is part of the world of GNU and make no promises nor assertions or even guesses at when it will become available. **

People interested in getting involved in this or any other GNU accessibility project should first join our very low traffic accessibility discussion mailing list by sending an email to accessibility-requests@xxxxxxx with "subscribe" (sans quotes) in the subject line. We have lots of projects that need help immediately and others in the early planning stages. We need help with coding, testing, documentation, tutorial and nearly every other software related task on a bunch of interesting accessibility initiatives.

As for the mailing list, it is for discussing all aspects of free access technology software so everyone is welcome. If the list grows and becomes too high volume, we'll probably add an accessibility hackers mailing list for the highly technical. The only topics that are banned from the FSF/GNU accessibility mailing list are debates of the relative merits of proprietary versus free software licenses - we are, after all, the Free Software Foundation and we're not likely to change our values for any reason whatsoever.


Happy Hacking,
cdh


On 06/12/2010 07:45 PM, Ken Perry wrote:
It is sad but the truth is the only way we are going to truly get universal 
access to Java is if someone sits down and writes a java screen reader / tool 
kit that makes the entire system talk.  This would be cross platform and 
injected into the Jvm like the access bridge.  Otherwise we end up writing 
scripts for jaws, Plug ins for window - eyes, other methods for other screen 
readers and we are all working on multiple methods.  If we all worked on one 
method it would be done in a year to the point of at least something like voice 
over.

ken

-----Original Message-----
From: programmingblind-bounce@xxxxxxxxxxxxx 
[mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of Jamal Mazrui
Sent: Saturday, June 12, 2010 2:45 PM
To: program-l@xxxxxxxxxxxxx
Cc: programmingblind@xxxxxxxxxxxxx; Roopakshi Pathania
Subject: Re: [program-l] Re: Developing cross-platform, accessible apps

Correction -- Window-Eyes does not have native support for the Java
access API, but considerable support has been developed by a third-party
script writer.  A significant problem, however, is that there is little
tech support for that script at this time.

Jamal

On 6/12/2010 2:24 PM, Jamal Mazrui wrote:
Hi Roopakshi,
I am aware of the Java access API, but unfortunately, I do not think
there is sufficient screen reader support for it on Windows. This is
more the fault of the screen reader companies than Sun, since the API is
strong on the server side.

Window-Eyes, for example, does not support that API at all. JAWS works
partially. I hear that NVDA works well. I do not know about System
Access or Hal. With the SWT approach, on the other hand, apps can be
fully accessible because native widgets are used, including
MSAA-integrated controls on Windows.

Thanks for the info about Axtk, which I had not heard about. At first, I
thought the name was associated with the cross-platform GUI library
called TK, which has poor accessibility, but I see that it is actually
wx-related, as you say.

Jamal

On 6/12/2010 11:53 AM, Roopakshi Pathania wrote:
  >
  >  Hi Jamal,
  >
Thanks for the info about Axtk -- I had not heard of it. The name made
me first think it was related to the cross-platform GUI library called
TK, which has poor accessibility, but I see that it is based on
wxWdigets, as you say.

Jamal



On 6/12/2010 11:53 AM, Roopakshi Pathania wrote:
Hi Jamal,


You left out Java Accessibility API that provides access to Swing
based applications on all platforms (not completely sure about Mac)
through Java Access Bridge.
In this regard, the guidelines laid down by IBM on developing a
completely accessible Java application are quite useful.
http://www-03.ibm.com/able/guidelines/software/accesssoftware.html

I like to point the developers of inaccessible applications to this page.

One more toolkit might be of interest: AxTk.
http://code.google.com/p/axtk/

It is built on wxWidgets and is especially geared towards screen
reader users. It is also suppose to have text to speech wrapper class
supporting a number of speech engines.

I’m building my own tools for financial and data analysis, so have
looked at cross-platform accessible libraries.

Regards
Roopakshi

--- On Sat, 6/12/10, Jamal Mazrui<empower@xxxxxxxxx>  wrote:

From: Jamal Mazrui<empower@xxxxxxxxx>
Subject: Developing cross-platform, accessible apps
To: "programmingblind"<programmingblind@xxxxxxxxxxxxx>,
program-l@xxxxxxxxxxxxx
Date: Saturday, June 12, 2010, 8:27 PM
This is to share some points I have
learned about developing cross-platform, GUI-accessible,
desktop apps. Currently, the key is using programming
libraries that wrap native widgets of the platform. These
native widgets generally implement the main accessibility
API of the platform, much more so than custom widgets.

On Windows, native widgets are most likely to implement
Microsoft Active Accessibility, or increasingly, User
Interface Automation as it replaces MSAA. On Linux,
the GTK+ widgets that are native to the Gnome desktop
implement the Assistive Technology Service Provider
Interface. On the Mac, Cocoa-based widgets implement the Mac
Accessibility Protocol.

Thus, a cross-platform library is most likely to create
accessible GUIs if it wraps native widgets of each platform,
rather than defining its own widgets. A disadvantage
of this approach is that the developer needs to be conscious
of small differences in the behavior of widgets across
platforms, even though wrapping code of the library tries to
minimize such differences. Besides accessibility, an
advantage of this approach is that widgets have the look and
feel that sighted users are accustomed to experiencing on
each platform.

Sometimes, a GUI library is closely associated with a
programming language that has especially strong support for
that library in wrapper functions and design tools. A
few language and library combinations that seem to work
particularly well for cross-platform, accessible development
are as follows:

* Java and the Standard Widget Toolkit
http://www.eclipse.org/swt/

* Python and wxWidgets
http://wxPython.org

* C# and the System.Windows.Forms classes of the Mono
Framework
http://mono-project.org

Note that, in this case, the Microsoft .NET Framework
should be used as the runtime environment on Windows in
order to have native widget support.
http://msdn.microsoft.com/en-us/netframework/default.aspx

If others have further info or ideas on this topic, please
share.

Jamal

__________
View the list's information and change your settings at
//www.freelists.org/list/programmingblind




__________
View the list's information and change your settings at
//www.freelists.org/list/programmingblind


** To leave the list, click on the immediately-following link:-
** [mailto:program-l-request@xxxxxxxxxxxxx?subject=unsubscribe]
** If this link doesn't work then send a message to:
** program-l-request@xxxxxxxxxxxxx
** and in the Subject line type
** unsubscribe
** For other list commands such as vacation mode, click on the
** immediately-following link:-
** [mailto:program-l-request@xxxxxxxxxxxxx?subject=faq]
** or send a message, to
** program-l-request@xxxxxxxxxxxxx with the Subject:- faq

__________
View the list's information and change your settings at
//www.freelists.org/list/programmingblind

__________
View the list's information and change your settings at
//www.freelists.org/list/programmingblind

__________
View the list's information and change your settings at //www.freelists.org/list/programmingblind

Other related posts: