Aspects of traditional Hypertext Markup Language (HTML) make accessible support of dynamic content difficult:
[This is important but non sequitur ]Authors of
JavaScript-generated content do not want to limit themselves to using
standard tag elements that define the actual user interface element such
as tables, ordered lists, etc. Rather, they make extensive use of elements
such as DIV tags
in which they dynamically apply a user
interface (UI) through
the use of style sheets and dynamic content changes. HTML DIV tags
provide no semantic information. For example, authors may define a DIV as
the start of a pop-up menu or even an ordered list. However, no HTML
mechanism exists to:
...
What is clear from the problem statement is that the author [of dynamic content? of this document? ] does not have the ability to provide the appropriate accessibility information in the markup to support the accessibility APIs on the target platform. This problem is not limited to HTML. It extends to other markup, including Scaleable Vector Graphics [SVG]. This primer addresses the problem for web content delivered to desktop browsers and introduces you to common extensions to both HTML and XHTML called Accessible Rich Internet Applications (WAI-ARIA) Version 1.0 [ARIA]. The goal is to make these standard features in HTML 5.
At this time, the primary effort in the W3C WAI Protocols and Formats working group is to focus on extensions to HTML 4.01 and XHTML 1.X by extending the host language to include W3C ARIA with a migration path to HTML 5. [It appears that ARIA adds methods to static HTML elements creating OOP objects. Why will this need stop with HTML 5? Won't people always want to extend semantics to special DIV elements or create sub-class behavior methods for HTML 5 Elements? ] This will require the creation of new hybrid document type definitions (DTDs) that incorporate the extensions. ....
.....
[What is a role How does this apply to dynamic applications in web pages? Role is never defined in the Overview and not here, even informally. We must say something as plain as ''the role is a standard GUI application that is recognized by standard accessible API's". Maybe a little more accurate, but that level of plain soeecg. I understand this document as transitional from the "Overview" to very technical documents. This and the next section jump too far and too fast. I am very embarrased to say that it took me a month to figure out what a role was within this context (maybe I understand). ]
Role attribute - The role attribute, borrowed from the, XHTML Role Attribute Module [XHTML-ROLES], allows the author to annotate host languages with machine-extractable semantic information about the purpose of an element. It is targeted for accessibility, device adaptation, server-side processing, and complex data description. ARIA uses the role attribute to provides the role information, in Figure 2 - Accessibility Interoperability at a DOM node with JavaScript to an assistive technology.
Role document landmark values - These values, borrowed from the XHTML Role Attribute Module [XHTML-ROLES] provides a standard set of role attribute values designed to define pertinent parts of a document (landmarks) for the purpose of accessibility. User agents may incorporate device equivalents, such as key mappings in the case of a desktop user agent, to navigate to these sections of a document.
Taxonomy of ARIA role values - The necessary core roles found in Accessibility API sets for Windows and Linux as well as roles representative of document structure. [Some examples are necessary.]
...
[Again this is vital information, but the transition
is too steep from the overview. I like this section. ]Adaptive
technologies, which need to provide alternative access to complex
user interfaces authored via HTML, are often left guessing at the
semantics behind specific portions of HTML document. As an example,
an XHTML document might use a certain HTML construct, such as a
collection of DIV tags,
to create navigation bars, a site-navigation menu, and other GUI-like
user interface widgets. To fix the problem, we incorporate the role
attribute, assign the accessible state properties, and give the object
focus using the new TABINDEX feature. Addition of this information
helps authors to provide the necessary information to
enable the user agent to support the accessibility API accessed by
the adaptive technology.
[Does this need to move up?] Each platform accessibility API has the notion of a "role" for a GUI object. This is the case for Java Accessibility API [JAPI], Microsoft Active Accessibility [MSAA], Apple Accessibility for COCOA [AAC], and the Gnome Accessibility Toolkit (ATK) [ATK], or UI Automation for Longhorn [UIAUTOMATION] (called content type in UI Automation). The W3C ARIA specifications are based on XHTML 1.X and include the role attribute. The "role" attribute takes a qname, enabling authors to reference the role attribute from the ARIA Roles. In the following example, we use qname to reference the menu role in the WAI-ARIA specification.
The HTML working group decided to make role a qname and allow others to define sets of standard roles. Furthermore, these roles should be extensible. It is the intent of the HTML working group to have these qnames refer to RDF, which defines the element. ... [Does the ARIA really mean to say that ARIA is a just a stop gap for HTML 5 ? ]
Since this is dynamic content, the state of these new repurposed objects will change. The WAI-ARIA specification shall provide the common accessible properties needed to support the accessible state or property information provided by the platform accessibility API defined previously. This specification was created based on an analysis of the accessibility properties defined in MSAA and ATK. To pull in this information we again use namespaces to extend XHTML. The following example extends the previous approach by adding the haspopup accessibility property. [HTML doesn't have namespaces. How does this work for HTML? ]
...
Unlike XHTML, HTML 4.01 is non-extensible in that it is not possible to extend HTML 4 through the use of namespaces. That said, members of the working group have worked with the HTML working group to agree on a vehicle that does not use namespaces, which at this time is supported by XHTML and HTML which will be supported in HTML 5 when it becomes recommendation. Firefox 3 is leading the way to implement this, and other browser manufacturers are working to support it as well. The technique allows all role values specified in ARIA (including those specified by the XHTML Role attribute module) to be specified without a namespace prefix. Additionally, ARIA states and properties shall be represented as aria- followed by the concatenated ARIA state or property. [This a good arguement against continuing with HTML. ]
...
[Very nice. Section ]
...
[I suggested a modified (verbose) RDF to expres this picture in words. I stil think it is needed for accessibility. Michael Cooper created a first try that he rejected. But, we need something. There is too much meaning in this figure to skip it. The representatin as a directed graph conveys precise meaning in which direction is not conveyed in the description paragraph. ]
Figure 4.0 Example, Partial RDF Map for a possible ButtonUndo role as an extended role to ARIA
[Nice section... ]
Figure 4.0 shows a basic RDF mapping that defines a set of terms and relationships defining an object. At the center is a Widget object that defines common states and properties for all GUI widgets. ...