<!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>Checking the accessibility and usability of a document in the low vision tab</TITLE>
<LINK href="base.css" rel="stylesheet" type="text/css" class="head">
</HEAD>
<BODY>
<H1>Checking the accessibility and usability of a document in the low vision tab</H1>
<P>
An HTML document is opened to simulate how low vision people (individuals with weak eyesight, color vision deficiencies, cataracts, or combinations of these vision problems) see the webpage and to determine how easy or difficult the page is for them to read.
The ACTF also detects inaccessible parts of the webpage.
</P>
<P>
To check the accessibility and usability of a document for people with low vision:
</P>
<OL>
<LI>Open the document in one of the following ways:
  <UL>
  <LI>Click <B>File</B> &gt; <B>Open</B>, and navigate to the URL
  or the local file to be checked.
  <LI>Type the URL in the address line, and then click <B>GO</B>.<br>The document opens in the Browser View pane. 
  </UL>
<LI>Click <B>Low Vision</B> above the top right pane to select the low vision view.
<LI>(Optional) Select the <B>whole page</B> option to check the entire page (including multiple frames, if present) and not just the portion visible in the Browser.
<LI>Open the <A href="parametersLv.html">Set the parameters dialog box (Low Vision Simulation)</A> in one of the following ways:
  <UL>
  <LI>Click the <B>Setting</B> Button.
  <LI>Click the <B>Windows</B> menu &gt; <B>Preferences</B> &gt; <b>Low Vision Simulation</b>.
  </UL>
Set the parameters for the three low vision types, and then click either <B>Apply</B> or <B>OK</B>.
<LI>Start the simulation and detect accessibility and usability problems with the selected parameters in one of the following ways:
  <UL>
  <LI>Select the <B>Simulate</B> Button.
  <LI>Select the <B>Window</B> menu &gt; <B>Simulate (low vision)</B> or use shortcut key (Ctrl+Shift+O).
  </UL>
<LI>(Optional) Click <B>Save</B> to save the report file as an HTML document.
Note: The report file is an HTML document consisting of three
parts: a simulated image, a problem list, and a problem map. Clicking on a line in the problem list highlights the corresponding element on the
simulated image, and the page automatically scrolls as
required to show the element. The highlighted element is also clickable. By clicking the element, you can jump back to the line of the problem in the problem list.
<LI>Address each entry in the problem list pane. See <A href="lineViewLv.html">Line View pane (low vision)</A> for details. As each problem is successfully resolved, the rating in the Overall Rating pane improves. 
</OL>

<H1 class="related">Related topics</H1>
<UL class="related">
<LI><A href="workspace.html">Exploring the HTML Accessibility perspective</A>
<LI><A href="problemsLv.html">Accessibility and usability problems for users with low vision</A>
<LI><A href="checkBlind.html">Checking the accessibility and usability of a document in blind view</A>
</UL>

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


</BODY>
</HTML>
