<!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>User interface menus and icons</TITLE>
<LINK href="miChecker.css" rel="stylesheet" type="text/css" class="head">
</HEAD>
<BODY>
<H1>User interface menus and icons</H1>

<P>
The miChecker tool has five menus, which are described in the following paragraphs.
The text in parentheses provides the keyboard shortcut.
</P>
<H2>Toolbar menu</H2>

<H3>File (Alt+F)</H3>
<UL>
<LI><B>Open (Ctrl+O)</B>:  Opens a dialog box for the
URL of the document whose accessibility and usability is to be checked. To check a local file, click the Browse button.</LI>
<LI><B>Close (Ctrl+W)</B>: Closes the current Web Browser/ODF Viewer Tab.</LI> 
<LI><B>Switch Modes (Alt+F, M)</B>: Opens the dialog for switching the mode of miChecker.
<LI><B>Exit (Alt+F, X)</B>: Closes the miChecker program.</LI>
</UL>

<H3>View (Alt+V)</H3>
<UL>
<li><b>Back</b>: Go back to the previous page in the <b>Browser</b> view.</li> 
<li><b>Forward</b>: Go to the next page in the <b>Browser</b> view.</li> 
<li><b>Refresh</b>: Reload the document in the <b>Browser</b> view. </li> 
<li><b>Stop</b>: Stop loading the document in the <b>Browser</b> view.</li> 
<LI><B>Font Size</B>: Select the relative font size to be used for the <b>Browser</b> view.
Options range from <B>Largest</B> to <B>Smallest</B>.
The default setting is <B>Medium</B>.
</UL>

<H3>Visualization (Alt+Z)</H3>
<UL>
<li><b>Visualize (blind) (Ctrl+Shift+B)</b>: Starts the blind usability visualization function and 
the problem detector for blind users.</li>
<li><b>Simulate (low vision) (Ctrl+Shift+O)</b>: Starts the low vision simulation function and 
the problem detector for low vision users.</li>
<li><b>Presentation (Small room) (Ctrl+Shift+M)</b>: 
Simulates a slide show when the screen size is 3 feet located 10 feet from the audience.</li>
<li><b>Presentation (Large room) (Ctrl+Shift+G)</b>:
Simulates a slide show when the screen size is 5 feet located 30 feet from the audience.</li>
<li><b>Presentation (Auditorium) (Ctrl+Shift+A)</b>:
Simulates a slide show when the screen size is 10 feet located 100 feet from the audience.</li>
</UL>


<H3><a name="favorites">Favorites (Alt+A)</a></H3>
<UL>
<LI><B>Add to Favorites</B>: Adds the current page as a bookmark for miChecker.
<LI><B>Organize Favorites</B>: Opens a window to edit and organize the miChecker bookmarks.
</UL>

<H3>Window (Alt+W)</H3>
<UL>
<LI><B>Navigation</B>: Shows menus to navigate through views in miChecker</LI>
<LI><B>Preferences</B>: Shows preferences dialog to modify the settings of miChecker.</LI>
</UL>

<H3>Help (Alt+H)</H3>
<UL>
<LI><B>Help Contents</B>: Click to open the Help file. 
<LI><B>About miChecker</B>: Click to read the version information. 
</UL>

<H2>Interface components</H2>
<H3>Browser View pane</H3>

<table border=1>
<tr>
<td><B>Back</B> and <B>Forward</B></td>
<td align="center"><IMG src="images/browser/back.gif" alt=""><br><IMG src="images/browser/forward.gif" alt=""></td>
<td>Click these buttons to navigate among webpages. </td>
</tr>
<tr>
<td><B>Refresh</B></td>
<td align="center"><IMG src="images/browser/refresh.gif" alt=""></td>
<td>Click this button to reload the current document.</td>
</tr>
<tr>
<td><B>Stop</B></td>
<td align="center"><IMG src="images/browser/stop.gif" alt=""></td>
<td>Click this button to stop loading a document.</td>
</tr>
<tr>
<td><B>Title bar</B></td>
<td align="center"><IMG src="images/browser/titlebar.gif" alt=""></td>
<td>Shows the title of the target page.</td>
</tr>
<tr>
<td><B>Address bar</B></td>
<td align="center"><IMG src="images/browser/addressbar.gif" alt=""></td>
<td>Contains the URL or file name of the webpage being analyzed. By double-clicking inside the address bar or by pressing Alt+D, a new URL can be entered into the address bar. </td>
</tr>
<tr>
<td><B>Go</B></td>
<td align="center"><IMG src="images/browser/go.gif" alt=""></td>
<td>Click this button to load the specified page. </td>
</tr>
</table>

