<!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>Line View pane (low vision)</TITLE>
<LINK href="aDesigner.css" rel="stylesheet" type="text/css" class="head">
</HEAD>
<BODY>
<H1>Line View pane (low vision)</H1>


<P>
The Line View pane is a table that presents the problems for the selected categories line by line.</p> 
<H2>Provided information</H2>
<p>For each problem, the following information is given:
</P>
<UL>
<LI>Type (Icon): a visual indicator for the problem.
The icons used in the Line View pane in the low vision mode are as follows:
  <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 size of the corresponding element.
  </UL>
<LI>Accessibility guidelines: The three accessibility guidelines and standards that are available for use appear to the right of the icon column. 
In the <A href="parametersLv.html">Guideline Checker preference page</A> 
(Opened by clicking <B>Window</B> &gt; <B>Preferences</B> &gt; <b>ACTF</b> &gt; <b>Guideline Checker</b>), the guidelines can be selected for the tool to use when it checks the accessibility and usability of webpages.
  <UL>
  <LI>WCAG 2.0: The number of the <A href="http://www.w3.org/TR/WCAG/">corresponding checkpoint</A> defined in the Web Content Accessibility Guidelines, which are issued by the World Wide Web Consortium.
  <LI>[Section] 508: The <A href="http://www.section508.gov/index.cfm?FuseAction=Content&ID=12#Web">corresponding rule</A> in Section 508 of the Rehabilitation Act &sect;1194.22.
  <LI>JIS: The corresponding checkpoint of the Japanese Industrial Standard (JIS) X8341-3.
  </UL>
<LI>Problem Description: A description of the accessibility or usability problem that will prevent users with low vision from accessing the page.
<LI>Severity: The seriousness of the problem, rated on a scale that ranges from 0 to 100.
<LI>Foreground: The foreground color of the element. This information is used only for text color problems.
<LI>Background: The background color of the element. This information is used only for text color problems.
<LI>X: The x-coordinate of the upper left corner of the element.
<LI>Y: The y-coordinate of the upper left corner of the element.
<LI>Area: The area of a box surrounding the element. The surrounding box will appear when the problem is selected.
</UL>

<H2>Interaction</H2>
<P>
Left-click a line to highlight the element that corresponds to the problem in the Visualization View.
Right-click a line or press Shift+F10 to open a context menu.
<UL>
<LI><B>Clear Selection</B>: Selecting this item clears (unselects) the currently selected problem (or problems) in the Line view.
This is used to stop highlighting problems in the Simulation/Visualization view.
<LI><B>View Success Criterion</B>: Selecting this item refers to the
corresponding help pages of the success criterion, which appear in a separate browser window. 
If there are no relevant checkpoints, this item is not available. 
<LI><B>View Techniques</B>: Selecting this item refers to the
corresponding help pages of the techniques, which appear in a separate browser window. If there are no relevant checkpoints in any guideline, this item is not available. 
<LI><B>View Source HTML</B>: Selecting this item opens the HTML source viewer in which the corresponding HTML element is highlighted.
<!--<LI><B>Copy</B>: Selecting this item copies the details of selected problem into clip-board in comma separated format. -->
<LI><B>Properties</B>: Selecting this item (or double clicking target problem) opens a dialog box that shows the details of selected problem.
</UL>
</P>

<H1 class="related">Related topics</H1>
<UL class="related">
<LI><A href="workspace.html">Exploring the HTML Accessibility mode</A>
<LI><A href="checkLv.html">Checking the accessibility and usability of a document in the low vision tab</A>
<LI><A href="problemsLv.html">Accessibility and usability problems for users with low vision</A>
<LI><A href="compliance.html">Compliance and accessibility guidelines for Web content</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>
