AxTk is a toolkit for creating highly accessible, cross-platform self-voiced applications aimed at people with vision or other disabilities. It features a new menu-based system that is easy for the user to learn and use, as well as functionality to help developers adapt their existing applications.
AxTk is built on top of wxWidgets, and currently is only available as a C++ API.
AxTk is in its infancy but the samples already demonstrate essential functionality such as making conventional dialogs self-voicing with little additional code, and the menuing system with a number of predefined item types that can take the place of traditional controls and dialogs.
AxTk stems from a long-standing desire to create highly accessible applications, and to help others to do so. While screen readers will always be essential for making existing programs accessible, it would be more helpful if the user interface voicing had some knowledge of the underlying application behaviour, beyond the GUI controls. For example, you might wish to use different voices for navigation and content reading, and not have the content reading interrupted by navigation. Or you might need to assign special text labels to graphical interface elements. There may well be custom controls that a screen reader can't make any sense of at all, and in this case specialised voice enabling (and keyboard support) is essential.
So instead of relying on screen readers to make a standard GUI accessible, the AxTk approach is to provide a set of tools so that the developer is in charge of accessibility. There are two main methods that AxTk supports: adding self-voicing to existing applications, and creation of a new, easy-to-use menu-based interface. These methods can be mixed and matched if required.
Using the menu-based approach, you can create applications with a very homogenous user interface routed mainly through a single menu control. However, there is nothing to stop an application from being switchable between the menu-based UI and a conventional wxWidgets GUI, in order to adapt to the user's requirements. Obviously, this requires careful design to make as much code as possible UI-independent, thereby making it easier to maintain the two alternative UIs.
In addition to the basic UI functionality, AxTk defines a layer above this for manipulating a 'resource library'. This is the basis for applications that present a uniform interface to a variety of file types and functionality, as diverse as ebooks, audio files, web services, conversion utilities, and so on. The resource library is a way of reducing the need to operate entirely differently applications and user interfaces, which can be a struggle for those with limited sight or motor control.
To make use of wxWidgets, you currently need one of the following setups.
- A 32-bit or 64-bit PC running MS Windows.
- A Windows compiler, preferably MS Visual C++, but you may have luck with Borland C++, Watcom C++, Cygwin, or MinGW.
- Almost any C++ compiler, including GNU C++ and many Unix vendors compilers such as Sun CC, HP-UX aCC or SGI mipsPro.
- Almost any Unix workstation, and one of: GTK+ 2.4 or higher.
(c) Mac OS/Mac OS X:
- A PowerPC or Intel Mac running Mac OS X 10.4 or higher
- The Apple Developer Tools (eg. GNU C++)
Under all platforms it's recommended to have large amounts of free hard disk space.
AxTk source is currently available from http://code.google.com/p/axtk/.
AxTk comes to you courtesy of the following:
- Julian Smart
- The wxWidgets team (for wxWidgets)