<H3>Visualization View pane</H3>
<P>
When the blind mode is selected, the Visualization View pane is opened, which includes the following buttons, interactive elements, and icons.
</P>

<H4>Buttons</H4>
<table border=1>
<tr>
<td><b>Visualize</b></td>
<td><IMG src="images/I_Visualize.gif" alt=""></td>
<td>Click this button to open the blind usability visualize function and the problem detector with the current settings.</td>
</tr>
<tr>
<td><B>Settings</B></td>
<td><IMG src="images/I_Setting.gif" alt=""></td>
<td>Click this button to open the <A
href="parametersBlind.html">Blind Usability Visualization preference page</A>, which controls the voice browser output mode and the layout mode (including reaching time, accessible tags, and table structure).</td>
</tr>
<tr>
<td><B>Save</B></td>
<td><IMG src="images/I_Save.gif" alt=""></td>
<td>Click this button to open the Save as dialog box and save a report file.
The report file is a CSV format. By selecting "Save HTML Report" option, an HTML document will be saved with CSV report.</td>
</tr>
<tr>
<td><B>ID/CSS</B></td>
<td><IMG src="images/I_IdCss.gif" alt=""></td>
<td>Click this button to open the <A href="elementCss.html">ID/AccessKey/Class/CSS viewer panel</A>, which displays information on attributes (ID, AccessKey, and Class) of elements and information on the Cascading Style Sheets (CSS) applied to the target page.</td>
</tr>
</table>



<H4>Interactive elements and icons</H4>
<P>
The balloon messages and icons follow the movement of the mouse pointer and show the exact reaching time for the indicated element. 
When the mouse pointer is placed over an accessible tag, the balloon message also indicates the tag name.
</P>
<P>
The balloon icon indicates acceptability of the reaching time.
</P>
<UL class="icons">
<LI><IMG src="images/I_FaceSmile.gif" alt="Smiling face.">: The reaching time for the element is shorter than or equal to 30 seconds.
<LI><IMG src="images/I_FaceUsual.gif" alt="Expressionless face.">: The reaching time for the element is longer than 30 seconds, but shorter than or equal to 90 seconds (the default maximum acceptable reaching time). 
<LI><IMG src="images/I_FaceSad.gif" alt="Sad face.">: The reaching time for the element is longer than 90 seconds.
</UL>
<P>
The balloon messages and icons have two modes.
If you place the cursor in the Visualization View and click, the messages and icons remain at the position where the mouse click occurred (stationary mode).
Click again in the Visualization View if you want the messages and icon to move and follow the mouse pointer (active mode).
</P>
<P>
Intra-page link (<IMG src="images/I_LinkSource.gif" alt="Start of arrow.">) and intra-page link destination (<IMG src="images/I_LinkDestination.gif" alt="End of arrow.">) icons: When an intra-page link icon is clicked, an arrow, which is formed with red circles, appears between the source and the destination of the intra-page link.
The arrow can be removed by clicking the icon again. 
</P>
<P>
The balloon messages and icons and the arrows of the intra-page links can be controlled by using the icons on the Control panel.
</P>
<UL class="icons">
<LI><B>Freeze Balloon (<IMG src="images/I_FreezeBalloon.gif" alt="">)</B>: Click this button to make the balloon stationary. 
<LI><B>Active Balloon (<IMG src="images/I_ActiveBalloon.gif" alt="">)</B>: Click this button to make the balloon active (that is, it follows the mouse pointer).
<LI><B>Clear All Links (<IMG src="images/I_ClearAllLinks.gif" alt="">)</B>: Click this button to hide the arrows that appear in the Visualization View.
<LI><B>Refresh Links (<IMG src="images/I_RefreshAllLinks.gif" alt="">)</B>: Click this button to redraw the arrows that appear in the Visualization View.
<LI><B>Draw All Links (<IMG src="images/I_DrawAllLinks.gif" alt="">)</B>: Click this button to show all of the arrows for intra-page links in the target page. 
</UL>

