Tuesday, June 2, 2009

Screen Reader A11Y for dynamic web applications

While XForms is inherently accessible, some members of the A11Y community define accessibility as compatibility with Screen Reader software. More often than not, this means expressing dynamic pages without JavaScript.

Native XForms support in browsers would be great for A11Y, but until these communities converge, another option for preserving your investment in dynamic pages yet offering A11Y is to use a server-side XForms processor.

  1. Author your dynamic pages using XHTML+XForms.
  2. Use a server-side engine to transform this standards-based markup into HTML + JavaScript.
  3. For A11Y clients, transform to static HTML with a refresh option.

Until today, only Chiba XForms offered this route; but now, Orbeon Forms 3.7.1 adds "noscript mode," which does just that.

So, to preserve your web application development investment and get A11Y right now, avoid writing directly to JavaScript libraries, and instead develop your dynamic web applications and have them produce XHTML+XForms markup, and deliver that to the browser using Ubiquity XForms, or Chiba, or Orbeon, or XSLTForms, or any other W3C Standard XForms compatible processor.

Standards compliance and interoperability test suites assure that you'll have minimal re-work when delivering the same application through different routes. And now, with no-script accessibility from two different vendors!