====== Requirements for Expert Handlers, version 0.1 ====== =====Contents===== * [[https://www.linuxfoundation.org/#Requirements_for_Expert_Handlers.2C_version_0.1|1 Requirements for Expert Handlers, version 0.1]] * [[https://www.linuxfoundation.org/#Status_of_This_Document|1.1 Status of This Document]] * [[https://www.linuxfoundation.org/#Related_Documents_.26_Resources|1.1.1 Related Documents & Resources]] * [[https://www.linuxfoundation.org/#Introduction_to_Expert_Handlers|1.2 Introduction to Expert Handlers]] * [[https://www.linuxfoundation.org/#What_Needs_to_Be_Provided_by_AT|1.3 What Needs to Be Provided by AT]] * [[https://www.linuxfoundation.org/#What_is_Needed_on_the_Handler_Side|1.4 What is Needed on the Handler Side]] * [[https://www.linuxfoundation.org/#What_is_Needed_on_the_Expert_Handler_Side|1.5 What is Needed on the Expert Handler Side]] * [[https://www.linuxfoundation.org/#What_is_Needed_by_the_Application.2FUser_Agent-Editor|1.6 What is Needed by the Application/User Agent-Editor]] \\ ===== Status of This Document ===== //**last modified: November 17, 2008**// This document does not yet have official standing within or without the Open A11y Workgroup or the [[:accessibility:handlers:start|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, [[https://www.linuxfoundation.org/en/User:Oedipus|Gregory J. Rosmaita]], and were last updated on 17 November 2008. ==== Related Documents & Resources ==== * [[http://a11y.org/uuc|Use Cases for Expert Handlers, version 1.0]] * [[:accessibility:handlers:usecases:unified:scratchpad|Comments, Reviews, & Considerations Concerning UUC1]] * [[https://www.linuxfoundation.org/en/Talk:Accessibility/Handlers/Req/Draft0-1|Expert Handlers Requirements Discussion page]] ---- ===== Introduction to Expert Handlers ===== The purpose and responsibility of accessibility interfaces, such as [[:accessibility:atk:at-spi:start|ATK/AT-SPI]], Microsoft Active Accessibility (MSAA) and [[http://a11y.org/ia2-spec|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 [[http://www.w3.org/WAI/PF/Group/aria|ARIA]], that facilitate more semantically precise content handling where none is present. Generalized content markup is complimented by [[:accessibility:handlers:references:smls|markup specifications that facilitate more semantically precise content markup]]. Examples of specialized, semantically precise markup include [[:accessibility:handlers:references:smls#mathml-info|MathML]] and [[:accessibility:handlers:references:smls#musicxml-info|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 [[:accessibility:handlers:start|Expert Handlers SIG]] of the [[:accessibility:start|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 [[:accessibility:handlers:references:smls|Specialized Markup Languages]]. This led to the drafting and release of //[[http://a11y.org/uuc1|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 [[http://html4all.org/wiki/index.php/AbbrPronunciation#CSS3_Speech|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+221a'' passed through to the application being used to render the content) * [[http://www.w3.org/WAI/PF/aria|ARIA]]-aware ===== What is Needed on the Handler Side ===== * DOM Event monitoring (XML Events, javascript events, etc.) ===== What is Needed on the Expert Handler Side ===== * support for: * [[http://www.w3.org/TR/emma/|EMMA: Extensible MultiModal Annotation Markup Language]] * [[http://www.w3.org/TR/grddl-primer/|GRDDL (Gleaning Resource Descriptions from Dialects of Languages)]]; * RDF; * RDFa; * [[http://www.w3.org/TR/owl2-primer/|OWL (Web Ontology Language)]]; * [[http://www.w3.org/TR/skos-primer|SKOS (Simple Knowledge Organization System)]]; and * other [[:accessibility:handlers:references:semantic|semantic/ontological/contextual meta-languages]] ===== What is Needed by the Application/User Agent-Editor ===== * [[:accessibility:handlers:reference:xquery|XQuery]] capable * ARIA-aware \\ ---- * [[:accessibility:handlers:meetings|return to the Expert Handlers SIG's Meetings Page]] * [[:accessibility:handlers:start|return to the Expert Handlers main page]] * [[:accessibility:start|return to the Open A11y Working Group's main page]]