mod_accessibility

Detailed Overview

mod_accessibility is a fully automatic aid to making websites more accessible. The goal is to improve Websites and Intranets for everyone:

Complement a site developer's efforts.

mod_accessibility does not excuse a developer from paying due regard to accessibility, but it does help reduce the burden on developers constrained by external factors, such as problematic authoring and publishing tools, pressure from management, or legacy systems and contents. It largely eliminates the accessibility problems of using deprecated markup, including to a great extent even Frames.

For the well-written site that already conforms fully to the W3C Accessibility Guidelines, the choice of views provided further enhances accessibility.

No adverse effect on a developer's creativity

mod_accessibility is designed to be purely optional. Server administrators are encouraged to offer the accessibility-enhanced site alongside the developer's original design - not in place of it. So the site will only be affected by mod_accessibility when a user specifically requires it.

Performance over Features

mod_accessibility is designed to place a minimal load on the server. The central design decision here is to use a SAX parser, giving us a single-pass scan of a document and processing as it goes. This is very fast and memory-efficient. The downside to it is that we have to sacrifice features that rely on lookahead or backtracking, such as aggressive correction of bad markup, or intelligent decisions over whether an HTML table should be linearised.

Help developers to understand accessibility concerns

The highly-linearised, textonly "betsie" view offers a developer with a graphical browser a view similar to that presented by a text-only browser or screen reader. This is a simple but useful tool for reviewing accessibility, broadly comparable to others such as delorie.com's lynxview.

Tidy markup and remove deprecated presentational HTML

The parser in mod_accessibility is based on Strict HTML, and uses the rules of HTML4.01 and XHTML 1.0 (which are equivalent). Adherence to them is a requirement of accessible markup, and mod_accessibility will strip out any deprecated or bogus markup encountered. For HTML, it will also insert any optional tags that may have been (perfectly legally) omitted: in principle this should have no effect, but in practice it may help avoid trouble with browser bugs.

Note that this does not affect the page contents (text, images, sounds, scripts, stylesheets, etc), only the presentation. For a page that conforms fully to todays standards, the appearance is also unaffected in most of the available views.

Offer options to users

Different users have different needs, and it is of little use providing a wide range of accessibility options, then expecting a webserver administrator to pick a one-size-fits-all option. So mod_accessibility instead presents a range of options to the user. The user may also switch quickly between different views: for example, they may select a page outline, and jump straight from there to a point of interest in the full page.