AxAp

Introduction

AxAp (Accessibility Application) provides access to digital content, performing assorted transformations. It mediates the user's interactions with desired content, acting like a cross between a telephone exchange and a multimedia translation service. Although our primary target is the blind and visually-impaired community, many of the services that AxAp provides will be of general utility. AxAp can also serve as a vendor-neutral platform for user interface experimentation.

AxAp is mostly used as a personal web server, working in conjunction with the users' web browser and screen reader. However, it is also capable of accessing local devices and files. So, for example, it might be used for code reading and/or editing, using audio output and/or a Braille display.

Notes

Although these pages tend to speak in the present tense, many of the features described are largely speculative. Please refer to the Status page for more information.

This wiki web uses CSS settings to work around problems in various web browser / screen reader stacks (missing level information in section headings and related issues in the "table of contents" list at the top of each page). For example, we add an "(h3)" suffix to indicate a level 3 heading. (We're still seeking a workaround for missing level information in bullet lists. In the meanwhile, we'll just try to avoid using multi-level lists :-/)

Breakout Pages

For details, see the following breakout pages:

General

  • Approach - our expected implementation approach
  • Architecture - high-level view of system architecture
  • File Tree - structure of the AxAp file tree
  • Modularity - how AxAp's components plug together
  • Rationale - why we're doing this (the way we are)
  • Resources - grab bag of links to useful resources
  • Ruby Index - topical index to Ruby classes, etc.
  • Security - notions on keeping out the bad guys
  • Status - what we've done; what we're doing...
  • The Team - who we are
  • Versions - current and prospective versions

Objectives

Data Structures

EPUB documents

  • EPUB - general notes on our EPUB objective
  • Approach - our expected implementation approach
  • Examples - analysis of some EPUB examples
  • Importing - notions on document import
  • Readers - existing EPUB readers
  • TOC Talk - notes on "Table of Contents" creation

Plain Text

Standards

  • EPUB (Electronic Publication)
  • JSON (JavaScript Object Notation)
  • JSON Schema
  • LSP (Language Server Protocol)
  • SVG (Scalable Vector Graphics)
  • Transit.js (JSON with data types)
  • WAI (Web Accessibility Initiative)

Tooling

  • Components - languages, libraries, programs, etc.
  • Ctags - scanning source code for keyword positions
  • Docker - lightweight virtual machine, containers, etc.
  • Enscript - converting text files to HTML
  • Internet - expected use of Internet-based resources
  • JQuery - client-side user interface tooling
  • Pygments - code scanning and prettyprinting


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: r141 - 02 Dec 2016, RichMorin
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding CFCL Wiki? Send feedback