J.3.6.1 Programmatic Access

A programmatic accessibility technology is fundamentally a method of providing information to the AT through some publically defined API (or set of API’s). Assistive Technologies should be able to identify and manipulate the elements of an application’s user interface. The standard mechanisms of an application should ensure that AT has access to any content presented textually or through other visual representations on the screen. An accessible Office Open XML implantation should do this by:

  • 1.

  • 2.

Providing programmatic access through one of the many accessibility frameworks available through operating systems. An example of this would be UI Automation. UI Automation provides programmatic access to most user interface (UI) elements on the desktop, enabling assistive technology products such as screen readers to provide information about the UI to end users and to manipulate the UI by means other than standard input. UI Automation also allows automated test scripts to interact with the UI. UI Automation client applications can be written with the assurance that they will work on multiple frameworks. The UI Automation core masks any differences in the frameworks that underlie various pieces of UI. [Example: The Content property of a WPF button, the Caption property of a Win32 button, and the ALT property of an HTML image are all mapped to a single property, Name, in the UI Automation view. end example] Other methods such as the use of a document object model (DOM). A DOM can be defined as the document-level information source. [Example: The Document Object Model (DOM) as implemented in MSXML provides a programmatic representation of XML documents, fragments, nodes, or node-sets. It also provides an application programming interface for working with XML data. As an XML representation, it conforms to the W3C DOM specification. As a set of APIs, XML DOM objects are COM objects that implement interfaces and can be used in XML applications written in programming languages such as C/C++, Visual Basic, VBScript, and JScript. end example]

Last updated on