<!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) Ministry of Internal Affairs and Communications, IBM Corporation and others 2007, 2011. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
<TITLE>Set the Parameters dialog box (Blind Usability Visualization)</TITLE>
<LINK href="miChecker.css" rel="stylesheet" type="text/css" class="head">
</HEAD>
<BODY>
<H1>Set the Parameters dialog box (Blind Usability Visualization)</H1>
<P>
The Set the Parameters dialog box (Blind Usability Visualization) is used to set the Visualization mode and language that miChecker uses. 
</P>
<P>
<B>Visualization mode</B>: Select either Voice browser output mode or Layout mode.
</P>
<UL>
<LI><P><B>Voice browser output mode</B>:
Selecting this option causes the output text from a voice browser to
be displayed in the Visualization View pane (rather than being read aloud).
In the current version of miChecker, only Home Page Reader can be used as the voice browser.</P>
<LI><P><B>Layout mode</B>:
Specifies the colors and times used to show reaching times, tag colors, and table structure colors in the Visualization View.</P>
  <UL class="nobullet">
  <LI><P>Select <B>Visualize reaching time</B> to display the reaching
  time from the top of the page to each element in the Visualization
  View. By default, black indicates that it takes more than 90 seconds
  to get to that region. The reaching time and display color are
  controlled here.</P>
  <LI><P>Selecting <B>Colorize accessible tags</B> causes table
  headers, heading tags, form elements, and label tags to be colored
  in the Visualization View. The colors can be set by clicking the buttons that follow the tag names.</P>
  <LI><P>Selecting <B>Visualize table structure</B> causes the borders
  of table cells to be drawn with black lines. The colors of the lines
  can be set by clicking the adjacent button.</P>
  <LI><P><B>Set default colors</B>: Clicking this button cancels the current color settings and resets the default colors for these options.</P>
  </UL>
</UL>

<P>
<B>Inappropriate Alt</B>: Clicking <B>Edit Inappropriate Alt List</B>
button allows editing the list of inappropriate ALT-attributes stored in the tool.
When an ALT-attribute of an element in the target page is contained in this list, the ALT-attribute will be detected as a problem.
</P>

<P>
<B>Help</B>: Click this button to open this page.<BR>
<B>Apply</B>: Click this button to save the current settings.<BR>
<B>OK</B>: Click this button to save the current settings and to close the dialog box.<BR>
<B>Cancel</B>: Click this button to close the dialog box without changing the settings.
</P>

<H1 class="related">Related topics</H1>
<UL class="related">
<LI><A href="workspace.html">Exploring the HTML Accessibility mode</A>
<LI><A href="checkBlind.html">Checking the accessibility and usability
of a document in the blind tab</A>
<LI><A href="menusIcons.html">User interface menus and icons</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>
