AxAp News, January 2017

Welcome to AxAp News, an online newsletter about the AxAp Project. This inaugural issue covers our initial efforts, starting with the project's prehistory and leading to the current, proof of concept prototype. It also discusses some of our plans for further development.

Beginnings

In early 2016, Rich Morin started thinking about the possibility of using standards and technologies from the World Wide Web to improve the accessibility of a wide range of digital content. Standards such as HTML5 and WAI-ARIA encourage the use of accessible content on the web. Using them for other content (e.g., data files, documents, source code) seemed like a plausible and worthwhile objective.

Talking with Amanda Lacy, Rich soon realized that the state of accessibility on the web was far from perfect. Although various standards exist, each user interface (UI) "stack" (e.g., operating system, web browser, screen reader) has its own way of implementing them. More critically, most web sites ignore these standards now and will do so for the foreseeable future.

Clearly, some kind of mediation software was needed. Accepting various forms of content as input, it would add accessibility markup (e.g., HTML tags, ARIA attributes) and hand off the results to existing UI stacks. However, Rich found significant problems with all of the "obvious" approaches he considered (e.g., modifying screen readers, writing browser plugins).

Challenges

Modifying existing software presents a number of challenges. Although some of the relevant software is open source, many popular programs (e.g., JAWS, Safari, VoiceOver) are not. So, their internals can't be examined, let alone modified. Even when the code is modifiable in theory, it may not be in practice. Issues such as language choice, packaging, and distribution can easily become overwhelming.

There was also the problem of market fragmentation. No single screen reader works on every operating system, each browser has its own API (etc) for plugins, etc. Supporting this range of software (and its combinatorics) was simply a non-starter, especially for a small, volunteer project. So, Rich needed a way to create a single, widely applicable solution.

More critically, browser plugins operate in a very constrained environment. They have to be written in JavaScript (or compiled into it). They are also prevented (for reasons of security) from accessing various resources (e.g., local files, I/O devices, and processes; networking). So, many of the features Rich had in mind would be impossible for a plugin to support.

Response

Rich's response to these challenges was AxAp, an "accessibility application". It would be constructed as a personal web server (of sorts :-), running with all of the privileges of normal user process. It could run on any operating system, access any needed resources, and use infrastructure written in any language.

After a few months of requirements analysis and systems design, Rich started work on axap_ds (AxAp Demo Server), a testbed and proof of concept implementation based on Ruby and the Sinatra web framework. About 7000 lines of code later, axap_ds is now giving Amanda a more convenient way to read both EPUB documents and program source code, as well as making a start on presenting data files.


This wiki page is maintained by Rich Morin, an independent consultant specializing in software design, development, and documentation. Please feel free to email comments, inquiries, suggestions, etc!

Topic revision: r8 - 19 Dec 2016, RichMorin
This site is powered by Foswiki Copyright © by the contributing authors. All material on this wiki is the property of the contributing authors.
Foswiki version v2.1.6, Release Foswiki-2.1.6, Plugin API version 2.4
Ideas, requests, problems regarding CFCL Wiki? Send us email