mod_accessibility works with any browser, by default presenting the user with the choice of views in a toolbar in every page. However, the user interface can be improved using simple HTTP negotiation.
mod_accessibility uses an additional protocol that enables browsers to dispense with the toolbar. This is based on custom HTTP headers:
Any server with mod_accessibility enabled will set an
X-accessibility-options response header listing the
This is set with every response; non-supporting clients will of course ignore it.
Supporting clients should present the options to the user, in a manner suitable to the viewing situation: for example a GUI browser could offer an accessibility menu, while an assistive browser could tie the options to hotkeys. Clients will communicate the selection to the browser using the X-accessibility-view header: for example
When mod_accessibility receives this header, it assumes a supporting Client, and suppresses the toolbar.
The smart client protocol is a form of content negotiation.
To work correctly with the HTTP protocol, it adds X-accessibility-view
Vary response header. This enables correct
(and efficient) cacheing of the different views.