Requirements for Expert Handlers, version 0.1
last modified: November 17, 2008
This document does not yet have official standing within or without the Open A11y Workgroup or the Expert Handlers SIG . It is merely and attempt to foster technical discussion of requirements for Expert Handlers, ATs, generic event handlers, and applications/user agents.
This document is in wiki form precisely to provide prospective users and developers of this technology to check for and correct any (implicit or explicit) biases, misrepresentations or omissions of important aspects of their specific application domain. If you have such observations, please let us know -- your feedback helps us create a specification that is as generally usable and implementable in a platform agnostic manner.
Currently, the contents of this document reflect the opinions and predilections of the document's initial author, Gregory J. Rosmaita , and were last updated on 17 November 2008.
Related Documents & Resources
Introduction to Expert Handlers
The purpose and responsibility of accessibility interfaces, such as ATK/AT-SPI , Microsoft Active Accessibility (MSAA) and IAccessible2 (IA2) , is to provide assistive technology (AT) with the ability to access and interact with the information contained in an application. This allows an AT to access the information in the application's DOM. Interpreting, displaying, and navigating the information is the responsibility of the AT.
The success of the web and the increasing use of XML in documents has lead AT to develop support for these markup based applications. Therefore, we must distinguish between two classes of markup in order to explain the need for expert handler technology. The type of markup most often used on the web is HTML 4.01/XHTML 1.0. HTML is an example of generalized markup that is well handled by AT and is not addressed in this document further. However, it is significant to note that even generalized markup must sometimes be complimented by markup specifications, such as ARIA , that facilitate more semantically precise content handling where none is present.
Generalized content markup is complimented by markup specifications that facilitate more semantically precise content markup . Examples of specialized, semantically precise markup include MathML  and MusicXML . In order for users of AT to access specialized markup effectively, AT needs guidance to communicate the content of the specialized markup language to the user.
The Expert Handlers SIG  of the Open Accessibility Workgroup  at The Linux Foundation, is exploring a standardized plug-in mechanism to AT software. The goal of this plug-in standard is to allow AT software to take advantage of expert software that understands specialized markup. This plug-in standard will allow the expert software to provide enhanced, semantically rich access to specialized markup, so that the AT can properly render the markup visually, aurally, and/or tactilely. The plug-in would also help users navigate the semantic meaning encoded in the specialized markup.
The Expert Handlers SIG's initial work consists of three main steps, which will lay the foundation for the development of a technical specification for an Expert Handler. First, the Expert Handlers SIG carefully outlined, peer-reviewed cases the where an Expert Handler would be used to provide input/output (read/write) access to Specialized Markup Languages . This led to the drafting and release of Unified Use Cases for Expert Handlers, 1.0 ). Second, the Expert Handlers SIG decided to describe what these use case scenarios require from a each component of the technological solution and a proper delineation of responsibility for conveying and converting specially marked-up information: a Requirements document (this document); ultimately leading to a Roadmap for Implementation document. Given the strong commitment by many of the Expert Handlers SIG's members to define a framework for Expert Handlers for Assistive Technologies, precedence has been given to the careful execution of the first steps, so as to form a solid basis for the eventual Expert Handlers standard.
What Needs to Be Provided by AT
- robust unicode awareness (include most common symbols for math and other glyphs such as degree signs, etc.); such an "awareness" will be necessary for use with the CSS3-Speech module's rules on pronunciation 
- means of extending symbol set for each supported natural language for screen reader X.
- means of extending symbol set for each supported braille table
- means of inputting symbol set for each supported natural language (for example, a user might speak the command: "square root", to have
U+221apassed through to the application being used to render the content)
- ARIA -aware
- support for:
- EMMA: Extensible MultiModal Annotation Markup Language 
- GRDDL (Gleaning Resource Descriptions from Dialects of Languages) ;
- OWL (Web Ontology Language) ;
- SKOS (Simple Knowledge Organization System) ; and
- other semantic/ontological/contextual meta-languages 
What is Needed by the Application/User Agent-Editor
- XQuery  capable