Re: [g-a-devel] Accessible cross-platform toolkit?



Hi Milan, Steve, all,

In addition to Java and XUL (and wxWidgets and...), another cross-platform library that supports accessibility is the UNO & VCL from OpenOffice.org.  We have OpenOffice.org working with AT on UNIX, Windows, and now Macintosh.  Also, thanks to work done by the OpenOffice.org team, there are language bindings for these libraries available in multiple languages, with developer tool support available for multiple developer tools (including at least NetBeans and Eclipse).

I've only played around a little bit with these libraries using NetBeans, so I'm not in a position to give a thorough endorsement or discuss the benefits/challenges of going this route.  But I did want to point out another avenue worth exploring.


Regards,

Peter Korn
Accessibility Architect & Principal Engineer,
Sun Microsystems, Inc.

2008/8/26 Milan Zamazal <pdm brailcom org>:
[snip]  Although XUL is basically accessible, there
  
are minor annoyances which may make doing some things difficult to
impossible.

The very first problem is that there is little real interest of
supporting XUL in the accessibility infrastructure.
    
[snip]

  
Additionally, XUL is not that great development environment.  _javascript_
is handy for smaller tasks, but Java is IMHO much more suitable for
larger applications.
    

or Python ;-)

Yes there are frustrations but I discovered Mozilla now have a basic
_javascript_ module system and you can also create JS XPCOM components
both of which help with architecture. Theres aslo C++ XPCOM components
and perhaps one day Python. In addition I'm investigating using some
of Dojo's feature and it looks like it should be possible to use its
modules and classes simulation if you like that sort of thing. (I'm
actually using the data abstraction layer for easy local/remote data
access and parsing) plus it Django templating look easier than the
Mozilla system.

  
XUL doesn't handle widget tree switching very
well, apparently some things can't be managed right after they are
created thus making certain actions tricky and complicated.
    

Here I have to agree I spent ages fighting with layout and the lack of
events on reflow completion means a fragile reliance on timeouts. Mind
you I have not yet asked the community about this yet and there may be
some simple fixes. (anyone?)

  
Developer
documentation is far from perfect (e.g. in comparison with Java
documentation).
    

But it looks like the move is towards supporting the platform.

  
As for accessibility related items, there are sometimes
problems with keyboard navigation, focus handling is still somewhat
mystery to me, there is no Firefox and/or screen reader support for some
important concepts like table navigation, reporting statusbar changes or
character reading.  Overall our XUL application works, but not
perfectly, it's far from normally usable with JAWS and
    

  
I was forced to
use some ugly tricks, not speaking about time spent on experiments,
googling and reporting.
    

Yes it can be painful. But I feel its is worth while in that I have a
solution using web technologies and associated benefits.

  
One promising area, depending on the kind
of application, may be HTML+ARIA.  There are some widget toolkits based
on this, it's backed up by a W3C standard and it is likely to be well
supported at least in Firefox and Orca (better than XUL is).
    

You know it is not an all or nothing situation as you can use a HTML
front end with a XUL backend using documents simple ways to
communicate between the 2 through DOM nodes and events. A XUL backend
gives you full platform access and HTML UI gives accessibility and you
can used Dojo or jQuery or other widgets if they are accessible and
work with file://  (which DOjo does). I decide not to this currently
due to time constraints and am just using XUL + modules + C++ XPCOM

Cheers
  



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]