<H3>Simulation View pane</H3>
<P>
When the low vision mode is selected, the Simulation View pane is opened next to the Browser View pane.
It includes the following buttons and check boxes:
</P>
<table border=1>
<tr>
<td><B>Simulate</B></td>
<td><IMG src="images/I_Simulate.gif" alt=""></td>
<td>Click this button to start the low vision simulator and the problem detector with the current settings. The current settings status is displayed in the status bar.</td>
</tr>
<tr>
<td><B>Settings</B></td>
<td><IMG src="images/I_Setting.gif" alt=""></td>
<td>Click this button to open the <A href="parametersLv.html">Low Vision Simulation preference page</A>, to set the eyesight, color vision deficiency, 
and crystalline lens transparency parameters that ACTF Low Vision Simulation uses when checking webpages.</td>
</tr>
<tr>
<td><B>Save</B></td>
<td><IMG src="images/I_Save.gif" alt=""></td>
<td>Click this button to open the "Save as" dialog box and save the report file.
The report file is an HTML document and can be read by using a Web browser.</td>
</tr>
<tr>
<td><B>Whole page</B> check box</td>
<td><IMG src="images/Wholepage.gif" alt=""></td>
<td>When this check box is selected, miChecker checks the entire target webpage, even if only a portion of the page is visible in the browser and the page consists of multiple frames of HTML documents.
If the check box is cleared, only the displayed portion of the page is checked.</td>
</tr>
</table>

<H3>Line View pane</H3>
<P>
By default, the Line View pane appears in the Detailed Report tab of the bottom row.
The column heads differ slightly depending on the active tab.
</P>

<H4><a name="blindIcon">Blind tab</a></H4>
<div style="margin-bottom:20px">
<table border=1><tr><td>
<IMG src="images/I_Star.gif" alt="Star icon"> </td><td>This icon appears with some other icon. The corresponding element can be highlighted in the Visualization View by selecting this line.
</td></tr></table>
</div>

<div style="margin-bottom:20px">
<table border=1>
<tr><td><IMG src="images/Err.png" alt="Error"> </td>
<td>This item is an accessibility problem automatically detected.</td></tr>
<tr><td><IMG src="images/Warn.png" alt="Probably Error"> </td>
<td>This item is probably accessibility problem.</td></tr>
<tr><td><IMG src="images/Conf.png" alt="Need confirmation"> </td>
<td>This item requires user confirmation.</td></tr>
<tr><td><IMG src="images/Info.png" alt="Human check"> </td>
<td>This item requires human check based on test procedure.</td></tr>
</table>
</div>


<H4>Low vision tab</H4>
<UL class="icons">
<LI><IMG src="images/I_Star.gif" alt="Star.">: This icon appears with some other icon.
The corresponding element can be highlighted in the Simulation View by selecting this line.
<LI><IMG src="images/I_Color.gif" alt="Rectangles.">: This problem is related to the colors of the corresponding element.
<LI><IMG src="images/I_Blur.gif" alt="Circle.">: This problem is related to the font sizes of the corresponding element.
</UL>

<H3>Overall Rating pane</H3>
<P>
This area provides the target page's overall rating for accessibility and usability.
</P>

<H4>Blind tab</H4>
<P>
Page rating: The radar chart shows the target page's rating in terms
of Perceivable, Operable, Understandable and Robust. 
The overall rating is based on the number of problems found on the page.
</P>

<H4>Low vision tab</H4>
<P>
Problem map icon: Indicates the position of the problems on the page.
The overall rating above the graphic is based on the number of problems and the severity values of the problems on the page.
</P>

<H1 class="related">Related topics</H1>
<UL class="related">
<LI><A href="overview.html">Overview of miChecker</A>
<LI><A href="workspace.html">Exploring the miChecker workspace</A>
<LI><A href="checkBlind.html">Checking the accessibility and usability of a document in the blind tab</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>
