<!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 for low vision users in the OpenDocument Accessibility perspective</TITLE>
<LINK href="base.css" rel="stylesheet" type="text/css" class="head">
</HEAD>
<BODY>
<H1>Checking the accessibility and usability of a document for low vision users in the OpenDocument Accessibility perspective</H1>
<P>
You can open an ODF document in the low vision view to simulate how low vision people (individuals with weak eyesight, color vision deficiencies, cataracts, or combinations of these vision problems) 
see an ODF document and to determine how easy or difficult the document is for them to read.
</P>
<P>
To check the accessibility and usability of a document for people with low vision:
</P>
<OL class="space">
<LI>Open the ODF file in one of the following ways (OpenDocument accessibility perspective only supports local files):
  <UL>
  <LI>Click <B>File</B> &gt; <B>Open</B>, and then navigate to the local ODF file you want to check.
  <LI>After selecting the Office view, click the <B>Open ODF File</B> button at the top of the Office view, and open the ODF file. 
  <LI>Type the URL in the address line, and then click <B>GO</B>.<br> The document opens in the Office view. 
  </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 if you want the tool to check the entire document.<BR>
(<B>Notes: </B>
The whole page function only supports presentation files (ODP files). 
If this check box is checked, the tool simulates all of the pages of a presentation document.
If this check box is not checked, the tool simulates only the page currently shown in the <b>Office </b>view.)

<LI>Open the <A href="parametersLv.html">Low Vision Simulation preference page</A> in one of the following ways:
  <UL>
  <LI>Click <B>Setting</B> Button.
  <LI>Click <B>Windows</B> menu &gt; <B>Preferences</B> &gt; <b>ACTF</b> &gt; <b>Low Vision Simulation</b>.  
  </UL>
Set the parameters for the three low vision types, and then click either <B>Apply and Simulate</B> or <B>OK</B>.
<LI>Start the simulation and detect accessibility and usability problems with the parameters you have set in one of the following ways:
  <UL>
  <LI>Select <B>Simulate</B> Button.
  <LI>Select <B>Window</B> menu &gt; <B>Simulate (low vision)</B> or use shortcut key (Ctrl+Shift+O).
  </UL>
(<B>Notes: </B>
In the OpenDocument accessibility perspective, Low vision simulation does not support the automatic problem detection in the Evaluation view.
When examining the simulated image, please check that there are no images or characters that are difficult to read.)

<LI>(Optional) Click <B>Save</B> to save the report file as an HTML document.<BR/>
(<B>Notes: </B>The report file is an HTML document, and it consists of three
parts: a simulated image, a problem list, and a problem map. 
OpenDocument accessibility perspective supports only the simulated image.)
</OL>

<H1 class="related">Related topics</H1>
<UL class="related">
<LI><A href="workspaceOdf.html">Exploring the OpenDocument Accessibility perspective</A>
<LI><A href="odf/install.html">Installation guide for OpenDocument Accessibility perspective</A>
<LI><A href="checkOdfBlind.html">Checking the accessibility and usability of a document in the Blind Usability View</A>
<LI><A href="checkOdfPresentation.html">Checking how the slide show of a presentation file looks in a meeting room</A>
<LI><A href="odf/guideline.html">OpenDocument accessibility checklist</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>
