Tuesday, April 14, 2009

Accessible Apex

I am often asked whether Apex can be used to build applications that comply with web content accessibility guidelines. It can, as this demo Apex application aims to prove.

It is a very simple application consisting of 3 pages:
  • Login
  • Report
  • Form
The report page shows some records from a table, and has a link on each row to open the form page for editing, and a Create link in the report header to open the form page to create a new record.

The form page has a Submit button to save the changes and a Cancel link to return without saving changes.

I have tested all 3 pages with the Total Validator tool and they all reach Conformance Level "Triple-A", i.e. all Priority 1, 2 and 3 checkpoints are satisfied (according to the tool).  

Perhaps the most important point is that the application works even when Javascript is disabled in the browser.   It is often thought that Apex applications cannot work without Javascript enabled, but this isn't so; however, many Apex components such as tabs do require Javascript, so they can't be used.  That doesn't mean an accessible application can't have tabs, it just means you have to build your own tab functionality (which I haven't done in this demo application).

I don't have access to a screen reader like Jaws so I have not tested the application with one yet.