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 by enumerating a set of user interface principles that ensure universal access (see Section 11.2) and conclude by describing aspects of the XForms architecture that help fulfill these design principles in Section 11.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 to 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 pseudoclasses in styling XForms controls based on the state of the underlying instance in Section 5.1.1. 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 an advanced CSS feature called pseudoelements 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 11.3.2.
XForms' use of XML Events is another big win for accessibility. The somewhat adhoc 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 11.3.3.
At the end of the day, accessibility is determined by three factors that work in conjunction:
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 multidevice access focuses on the varying capabilities of the device, whereas accessibility focuses on the varying abilities of the end user.