<!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 blind tab</TITLE>
<LINK href="aDesigner.css" rel="stylesheet" type="text/css" class="head">
</HEAD>
<BODY>
<H1>Checking the accessibility and usability of a document in the blind tab</H1>
<P>
An HTML document can be opened with aDesigner to determine how accessible and usable the page is to readers who rely on voice browsers to read webpages.
</P>
<P>
To check the accessibility and usability of a document for people who are blind:
</P>
<OL>
<LI>Open the document in one of the following ways:
  <UL>
  <LI>Click <B>File</B> &gt; <B>Open</B>, and then navigate to 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>Blind</B> above the top right pane to select the blind mode.
<LI>Open the <A href="parametersBlind.html">Blind Usability Visualization preference page</A> in one of the following ways:
  <UL>
  <LI>Click <B>Settings</B>.
  <LI>Click <B>Window</B> &gt; <B>Preferences</B> &gt; <B>ACTF</B> &gt; <b>Blind Usability Visualization</b>.
Set the visualization mode that aDesigner should use, and click either <B>Apply</B> or <B>OK</B>.
  </UL>
<LI>Visualize the blind usability and detect the accessibility and usability problems in one of the following ways:
  <UL>
  <LI>Click the <B>Visualize</B> button.
  <LI>Click the <B>Visualization</B> menu &gt; <B>Visualize (blind)</B> or use the shortcut key (Ctrl+Shift+B).
  </UL>
<LI>Click <A href="elementCss.html"><B>ID/CSS</B></A> to see the relevant information in the tabs.
<LI>(Optional) Click <B>Save</B> to save the report file as an HTML document.<BR>
Note: The report file is an HTML document consisting of three
parts: a diagram showing the overall rating, a usability visualization
view, and a problem list. When you click a line in the problem list,
its corresponding element in the visualization view is highlighted,
and the page automatically scrolls if necessary to show the element.
<LI>Address each entry in the problem list. See <A href="lineViewBlind.html">Line View pane (blind usability)</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 mode</A>
<LI><A href="problemsBlind.html">Accessibility and usability problems for blind users</A>
<LI><A href="checkLv.html">Checking the accessibility and usability of a document in the low vision tab</A>
</UL>

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

</BODY>
</HTML>
