Some areas such as mathematics can benefit from displaying
information at different level of granularity

low level: summary of expression

high level: complete Nemeth translation spanning several lines

Different devices to represent information

no way to represent info in braille (eg, graphics)

tactile and sound methods are possible, such as tactile
printout placed on touchpad.

standard AT has to give total control to expert handler

Braille Display, Embossing and Tactile Output

Smooth AT/Expert Handler Communication

Expert handler may need some service from AT, such as speech output using the
same voice AT is using and Braille display output to the same braille display.

There are many different codes (braille tables) used to represent braille dot
patterns. Expert handler and AT should agree on which braille code is used.

Magnification

General Cases

Text-based Content: use larger fonts

mathematics

music

labels for plots/graphics

Non-textual Content: enlarge or fill this area

images

SVG

Magnification

Specialized Cases

Magnification while speaking or navigating

music — magnify current and next measures

mathematics — magnify the current term

plots — magnify curve, data, or labels

Math and Chemistry Scripts

control over minimum shrink amount (minimum font size)

control over percent to shrink

Alternative Input Use Cases

There are users with disabilities who do not require accommodation in
order to read domain specific markup. Rather, these users require
assistive technologies to facilitate their scrolling and/or editing of
content.

Navigability: The General Use Case

Need:

Ability to navigate within sub-components of documents containing specialized content

Examples: math, music, genomic or chemical markup

Navigability: The General Use Case

Why an Expert Handler?

AT doesn't know how to deal with specialized content directly;

specialized components have content which needs to receive focus at different levels of granularity

Examples: a numerator within a fraction, an expression, a term, a bar of music

Navigability: The General Use Case

How?

Each level of granularity needs to be able to provide the AT commands to inspect and navigate to and from "items" -- by word, bar, expression, clause, term, etc. -- depending upon the type of content being expressed.

Three system components need to interact:

the user agent or editor

the AT

the expert handler

Reading & Editing

Three Conditions for Expert Handlers

level of granularity

mode of output, and

which item (first, last, previous, current, next)

Reading & Editing

Read-only:

the AT responds a Point of Regard change event, using the role of the object which received focus

the AT fetches accessibility information pertinent to that role and then formats/outputs a response tailored to an AT user

Reading & Editing

Editable content

Separate cursors are needed:

one to remain at the POR (the caret, if editing)

one to move around for review purposes

Navigability: The General Use Case

Where Am I?

The ability to query the AT to determine one's point of regard within a document and within containers in the document is essential.

A user must have a means of obtaining:

all available information about the object/character with focus, beginning with the repetition of the character or the textual binding which describes the object with focus.

information about the current point of regard from the most generic level -- what percentage of the document or section has been read, how much of the document or section remains to be read -- to the most atomic.

ATs must
create a UI where
successive "Where Am I?" queries by the user generate more verbose
or more terse responses.

Navigability: The General Use Case

Document Summary

A user may find it necessary to consult a Document Summary, containing a list of the types of
elements and containers in the document.

A user needs to know the document title and natural
language of the document's content, as well as the type, tab index order,
and number of structural elements appropriate to the content being rendered.

An application may implement a document summary feature natively
through its own UI
instead of an accessibility API, but in the case of
specialized markup, may need the assistance of an expert
handler in order to present a document summary appropriate to the
content being summarized.

Putting It All Together

Expert Handlers & the Flow of Control

Expert Handler Changes the DOM (like Greasemonkey)

During install, EH registers itself with app (browser, PDF viewer)

When page is loaded, EH is invoked by app to convert the DOM to text, braille, etc.

AT Acts as Middle Man

AT traverses the DOM and consults a resource to find a handler for specialized content

AT copies node from DOM and passes it to EH

AT issues requests to handler

AT Hands off to Expert Handler

AT traverses the DOM and consults a resource to find a handler for specialized content

AT points EH to DOM so that EH interacts with DOM directly

AT issues requests to handler

Reading & Editing

How it Works:

the browser/editor provides the input UI for the user.

the AT will handle the UI commands

the AT will call the handler to return an item at the current level of granularity