RE: What do you think of this tool?

  • From: "Juan Hernandez" <blindmagik@xxxxxxxxx>
  • To: <programmingblind@xxxxxxxxxxxxx>
  • Date: Sun, 10 May 2009 05:31:55 -0700

This in theory would make the app self-voicing?

Thanks.


 


Juan Hernandez
juanhernandez98@xxxxxxxxx
858-699-2105

-----Original Message-----
From: programmingblind-bounce@xxxxxxxxxxxxx
[mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of Ishe Chinyoka
Sent: Saturday, May 09, 2009 4:01 AM
To: programmingblind@xxxxxxxxxxxxx
Subject: What do you think of this tool?

Hi coders,

I recently ran across the following announcement on the wxWidgets mailing
list. I just thought you might be interested in it as it relates to
accessibility in wxWidgets programs (of course including its cousins like
wxPython, wxPerl and Company).
Cheers,
Here we go!
-------------------------

Announcing AxTk - an accessibility toolkit for wxWidgets

wxWidgets
Add star

Julian Smart

<julian@xxxxxxxxxxxxxxx>
Thu, May 7, 2009 at 9:26 AM
Reply-To: wx-users@xxxxxxxxxxxxxxxxxxx
To: wx-users@xxxxxxxxxxxxxxxxxxx, wx-announce@xxxxxxxxxxxxxxxxxxx

Reply Alt+Shift+r
 |
Reply to all Alt+Shift+a
 |
Forward Alt+Shift+f
 |
Print
 |
Delete
 |
Show original

Announcing AxTk - an accessibility toolkit for wxWidgets 7th May 2009
http://code.google.com/p/axtk/

* What is AxTk?

AxTk (pronounced Ay Ex Tee Kay) is an open source, C++ add-on for wxWidgets
that helps developers create highly accessible, talking applications for
users with impaired vision. It may also be useful for other impairments that
benefit from a simplified user interface.

AxTk features a new menu-based system that is easy to learn and use, in
addition to providing adaptation for some existing GUI controls and dialogs.
The developer can choose whether to use the menu system, or to adapt an
existing application UI, or use a combination of methods.

AxTk is cross-platform (tested so far on Windows XP, Linux and Mac OS X
10.5), and includes text-to-speech classes with the ability to drive SAPI 5,
Apple Speech Synthesis Manager, eSpeak, and Cepstral. Other speech engines
can be driven by writing additional handlers.

Note that AxTk is a work in progress and the API is subject to change.

* What else is AxTk?

There is an additional, higher-level layer for building applications that
help the user maintain 'resource libraries' for all kinds of files and
services.
The motivation is to provided simplified access to many resources and
activities that are currently spread amongst many applications and web
sites. By making this part of AxTk, we increase the chances of providing a
really useful, accessible application platform that can be customised in
interesting ways for individuals or government sectors. However, this is
currently a less well-developed aspect of AxTk and one which you can ignore
fo now. The resource demo shows playing of audio albums and reading Epub
books (having converted the XHTML content to plain text first).

* What about Braille output?

Although nothing is specifically coded yet for Braille devices, they could
be supported relatively easily by adding handlers to the wxTextToSpeech
system, to output to the device instead of a speech engine.

* Why not just use a screen reader?

Screen readers don't have an in-depth knowledge of the application; in
theory, an AxTk application can make use of knowledge of its own structure
to make speech more helpful and less verbose. Also, an application's custom
controls are not accessible to screen readers. In additon, AxTk provides an
alternative, menu-based user interface that is not so prone to the problems
of accessing conventional layouts via a screen reader. Finally, an AxTk
application provides support for application-wide colour and text size
changes that are harder to achieve in an ad-hoc way.

* Is this anything to do with MSAA (Microsoft Active Accessibility)?

No; a different approach is used. Although wxWidgets has some basic MSAA
support, other ports have no similar support and it may be hard to create a
comprehensive cross-platform solution to accessibility based on OS-level
accessibility support. It would still leave applications and users at the
mercy of particular screen readers and it would not solve other problems
that AxTk sets out to solve: visual adaptation, fine control over speech
(such as content voicing), customisable shortcut support, and more.

Having said that, work on integrating MSAA equivalents for other platforms
would be very welcome, either as part of AxTk or built into wxWidgets.

* How hard is it to use?

Apart from some housekeeping that you can pinch from the sample, the amount
of extra code can be small if you're just adapting existing UIs. For
example, to make a dialog self-voicing and responsive to visual appearance
changes (assuming the dialog's controls are in the set of controls currently
handled by AxTk):

#include "ax/ax_ui_adaptation.h"

...

class MyDialog: public wxDialog
{
  ...
  AxSelfVoicing m_adapter;
};

MyDialog::MyDialog(...)
{
  ...
  m_adapter.Adapt(this);
}

If you have controls that are not currently handled by AxTk, you can write
adapter classes and also handler classes that detect the appropriate
controls and create their adapters.

Using the new menu system is also pretty straightforward as you can see from
the sample (mainframe.cpp). There are some new concepts such as AxActivator,
which handles menu item activation, but there's plenty in common with
conventional wxWidgets programming.

* Where and how do I get it?

AxTk is hosted at Google Code and is available via SVN or as a source
tarball or zip file.

http://code.google.com/p/axtk/

The discussion group is
axtk-dev@xxxxxxxxxxxxxxxxx

The documentation is available here:

http://www.anthemion.co.uk/axtk/html/index.html

* Are there demos?

Yes; you can download axsample binaries for Windows, Linux and Mac from:

http://www.anthemion.co.uk/axtk/

You can ignore axresourcesample unless you're interested in the higher-level
resource library layer mentioned previously.

* Can I contribute?

Please do! See docs/todo.txt for some of the things left to do. You'll
probably find things to do yourself. You can supply patches in the AxTk's
Issue Tracker, or you can ask to be added to the list of project members in
order to make changes in SVN.

* What's the build system?

None to speak of. This would make a good contribution. Currently you can use
DialogBlocks to generate projects and makefiles for the two samples, which
simply include all the AxTk code.

* What is the license?

The license is the New BSD License, which is very brief, easy to understand,
and industry-friendly. Please see license.txt in the source tarball for
details.

I hope you find AxTk useful - or at least, fun to play with.

Julian Smart, Anthemion Software
http://www.anthemion.co.uk

--
Julian Smart, Anthemion Software Ltd.
28/5 Gillespie Crescent, Edinburgh, Midlothian, EH10 4HU www.anthemion.co.uk
| +44 (0)131 229 5306 Tools for writers:
www.writerscafe.co.uk
wxWidgets RAD:
www.dialogblocks.com
Blog:
www.juliansmart.com

--
Ishe Chinyoka
WEB URL: http://www.chinyoka.com
------------------------------
"Those who would give up essential liberty to purchase a little temporary
safety deserve neither liberty nor safety." -- Benjamin Franklin __________
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: