Some Comments on Accessibility of CHM Format Resources
Revised: 7th June 2005
The DCU eAccess Lab has recently received a number of enquiries regarding the CHM (Microsoft "HTML Help") resource format; and, in particular, the status of this format in relation to conformance with the W3C Web Content Accessibility Guidelines (WCAG 1.0) This note provides some brief and informal comments on this issue.
What is the CHM format?
CHM is a standard "help file" format designed for use on the Microsoft Windows platform. It can be generated, for example, by the Microsoft "HTML Help" 1.4 Software Development Kit:
Microsoft® HTML Help is the standard help system for the Windows platform. Authors can use HTML Help to create online help for a software application or to create content for a multimedia title or Web site. Developers can use the HTML Help API to program a host application or hook up context-sensitive help to an application. As an information delivery system, HTML Help is suited for a wide range of applications, including training guides, interactive books, and electronic newsletters, as well as help for software applications.
In other words, CHM is a Microsoft proprietary, closed, file format which is typically used to implement "help" for application programmes running on the Microsoft Windows platform.
CHM resources therefore provide for the facilities typically found in online help systems. Specifically, a CHM resource normally incorporates a hypertext-linked collection of information "topics" or "pages", including stuctured text and possibly other "rich media" (images, diagrams etc.) together with some generic navigation and/or search mechanisms. A CHM resource can therefore be compared to a collection of hypertext linked web pages (individually formatted in HTML/XHTML). However, the CHM format can be more convenient than such a collection of discrete web pages for certain purposes:
The collection of "pages" are aggregated together into a single resource or file, which can be conveniently downloaded, emailed, backed up etc.
The CHM format incorporates data compression which means it would generally occupy less disk space and/or be faster to download than the corresponding collection of separate HTML resources.
As a Microsoft proprietary technology, which is natively supported by the standard Microsoft Windows help tools, CHM resources are highly suitable for use in closed environments which are exclusively based on the Microsoft Windows platform. Conversely, of course, CHM resources are not well suited for use in heterogenous computer environments, with diverse access devices/platforms. In such cases, there may be no CHM viewer available at all; or, if available, the viewer may not be installed, or may not be fully compatible (since third party viewers currently rely on unofficial reverse engineering of the CHM format).
The pre-eminent example of such an heterogenous computer environment with diverse access devices/platforms is, of course, the Web itself.
CHM and Conformance with WCAG 1.0
For the resources that might typically be published in CHM format, essentially the same capabilities are available using the standard W3C technologies of HTML/XHTML and CSS. These technologies are mature, stable, and now widely supported. Thus, on the face of it, publishing resources on the Web in CHM format would be a clear violation of WCAG 1.0, guideline 11.1 (priority 2):
Use W3C technologies when they are available and appropriate for a task and use the latest versions when supported.
To some readers, this may sound like a merely "technical" or legalistic point. You may wonder what is the "real", "practical" effect of violating this guideline on users with disabilities. To comment on this we must understand the motivations given by W3C for guideline 11:
The current guidelines recommend W3C technologies (e.g., HTML, CSS, etc.) for several reasons:
- W3C technologies include "built-in" accessibility features.
- W3C specifications undergo early review to ensure that accessibility issues are considered during the design phase.
- W3C specifications are developed in an open, industry consensus process.
The practical effect of this in the case of CHM is immediate: it is completely unclear what, if any, specific accessibility features may have been designed into CHM, or how to use them. Presumably, to the extent that CHM is at least somewhat derived from HTML, then some of the standard HTML accessibility features may be transferable. But even this is largely speculative. Thus, the Microsoft HTML Help documentation mentions that, in authoring the component HTML "topic" files that get compiled into a CHM resource:
You can use any authoring tool to create HTML files as long as you create standard version 3.2 HTML source code.
But the key accessibility features of modern HTML, including the capability to separate content from presentation (via CSS stylesheets), were introduced only from HTML 4.x onward. This suggests that, from an accessibility point of view, the CHM format should be regarded as obsolete.
Even if CHM could incorporate HTML components with modern accessibility features, it is not clear which, if any, viewers would actually support them, or on what platforms. Again, the only explicit mention of this in the Microsoft HTML Help documentation is to say that:
The HTML Help Viewer contains shortcut keys and other features that make the Help Viewer accessible for users.
But the requirements of an effective, accessible, viewer go far beyond providing shortcut keys, as discussed in detail in the W3C "User Agent Accessibility Guidelines (UAAG)".
By contrast, if CHM were a W3C technology, we would be guaranteed that it would have specific built-in accessibility features, and information about these would be easily available, and they would be supported in any viewers or browsers that have been designed to comply with W3C recommendations.
So, should CHM format never be used (on accessibility grounds)?
Notwithstanding what has been said above, this does not mean that CHM should never be used as a format for Web-based resources (on accessibility, or any other, grounds). Rather, it means only that CHM should not be offered as the only or exclusive format for any resource. But provided a resource is offered in the form of properly accessible HTML/XHTML plus CSS then there would be no bar at all to also offering it in CHM. Indeed, many users, including some with disabilities, would be likely to find this alternative option very useful indeed!
Any resource which is made available only in CHM format will not satisfy WCAG guideline 11.2 (priority 2). Accordingly, if an organisation has a policy (or obligation) for their web-based resources to be conformant to WCAG Double-A, then they should not publish any resource exclusively in CHM format.