I have been asked a number of times about XForms and accessibility. During the course of the blog I will highlight the accessibility features of XForms.
- next and previous
- focus change
- help and hint
You are also notified of events which actually occur during form operation. These types of events allow applications, like a screen reader, to provide alternative modalities such as speech.
- Value change
- Select and Deselect
- Scroll First, Scroll Last
- Insert, Delete
- Valid, Invalid
- ReadOnly, ReadWrite
- Required, Optional
- in-range, out-of-range
XForms 1.0 support is being added to Mozilla. Exposing access to this information will greatly improve the access of Web-based forms.
Accessibility Strategy and Architecture
schwer 120000D6E4 460 Visits
In addition to device independent events, XForms also provides another powerful feature by its model-view-controller design. XForms separates content from presentation while embedding relevant meta data in user interface constructs.
XForms provides the following meta data:
label for the user interface control
hint help text for the user interface control
help help text for the user interface control
XForms also encourages intent-based authoring by introducing these constructs:
group to group a set of user interface controls
switch , and case which can be used to hide or reveal logical groups of controls
case includes a Boolean attribute called selected that allows the group of controls within that case to become active. This is important to assistive technologies, such as a screen reader, which would monitor the document to determine when to speak selected elements. If none of the cases within the switch are selected, the first case in document order becomes active by default. How those elements are rendered visually is of no consequence. The semantics are preserved.
For an in-depth look at XForms a great book to read is:
XForms: XML Powered XForms by TV Raman
schwer 120000D6E4 545 Visits
A reader commenting on my blog asked if I would mind blogging some time on the definition of accessibility and the scope of problems that are being addressed in the industry?
At the most basic level, accessibility is about people being able to access and use a product or solution. A primary focus of accessibility is access by people with disabilities. The larger scope of accessibility includes benefits to people who do not have a declared disability or for those who dont. I would like to first address the near-term work being done in the accessibility space.
Tremendous effort is being put into operating system and desktop solutions to accommodate users with disabilities. The biggest change, which began in the mid to late 90s has been a move toward engineered APIs that allow Assistive Technologies (ATs like screen readers) to access desktop application. Additionally we are seeing a move toward integrating these ATs into operating systems. For example, the Mac desktop, the Gnome desktop, and Windows are moving to incorporate more ATs. Furthermore, the move toward engineered APIs is improving access for what I would call declarative disabilities those where people declare they have a disability. Some of the considerations for bundling solutions are: security, lack of an AT solution provider, and the opportunity to have integrated solutions with which to test the accessibility of applications and accessibility infrastructure.
The second wave, which began only in the past five years, is a move to support persons with non-declared disabilities. The biggest focus in this space has been the senior population for which IBM has been a significant contributor. As we get older we begin to experience varying degrees of disabilities. This may include, but is not limited to, varying degrees of mobility impairment, site degradation, hearing loss, and cognitive impairments. This population often does not wish to admit they have a disability or may not in fact believe one exists. Therefore, their disability is not declared. I worked on a large middleware research transcoding project for seniors which was designed to take any web page and transform it to meet specific access solutions such as magnification, increased white space between text and lines, linearized content to reduce horizontal scrolling, speech, magnification, varying color schemes to compensate for reading impairments, and other transformations. This was a precursor to an IBM service offering called the Web Adaptation Technology. This technology goes well beyond enablement and enters the realm of solutions which are tailored to the end user for ease of use. This leads into the next wave which is just now starting to take hold.
Accessibility continutes to move into the mainstream. We are using accessibility technology to help with mainstream solutions that are not just for persons with disabilities. Meta data we are incorporating into web content to address DHTML accessibility is being considered for building knowledge into the web content transformation process. For example, web content which incorporates role meta data (what the object in a web page is such as a calendar or spreadsheet and its corresponding properties) can be used to adapt content to different devices phones, pdas, etc.
In the next few years I can imagine legislation going beyond enablement, like IBM, and focusing on ease-of-use. Enabling applications for accessibility does not necessarily make them usable.
We also need to focus on the broader population in the areas of learning disabilities. Not everyone uses the same process for learning. Our systems need to adapt to these different needs. When we can do this we should see a dramatic increase in user productivity.
While I have not addressed all accessibility issues, I hope this addresses this persons request.