Re: Developing cross-platform, accessible apps

  • From: Roopakshi Pathania <r_akshi_tgk@xxxxxxxxx>
  • To: Jamal Mazrui <empower@xxxxxxxxx>, programmingblind@xxxxxxxxxxxxx
  • Date: Sat, 12 Jun 2010 21:21:01 -0700 (PDT)

Hi Jamal,

Well Most major screen readers support working with Swing, even if a screen 
reader like Window Eyes uses a different approach. I’ve checked and Hal also 
supports the bridge.
Besides, it’s not possible to dismiss access to Swing based applications out of 
hand especially because Swing components are widely used in software developed 
for corporate environment. SAP and Oracle, both state the need of using Java 
Access Bridge on their accessibility requirements page.

Java Access Bridge is probably the crux of the problem because it does not 
expose the entire Java accessibility API to a screen reader.
If anyone is interested, here is a forum for discussing accessibility of Java 
for developers who want to make their software accessible. 
http://forums.sun.com/forum.jspa?forumID=3&start=0

If you go through some of the posts, you’ll realize the kind of limitations 
Java Access Bridge imposes on assistive technology.

I quite agree with Ken, we do need a better bridge to Java’s accessibility API.
This might be possible if we try to get developers (from the general community) 
interested in this project.

Regards

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

> From: Jamal Mazrui <empower@xxxxxxxxx>
> Subject: Re: Developing cross-platform, accessible apps
> To: programmingblind@xxxxxxxxxxxxx
> Cc: "Roopakshi Pathania" <r_akshi_tgk@xxxxxxxxx>, program-l@xxxxxxxxxxxxx
> Date: Saturday, June 12, 2010, 11:54 PM
> 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
> >
> >
> 



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

Other related posts: