1.1 XForms Enables Universal Access

We conclude this book with an overview of XForms features that ensure that Web applications are accessible to users with different needs and abilities. This chapter has been held back until the end because accessibility is a key design feature that is built-in to all aspects of the XForms architecture. This means that XForms applications are designed for accessibility. Where previous Web standards required a large set of authoring guidelines that enumerated HTML design idioms that would either help or hinder accessibility, the XForms author is assured of meeting a large set of accessibility needs by creating Web applications the XForms way.

This chapter will start off by enumerating a set of user interface principles that ensure universal access (see Section  1.2), and conclude by describing aspects of the XForms architecture that help fulfill these design principles in Section  1.3. We hope the material here is sufficient to convince Web developers to give up bad authoring habits that date back to early days of HTML, and switch to using XForms constructs that ensure the widest reach for the next generation of Web interaction.

In this context, XForms does not stand by itself in ensuring overall accessibility of Web content. Increasing adoption of CSS (Cascading Style Sheets) means that Web authors need no longer mix visual style markup within the content of XHTML Web pages. This separation of content from presentation is a major accessibility win, and XForms with its use of some of CSS3’s more advanced features goes even further in ensuring that Web content is access ready.

As an example, we demonstrated the use of CSS pseudo-classes in styling XForms controls based on the state of the underlying instance in Section  ??. The use of nested HTML tables for achieving visual layout has become a serious stumbling block for accessibility over the last few years. The XForms specification contains examples of using an advanced CSS feature called pseudo elements that can be used to achieve the same layout effect as when using HTML tables, but without polluting the content with extraneous table markup. We describe this aspect of Web authoring in Section  1.3.2.

XForms use of XML Events is another big win for accessibility. The somewhat ad-hock nature of HTML eventing in HTML 4 can present serious accessibility challenges. This is because Dynamic HTML (DHTML) content that is created using the HTML 4 framework depends almost exclusively on imperative scripts to create user interaction behavior. Such scripts are hard to Analyze with respect to their final behavior, and adaptive technologies suffer a serious breakdown when accessing such content. We describe how XML Events can be used to speech-enable content as an example of how this new technology enables first-class access (as opposed to retrofitting adaptive technology) in Section  1.3.3.

At the end of the day, accessibility is determined by three factors that work in conjunction:

The quality of the content. Content that has been created with accessibility issues in mind is the first — and perhaps most critical — element in ensuring accessibility. Throughout this book, we have focused on the content aspects of XForms; we summarize some of the salient accessibility features in Section  1.3.1.
User Agent
Content alone is not very useful unless there are end-user clients that can enable the user to interact with it. As XForms clients gain wider adoption, these will have to focus on leveraging the accessibility features inherent in the XForms content and to turn these into real end-user benefits. We cover user agent issues in Section  1.3.4.
Access Aid
In an ideal world, all users would interact with well-designed content with user agents that best match the user’s needs and abilities. However, we live in an imperfect world, and it is often necessary to enhance the final user experience by resorting to adaptive technologies that extend standard user interaction with the features needed by users with special needs. We describe how adaptive technologies can leverage the XForms processing model in Section  1.3.5.

Finally, all of the accessibility features covered here apply equally well to the need for accessing Web applications from a variety of different devices. As pointed out earlier, device independence and multi-device access focuses on the varying capabilities of the device, whereas accessibility focuses on the varying abilities of the end-user.