<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML lang="en">
<HEAD>
<META http-equiv="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META http-equiv="Content-Style-Type" content="text/css">
<meta name="copyright" content="Copyright (c) IBM Corporation and others 2007. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
<TITLE>Compliance and accessibility guidelines for Web content</TITLE>
<LINK href="base.css" rel="stylesheet" type="text/css" class="head">
</HEAD>
<BODY>
<H1>Compliance and accessibility guidelines for Web content</H1>

<P>
ACTF can check the target page's compliance with the following four accessibility guidelines for Web content.
</P>
<UL>
<LI><A href="http://www.w3.org/TR/WCAG10/">Web Content Accessibility Guidelines 1.0 (WCAG 1.0)</A>: 
One of the most popular standards used for Web accessibility, issued by the Web Accessibility Initiative (WAI).
The WAI is a working group of the World Wide Web Consortium.
<LI><A href="http://www.w3.org/TR/WCAG/">Web Content Accessibility Guidelines 2.0 (WCAG 2.0)</A>: 
One of the most popular and latest standards used for Web accessibility. (ACTF's WCAG 2.0 support is experimental.)
<LI><A
href="http://www.section508.gov/index.cfm?FuseAction=Content&ID=12#Web">Section
508 of the Rehabilitation Act &sect;1194.22 (Section 508)</A>: A list
of the Section 508 standards that provides criteria specific to Web-based intranet and Internet information and applications.
Section 508 requires that information technologies developed or purchased by the Federal Government be accessible to people with disabilities.
<LI>Japanese Industrial Standard (JIS) X8341-3: Guidelines for information and communications equipment, software, and services for older people and people with disabilities issued by the Japanese Industrial Standards Committee.
<LI><A href="http://www-306.ibm.com/able/guidelines/web/accessweb.html">IBM Web Accessibility Checklist</A>: The implementation and testing techniques recommended by IBM for creating accessible Web sites.
</UL>

<H2>Choosing accessibility guidelines to check</H2>
<P>
To choose the accessibility guidelines to check:
</P>
<OL>
<LI>Click <B>Window</B> &gt; <B>Preferences</B> &gt; <B>Guideline Checker</B>.
<LI>Select the accessibility guidelines you want the tool to use in
its accessibility and usability review.<BR>
<LI>Select the evaluation metrics you want the tool to use in its
accessibility and usability review.<BR>
<LI><A name="lineNumber">Select <B>Line Number Information</B>
check box if you want the tool to indicate the line on which a problem is detected in the blind mode. </A>
Line numbers are presented in the <A href="lineViewBlind.html">line
view</A> of the problem list.<BR>
If you want the tool to evaluate the runtime Document Object Model of
the target page, deselect this check box. (This is useful when checking certain
JavaScript-based pages.)
</OL>

<H2>Working with the problem list</H2>
<P>
Two categories appear in the Tree View pane, Essential problems and User checks.
They are classified according to whether or not they are automatically detected.
</P>
<P>
Essential problems are automatically detected by the checker and must be addressed.
The Essential problems category consists of both compliance problems and advanced problems detected by the checker.
User checks are problems that should be reviewed individually, and the
author must decide whether to resolve them or to postpone resolving
them (or to ignore them).
</P>
<P>
In the Line View pane, each line shows the corresponding checkpoints of the selected accessibility guidelines.
The checkpoints of WCAG, Section 508, JIS, and the IBM Checklist are specified in their own formats, with digits divided by a period (e.g. &quot;13.6&quot;), a letter (e.g. &quot;o&quot;), two digits and a letter divided by periods (e.g. &quot;5.1.a&quot;), or a digit (e.g. &quot;8&quot;), respectively.
These formats and the corresponding descriptions and techniques you can use to address each problem are described at the websites of these guidelines.
</P>
<P>
The help pages are available by right-clicking a line and
selecting <B>View Help</B> from the context menu.
The context menus are also available by pressing Shift+F10.
</OL>

<H1 class="related">Related topics</H1>
<UL class="related">
<LI><A href="problemsBlind.html">Accessibility and usability problems for blind users</A>
<LI><A href="problemsLv.html">Accessibility and usability problems for users with low vision</A>
<li><a href="odf/guideline.html">ODF Accessibility Check list</a></li>
</UL>

<P>
<A href="index.html">Go to Index</A>
<hr>
<DIV class="logo"><IMG src="images/logo.jpg" alt=""></DIV>
</P>


</BODY>
</HTML>
