Bug 489096 - HTML5 support
diff --git a/plugins/org.eclipse.actf.visualization.blind.html/src/org/eclipse/actf/visualization/blind/html/BlindVisualizerHtml.java b/plugins/org.eclipse.actf.visualization.blind.html/src/org/eclipse/actf/visualization/blind/html/BlindVisualizerHtml.java
index 0736565..1377c02 100644
--- a/plugins/org.eclipse.actf.visualization.blind.html/src/org/eclipse/actf/visualization/blind/html/BlindVisualizerHtml.java
+++ b/plugins/org.eclipse.actf.visualization.blind.html/src/org/eclipse/actf/visualization/blind/html/BlindVisualizerHtml.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and Others
+ * Copyright (c) 2008, 2016 IBM Corporation and Others
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -22,10 +22,13 @@
 import java.util.HashSet;
 import java.util.Vector;
 
+import org.eclipse.actf.model.dom.html.DocumentTypeUtil;
 import org.eclipse.actf.model.dom.html.HTMLParserFactory;
 import org.eclipse.actf.model.dom.html.IHTMLParser;
 import org.eclipse.actf.model.ui.IModelService;
 import org.eclipse.actf.model.ui.editor.browser.IWebBrowserACTF;
+import org.eclipse.actf.model.ui.util.ModelServiceUtils;
+import org.eclipse.actf.ui.util.PlatformUIUtil;
 import org.eclipse.actf.util.FileUtils;
 import org.eclipse.actf.util.dom.DomPrintUtil;
 import org.eclipse.actf.util.logging.DebugPrintUtil;
@@ -50,12 +53,13 @@
 import org.eclipse.actf.visualization.eval.problem.IProblemItem;
 import org.eclipse.actf.visualization.util.html2view.Html2ViewMapData;
 import org.eclipse.actf.visualization.util.html2view.Html2ViewMapMaker;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.ui.IEditorPart;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.NodeList;
 
-public class BlindVisualizerHtml extends BlindVisualizerBase implements
-		IBlindVisualizer {
+public class BlindVisualizerHtml extends BlindVisualizerBase implements IBlindVisualizer {
 
 	public static final int FRAME = 1;
 
@@ -93,38 +97,36 @@
 		File srcFile;
 		File liveFile;
 		File targetFile;
+		
+		boolean isHTML5 = false;
 
 		try {
 			if (PERFORMANCE_DEBUG)
-				System.out
-						.println("vizualize start\t" + (new Date()).getTime());
+				System.out.println("vizualize start\t" + (new Date()).getTime()); //$NON-NLS-1$
 			srcFile = webBrowser.saveOriginalDocument(tmpDirS + ORIG_HTML_FILE);
-			liveFile = webBrowser
-					.saveDocumentAsHTMLFile(tmpDirS + IE_HTML_FILE);
+			liveFile = webBrowser.saveDocumentAsHTMLFile(tmpDirS + IE_HTML_FILE);
 			// for srcViewer
 			webBrowser.saveOriginalDocument(tmpDirS + HTML_SOURCE_FILE);
 
 			if (PERFORMANCE_DEBUG)
-				System.out.println("save documents\t" + (new Date()).getTime());
+				System.out.println("save documents\t" + (new Date()).getTime()); //$NON-NLS-1$
 
 			Vector<Html2ViewMapData> html2ViewMapV = new Vector<Html2ViewMapData>();
 			IHTMLParser htmlParser = HTMLParserFactory.createHTMLParser();
 			HtmlErrorLogListener errorLogListener = new HtmlErrorLogListener();
 			htmlParser.addErrorLogListener(errorLogListener);
-			String targetFileName = tmpDirS + MAPPED_HTML_FILE_PRE + frameId
-					+ ".html"; //$NON-NLS-1$
+			String targetFileName = tmpDirS + MAPPED_HTML_FILE_PRE + frameId + ".html"; //$NON-NLS-1$
 
 			boolean isIEhtml = false;
 			if (EvaluationUtil.isOriginalDOM()) {
-				html2ViewMapV = Html2ViewMapMaker.makeMap(ORIG_HTML_FILE,
-						MAPPED_HTML_FILE_PRE + frameId + ".html", tmpDirS); //$NON-NLS-1$
+				html2ViewMapV = Html2ViewMapMaker.makeMap(ORIG_HTML_FILE, MAPPED_HTML_FILE_PRE + frameId + ".html", //$NON-NLS-1$
+						tmpDirS);
 				// decode miss
 				if (html2ViewMapV.size() == 0) {
 					isIEhtml = true;
 				}
 				if (PERFORMANCE_DEBUG)
-					System.out
-							.println("map finish\t" + (new Date()).getTime());
+					System.out.println("map finish\t" + (new Date()).getTime()); //$NON-NLS-1$
 			} else {
 				isIEhtml = true;
 			}
@@ -139,14 +141,11 @@
 				ieDom = webBrowser.getLiveDocument();
 
 				// TODO replace with DomByCom (need clone/write support)
-				IHTMLParser tmpHtmlParser = HTMLParserFactory
-						.createHTMLParser();
-				tmpHtmlParser
-						.parse(new FileInputStream(tmpDirS + IE_HTML_FILE));
+				IHTMLParser tmpHtmlParser = HTMLParserFactory.createHTMLParser();
+				tmpHtmlParser.parse(new FileInputStream(tmpDirS + IE_HTML_FILE));
 				document = tmpHtmlParser.getDocument();
 
-				tmpHtmlParser.parse(new FileInputStream(tmpDirS
-						+ ORIG_HTML_FILE));
+				tmpHtmlParser.parse(new FileInputStream(tmpDirS + ORIG_HTML_FILE));
 				originalDocument = tmpHtmlParser.getDocument();
 
 				targetFile = liveFile;
@@ -159,9 +158,11 @@
 
 				targetFile = srcFile;
 			}
+			
+			isHTML5 = DocumentTypeUtil.isOriginalHTML5(originalDocument.getDoctype());
+			
 			if (PERFORMANCE_DEBUG)
-				System.out
-						.println("parse documents\t" + (new Date()).getTime());
+				System.out.println("parse documents\t" + (new Date()).getTime()); //$NON-NLS-1$
 
 			// System.out.println(document+" "+ _originalDom+" "+ ieDom);
 
@@ -185,6 +186,7 @@
 			engine.setTargetUrl(targetUrl);
 			engine.setDocument(document);
 			engine.setHtml2viewMapV(html2ViewMapV);
+			engine.setHTML5(isHTML5);
 
 			// TODO invisibleElements
 			// HashSet invisibleIdSet = new HashSet();
@@ -198,16 +200,15 @@
 
 			engine.setInvisibleIdSet(new HashSet<String>());
 			if (PERFORMANCE_DEBUG)
-				System.out.println("setInvisibleIdSet\t"
-						+ (new Date()).getTime());
+				System.out.println("setInvisibleIdSet\t" + (new Date()).getTime()); //$NON-NLS-1$
 
 			engine.setPageData(pageData);
 			if (PERFORMANCE_DEBUG)
-				System.out.println("setPageData\t" + (new Date()).getTime());
+				System.out.println("setPageData\t" + (new Date()).getTime()); //$NON-NLS-1$
 
 			engine.visualize();
 			if (PERFORMANCE_DEBUG)
-				System.out.println("do vizualize\t" + (new Date()).getTime());
+				System.out.println("do vizualize\t" + (new Date()).getTime()); //$NON-NLS-1$
 
 			maxReachingTime = engine.getMaxTime();
 			setInfoMessage(getMaxReachingTime());
@@ -232,72 +233,86 @@
 				isDBCS = true;
 			}
 
-			HtmlEvalUtil edu = new HtmlEvalUtil(document, resultDocument,
-					targetUrl, mapData.getOrig2idMap(), originalDocument,
-					ieDom, pageData, isDBCS, isIEhtml);
+			HtmlEvalUtil edu = new HtmlEvalUtil(document, resultDocument, targetUrl, mapData.getOrig2idMap(),
+					originalDocument, ieDom, pageData, isDBCS, isIEhtml);
 			edu.setLiveFile(liveFile);
 			edu.setSrcFile(srcFile);
 			edu.setTargetFile(targetFile);
 
 			if (PERFORMANCE_DEBUG)
-				System.out.println("HtmlEvalUtil\t" + (new Date()).getTime());
+				System.out.println("HtmlEvalUtil\t" + (new Date()).getTime()); //$NON-NLS-1$
 
-			ArrayList<IProblemItem> tmpResults = new ArrayList<IProblemItem>(
-					1024);
+			ArrayList<IProblemItem> tmpResults = new ArrayList<IProblemItem>(1024);
 
 			// TODO re-impl BrowserAndStyleInfo
 			//
 			// BrowserAndStyleInfo data =
 			// webBrowser.getBrowserAndStyleInfo();
-			IHtmlCheckTarget checkTarget = CheckTargetFactory
-					.createHtmlCheckTarget(document, webBrowser.getURL(), null,
-							edu);
+			IHtmlCheckTarget checkTarget = CheckTargetFactory.createHtmlCheckTarget(document, webBrowser.getURL(), null,
+					edu);
 
 			for (int i = 0; i < checkers.length; i++) {
 				if (checkers[i] instanceof IHtmlChecker) {
-					tmpResults.addAll(((IHtmlChecker) checkers[i])
-							.checkHtml(checkTarget));
-				} else if (checkers[i].isTargetFormat(webBrowser
-						.getCurrentMIMEType()) && checkers[i].isEnabled()) {
+					tmpResults.addAll(((IHtmlChecker) checkers[i]).checkHtml(checkTarget));
+				} else if (checkers[i].isTargetFormat(webBrowser.getCurrentMIMEType()) && checkers[i].isEnabled()) {
 					tmpResults.addAll(checkers[i].check(checkTarget));
 				}
 			}
 
 			if (PERFORMANCE_DEBUG)
-				System.out.println("checked\t" + (new Date()).getTime());
+				System.out.println("checked\t" + (new Date()).getTime()); //$NON-NLS-1$
 
+			boolean hasBOM = false;
+			Vector<IProblemItem> tmpV = errorLogListener.getHtmlProblemVector();
+			if (isHTML5) {
+				int bomError = -1;
+				for (int i = 0; i < tmpV.size(); i++) {
+					IProblemItem item = tmpV.get(i);
+					if (item.getId().equals("C_1000.8")) { //$NON-NLS-1$
+						bomError = i;
+					}
+				}
+				if (bomError > -1) {
+					tmpV.remove(bomError);
+					hasBOM = true;
+				}
+			}
+
+			int charsetProblem = -1;
 			// TODO support blind biz -> visitor
 			for (int i = 0; i < tmpResults.size(); i++) {
 				IProblemItem tmpItem = tmpResults.get(i);
-				HighlightTargetNodeInfo nodeInfo = tmpItem
-						.getHighlightTargetNodeInfo();
+				HighlightTargetNodeInfo nodeInfo = tmpItem.getHighlightTargetNodeInfo();
 				if (nodeInfo != null) {
 					if (tmpItem.getHighlightTargetIds().length == 0) {
-						tmpItem.setHighlightTargetIds(nodeInfo
-								.getHighlightTargetIds(mapData.getOrig2idMap()));
+						tmpItem.setHighlightTargetIds(nodeInfo.getHighlightTargetIds(mapData.getOrig2idMap()));
 					}
 					if (EvaluationUtil.isOriginalDOM()) {
-						tmpItem.setHighlightTargetSourceInfo(nodeInfo
-								.getHighlightTargetSourceInfo(html2ViewMapV));
+						tmpItem.setHighlightTargetSourceInfo(nodeInfo.getHighlightTargetSourceInfo(html2ViewMapV));
 					}
 				}
+				if (hasBOM && tmpItem.getId().equals("C_88.1")) { //$NON-NLS-1$
+					hasBOM = false; // do not check from here
+					charsetProblem = i;
+				}
+			}
+			if (charsetProblem > -1) {
+				tmpResults.remove(charsetProblem);
 			}
 			checkResult.addProblemItems(tmpResults);
-			checkResult
-					.addProblemItems(errorLogListener.getHtmlProblemVector());
+
+			checkResult.addProblemItems(tmpV);
 			checkResult.accept(pageData);
 
 			if (PERFORMANCE_DEBUG)
-				System.out.println("process problems\t"
-						+ (new Date()).getTime());
+				System.out.println("process problems\t" + (new Date()).getTime()); //$NON-NLS-1$
 
 			// TODO move (add Icons into result doc) here
 
 			if (resultFile != null) {
 				resultFile.delete();
 			}
-			resultFile = BlindVizResourceUtil.createTempFile(
-					IVisualizationConst.PREFIX_RESULT,
+			resultFile = BlindVizResourceUtil.createTempFile(IVisualizationConst.PREFIX_RESULT,
 					IVisualizationConst.SUFFIX_HTML);
 			// File tmpFile = BlindVizEnginePlugin.createTempFile("tmp",
 			// IVisualizationConst.SUFFIX_HTML);
@@ -306,15 +321,43 @@
 				// HtmlParserUtil.saveHtmlDocumentAsUTF8(
 				// (SHDocument) resultDocument, tmpFile, resultFile);
 				DomPrintUtil dpu = new DomPrintUtil(resultDocument);
+				dpu.setHTML5(isHTML5);
 				dpu.writeToFile(resultFile);
 
 			} catch (Exception e3) {
-				DebugPrintUtil
-						.devOrDebugPrintln("error: saveHtmlDocumentAsUTF8"); //$NON-NLS-1$
+				DebugPrintUtil.devOrDebugPrintln("error: saveHtmlDocumentAsUTF8"); //$NON-NLS-1$
+			}
+
+			try {
+				Element[] iframes = getElementsArray(ieDom, "iframe"); //$NON-NLS-1$
+				HashSet<String> urlS = new HashSet<String>();
+				if (iframes.length > 0) {
+					for (Element e : iframes) {
+						String src = e.getAttribute("src"); //$NON-NLS-1$
+						if (src != null) {
+							if (src.startsWith("http")) { //$NON-NLS-1$
+								urlS.add(src);
+							} else {
+								System.err.println(src);
+							}
+						}
+					}
+					if (!urlS.isEmpty() && MessageDialog.openConfirm(PlatformUIUtil.getShell(),
+							Messages.BlindVisualizerHtml_15, Messages.BlindVisualizerHtml_16)) {
+						IEditorPart currentE = PlatformUIUtil.getActiveEditor();
+						for (String s : urlS) {
+							System.out.println(s);
+							ModelServiceUtils.launch(s);
+						}
+						PlatformUIUtil.getActivePage().activate(currentE);
+					}
+				}
+			} catch (Exception e2) {
+
 			}
 
 			if (PERFORMANCE_DEBUG)
-				System.out.println("vizualize end\t" + (new Date()).getTime());
+				System.out.println("vizualize end\t" + (new Date()).getTime()); //$NON-NLS-1$
 			if (hasFrame) {
 				pageData.setHasFrame(true);
 				return FRAME;
@@ -336,25 +379,23 @@
 	@SuppressWarnings("nls")
 	private boolean hasFrameset(Document document, IWebBrowserACTF webBrowser) {
 
-		NodeList framesetNl = document.getElementsByTagName("frameset");
+		NodeList framesetNl = document.getElementsByTagName("frameset"); //$NON-NLS-1$
 
 		if (framesetNl.getLength() > 0) {
 
-			NodeList frameList = document.getElementsByTagName("frame");
+			NodeList frameList = document.getElementsByTagName("frame"); //$NON-NLS-1$
 
-			String sFileName = BlindVizResourceUtil.getTempDirectory()
-					+ "frameList.html";
+			String sFileName = BlindVizResourceUtil.getTempDirectory() + "frameList.html"; //$NON-NLS-1$
 
 			String base = webBrowser.getURL();
 
 			try {
 				URL baseURL = new URL(base);
 
-				NodeList baseNL = document.getElementsByTagName("base");
+				NodeList baseNL = document.getElementsByTagName("base"); //$NON-NLS-1$
 				if (baseNL.getLength() > 0) {
-					Element baseE = (Element) baseNL
-							.item(baseNL.getLength() - 1);
-					String baseUrlS = baseE.getAttribute("href");
+					Element baseE = (Element) baseNL.item(baseNL.getLength() - 1);
+					String baseUrlS = baseE.getAttribute("href"); //$NON-NLS-1$
 					if (baseUrlS.length() > 0) {
 						URL tmpUrl = new URL(baseURL, baseUrlS);
 						base = tmpUrl.toString();
@@ -366,46 +407,40 @@
 			PrintWriter fileOutput;
 
 			try {
-				fileOutput = new PrintWriter(new OutputStreamWriter(
-						new FileOutputStream(sFileName), "UTF-8"));
+				fileOutput = new PrintWriter(new OutputStreamWriter(new FileOutputStream(sFileName), "UTF-8")); //$NON-NLS-1$
 			} catch (IOException e) {
 				// e.printStackTrace();
 				// TODO
 				return true;
 			}
 
-			fileOutput.write("<html>");
+			fileOutput.write("<html>"); //$NON-NLS-1$
 			// " lang=\""+lang+\">"); //use var
-			fileOutput.write("<head>" + FileUtils.LINE_SEP);
-			fileOutput
-					.write("<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" >"
-							+ FileUtils.LINE_SEP);
-			fileOutput.write("<base href=\"" + base + "\"></head>"
-					+ FileUtils.LINE_SEP + "<body><P>");
-			fileOutput.write("This page contains of "); // var
+			fileOutput.write("<head>" + FileUtils.LINE_SEP); //$NON-NLS-1$
+			fileOutput.write(
+					"<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" >" + FileUtils.LINE_SEP); //$NON-NLS-1$
+			fileOutput.write("<base href=\"" + base + "\"></head>" + FileUtils.LINE_SEP + "<body><P>"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+			fileOutput.write(Messages.BlindVisualizerHtml_1); // var
 			fileOutput.write(String.valueOf(frameList.getLength()));
-			fileOutput.write(" frames."); // var
-			fileOutput.write("<br>" + FileUtils.LINE_SEP);
-			fileOutput.write("Please select one of them."); // var
-			fileOutput.write("</P>" + FileUtils.LINE_SEP + "<ol>"
-					+ FileUtils.LINE_SEP);
+			fileOutput.write(Messages.BlindVisualizerHtml_2); // var
+			fileOutput.write("<br>" + FileUtils.LINE_SEP); //$NON-NLS-1$
+			fileOutput.write(Messages.BlindVisualizerHtml_0); // var
+			fileOutput.write("</P>" + FileUtils.LINE_SEP + "<ol>" + FileUtils.LINE_SEP); //$NON-NLS-1$ //$NON-NLS-2$
 
 			String strTitle, strName;
 			for (int i = 0; i < frameList.getLength(); i++) {
 				Element frameEl = (Element) frameList.item(i);
-				strTitle = frameEl.getAttribute("title");
-				strName = frameEl.getAttribute("name");
-				if (strTitle.equals(""))
-					strTitle.equals("none");
-				if (strName.equals(""))
-					strName.equals("none");
-				fileOutput.write("<li><a href=\"" + frameEl.getAttribute("src")
-						+ "\">Title: \"" + strTitle + "\".<BR> Name: \""
-						+ strName + "\".<BR> src: \""
-						+ frameEl.getAttribute("src") + "\".</a>"
+				strTitle = frameEl.getAttribute("title"); //$NON-NLS-1$
+				strName = frameEl.getAttribute("name"); //$NON-NLS-1$
+				if (strTitle.equals("")) //$NON-NLS-1$
+					strTitle.equals("none"); //$NON-NLS-1$
+				if (strName.equals("")) //$NON-NLS-1$
+					strName.equals("none"); //$NON-NLS-1$
+				fileOutput.write("<li><a href=\"" + frameEl.getAttribute("src") + "\">Title: \"" + strTitle //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+						+ "\".<BR> Name: \"" + strName + "\".<BR> src: \"" + frameEl.getAttribute("src") + "\".</a>" //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
 						+ FileUtils.LINE_SEP);
 			}
-			fileOutput.write("</ol></body></html>");
+			fileOutput.write("</ol></body></html>"); //$NON-NLS-1$
 
 			fileOutput.flush();
 			fileOutput.close();
@@ -418,4 +453,14 @@
 		}
 	}
 
+	private Element[] getElementsArray(Document target, String tagName) {
+		NodeList tmpNL = target.getElementsByTagName(tagName);
+		int length = tmpNL.getLength();
+		Element[] result = new Element[length];
+		for (int i = 0; i < length; i++) {
+			result[i] = (Element) tmpNL.item(i);
+		}
+		return (result);
+	}
+
 }
diff --git a/plugins/org.eclipse.actf.visualization.blind.odfbyhtml/src/org/eclipse/actf/visualization/blind/odfbyhtml/BlindVisualizerOdfByHtml.java b/plugins/org.eclipse.actf.visualization.blind.odfbyhtml/src/org/eclipse/actf/visualization/blind/odfbyhtml/BlindVisualizerOdfByHtml.java
index 45bf4db..ae2885f 100644
--- a/plugins/org.eclipse.actf.visualization.blind.odfbyhtml/src/org/eclipse/actf/visualization/blind/odfbyhtml/BlindVisualizerOdfByHtml.java
+++ b/plugins/org.eclipse.actf.visualization.blind.odfbyhtml/src/org/eclipse/actf/visualization/blind/odfbyhtml/BlindVisualizerOdfByHtml.java
@@ -1,228 +1,221 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and Others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Kentarou FUKUDA - initial API and implementation
- *******************************************************************************/
-package org.eclipse.actf.visualization.blind.odfbyhtml;
-
-import java.io.FileInputStream;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Vector;
-
-import org.eclipse.actf.model.dom.html.HTMLParserFactory;
-import org.eclipse.actf.model.dom.html.IHTMLParser;
-import org.eclipse.actf.model.ui.IModelService;
-import org.eclipse.actf.util.FileUtils;
-import org.eclipse.actf.util.dom.DomPrintUtil;
-import org.eclipse.actf.util.logging.DebugPrintUtil;
-import org.eclipse.actf.visualization.IVisualizationConst;
-import org.eclipse.actf.visualization.blind.BlindVisualizerBase;
-import org.eclipse.actf.visualization.blind.IBlindVisualizer;
-import org.eclipse.actf.visualization.blind.ui.internal.Messages;
-import org.eclipse.actf.visualization.engines.blind.BlindVizResourceUtil;
-import org.eclipse.actf.visualization.engines.blind.eval.EvaluationResultBlind;
-import org.eclipse.actf.visualization.engines.blind.html.IVisualizeMapData;
-import org.eclipse.actf.visualization.engines.blind.html.VisualizeEngine;
-import org.eclipse.actf.visualization.engines.blind.html.util.HtmlErrorLogListener;
-import org.eclipse.actf.visualization.engines.blind.html.util.VisualizeReportUtil;
-import org.eclipse.actf.visualization.eval.CheckTargetFactory;
-import org.eclipse.actf.visualization.eval.EvaluationUtil;
-import org.eclipse.actf.visualization.eval.ICheckTarget;
-import org.eclipse.actf.visualization.eval.IChecker;
-import org.eclipse.actf.visualization.eval.guideline.GuidelineHolder;
-import org.eclipse.actf.visualization.eval.html.statistics.PageData;
-import org.eclipse.actf.visualization.eval.problem.HighlightTargetNodeInfo;
-import org.eclipse.actf.visualization.eval.problem.IProblemItem;
-import org.eclipse.actf.visualization.eval.problem.ProblemItemImpl;
-import org.eclipse.actf.visualization.util.html2view.Html2ViewMapData;
-import org.eclipse.actf.visualization.util.html2view.Html2ViewMapMaker;
-import org.w3c.dom.Document;
-
-@SuppressWarnings("nls")
-public class BlindVisualizerOdfByHtml extends BlindVisualizerBase implements
-		IBlindVisualizer {
-
-	private final String ODF_HTML_FILE_NAME = "ODF.html";
-
-	private final String odf_html_fileS = tmpDirS + ODF_HTML_FILE_NAME;
-
-	private final String NO_ALT_IMAGE = "10101";
-
-	private static final String MAPPED_HTML_FILE_PRE = "MappedHTML";
-
-	private static final String HTML_SOURCE_FILE = "source.html";
-
-	public boolean setModelService(IModelService targetModel) {
-		if (super.setModelService(targetModel)) {
-			if (targetUrl.startsWith("file://")) {
-				targetUrl = targetUrl.substring(8);
-			}
-			targetUrl = targetUrl.replaceAll("%20", " ");
-			return true;
-		}
-		return false;
-	}
-
-	public int visualize() {
-		if (null == modelService) {
-			return ERROR;
-		}
-
-		GuidelineHolder.getInstance().setTargetMimeType(
-				modelService.getCurrentMIMEType());
-
-		modelService.saveDocumentAsHTMLFile(odf_html_fileS);
-
-		checkResult = new EvaluationResultBlind();
-
-		try {
-
-			FileUtils
-					.copyFile(odf_html_fileS, tmpDirS + HTML_SOURCE_FILE, true);
-
-			Vector<Html2ViewMapData> html2ViewMapV = new Vector<Html2ViewMapData>();
-
-			IHTMLParser htmlParser = HTMLParserFactory.createHTMLParser();
-			HtmlErrorLogListener errorLogListener = new HtmlErrorLogListener();
-			htmlParser.addErrorLogListener(errorLogListener);
-			String targetFile = tmpDirS + MAPPED_HTML_FILE_PRE + ".html";
-
-			html2ViewMapV = Html2ViewMapMaker.makeMap(ODF_HTML_FILE_NAME,
-					MAPPED_HTML_FILE_PRE + ".html", tmpDirS);
-			if (html2ViewMapV.size() == 0) {
-				targetFile = odf_html_fileS;
-			}
-
-			IHTMLParser tmpHtmlParser = HTMLParserFactory.createHTMLParser();
-			tmpHtmlParser.parse(new FileInputStream(targetFile));
-			Document document = tmpHtmlParser.getDocument();
-
-			if (document == null) {
-				return ERROR;
-			}
-
-			setStatusMessage(Messages.BlindView_Now_processing); //
-
-			pageData = new PageData();
-
-			VisualizeEngine engine = new VisualizeEngine();
-			engine.setBaseUrl(""); //$NON-NLS-1$
-			// TODO "\"->"/" windows
-			// engine.setBaseUrl("file:///"+RESULT_DIR);
-
-			engine.setTargetUrl(targetUrl);
-			engine.setDocument(document);
-			engine.setHtml2viewMapV(html2ViewMapV);
-			engine.setInvisibleIdSet(new HashSet<String>());
-			engine.setPageData(pageData);
-			engine.visualize();
-
-			maxReachingTime = engine.getMaxTime();
-			setInfoMessage(getMaxReachingTime());
-
-			resultDocument = engine.getResult();
-			checkResult.setProblemList(engine.getProbelems());
-			checkResult.setTargetUrl(targetUrl);
-			
-			if(variantFile!=null){
-				variantFile.delete();
-			}
-			variantFile = engine.getVariantFile();			
-			checkResult.addAssociateFile(variantFile);
-
-			IVisualizeMapData mapData = engine.getVisualizeMapData();
-
-			checkResult.setSourceFile(null);
-
-			ArrayList<IProblemItem> tmpResults = new ArrayList<IProblemItem>(
-					1024);
-
-			Document odfDoc = modelService.getDocument();
-			ICheckTarget checkTarget = CheckTargetFactory.createCheckTarget(
-					odfDoc, modelService.getURL());
-			checkTarget.setAdditionalDocument("html", document);
-			IChecker[] checkers = EvaluationUtil.getCheckers();
-			for (int i = 0; i < checkers.length; i++) {
-				// TODO mimetype -> ???
-				if (checkers[i].isTargetFormat(modelService
-						.getCurrentMIMEType())
-						&& checkers[i].isEnabled()) {
-					long startTime = System.currentTimeMillis();
-					tmpResults.addAll(checkers[i].check(checkTarget));
-					DebugPrintUtil.devOrDebugPrintln(System.currentTimeMillis()
-							- startTime);
-				}
-			}
-
-			visualizeError(resultDocument, tmpResults);
-
-			// TODO support blind biz -> visitor
-			for (int i = 0; i < tmpResults.size(); i++) {
-				IProblemItem tmpItem = tmpResults.get(i);
-				HighlightTargetNodeInfo nodeInfo = tmpItem
-						.getHighlightTargetNodeInfo();
-				if (nodeInfo != null) {
-					tmpItem.setHighlightTargetIds(nodeInfo
-							.getHighlightTargetIds(mapData.getOrig2idMap()));
-				}
-			}
-			checkResult.addProblemItems(tmpResults);
-			checkResult.accept(pageData);
-
-			// TODO move (add Icons into result doc) here
-
-			if(resultFile!=null){
-				resultFile.delete();
-			}
-			resultFile = BlindVizResourceUtil.createTempFile(
-					IVisualizationConst.PREFIX_RESULT,
-					IVisualizationConst.SUFFIX_HTML);
-
-			try {
-				// PrintWriter pw = new PrintWriter(new OutputStreamWriter(
-				// new FileOutputStream(resultFile), "UTF-8"));
-				// ((IHTMLDocumentACTF) resultDocument).printAsSGML(pw, true);
-				// pw.flush();
-				// pw.close();
-				DomPrintUtil dpu = new DomPrintUtil(resultDocument);
-				dpu.writeToFile(resultFile);
-			} catch (Exception e3) {
-				e3.printStackTrace();
-			}
-		} catch (Exception e) {
-			setStatusMessage(Messages.Visualization_Error);
-			e.printStackTrace();
-			return ERROR;
-		}
-
-		return 0;
-	}
-
-	public boolean isTarget(IModelService modelService) {
-		return (null != modelService && modelService.getCurrentMIMEType()
-				.startsWith("application/vnd.oasis.opendocument."));
-	}
-
-	private void visualizeError(Document resultDoc, List<IProblemItem> problems) {
-
-		int size = problems.size();
-
-		for (int i = 0; i < size; i++) {
-			Object obj = problems.get(i);
-			if (obj instanceof ProblemItemImpl) {
-				ProblemItemImpl prob = (ProblemItemImpl) obj;
-				if (prob.getId().equals("O_" + NO_ALT_IMAGE)) {
-					VisualizeReportUtil.visualizeError(resultDoc, prob);
-				}
-			}
-		}
-	}
-
-}
+/*******************************************************************************

+ * Copyright (c) 2008, 2016 IBM Corporation and Others

+ * All rights reserved. This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License v1.0

+ * which accompanies this distribution, and is available at

+ * http://www.eclipse.org/legal/epl-v10.html

+ *

+ * Contributors:

+ *    Kentarou FUKUDA - initial API and implementation

+ *******************************************************************************/

+package org.eclipse.actf.visualization.blind.odfbyhtml;

+

+import java.io.FileInputStream;

+import java.util.ArrayList;

+import java.util.HashSet;

+import java.util.List;

+import java.util.Vector;

+

+import org.eclipse.actf.model.dom.html.DocumentTypeUtil;

+import org.eclipse.actf.model.dom.html.HTMLParserFactory;

+import org.eclipse.actf.model.dom.html.IHTMLParser;

+import org.eclipse.actf.model.ui.IModelService;

+import org.eclipse.actf.util.FileUtils;

+import org.eclipse.actf.util.dom.DomPrintUtil;

+import org.eclipse.actf.util.logging.DebugPrintUtil;

+import org.eclipse.actf.visualization.IVisualizationConst;

+import org.eclipse.actf.visualization.blind.BlindVisualizerBase;

+import org.eclipse.actf.visualization.blind.IBlindVisualizer;

+import org.eclipse.actf.visualization.blind.ui.internal.Messages;

+import org.eclipse.actf.visualization.engines.blind.BlindVizResourceUtil;

+import org.eclipse.actf.visualization.engines.blind.eval.EvaluationResultBlind;

+import org.eclipse.actf.visualization.engines.blind.html.IVisualizeMapData;

+import org.eclipse.actf.visualization.engines.blind.html.VisualizeEngine;

+import org.eclipse.actf.visualization.engines.blind.html.util.VisualizeReportUtil;

+import org.eclipse.actf.visualization.eval.CheckTargetFactory;

+import org.eclipse.actf.visualization.eval.EvaluationUtil;

+import org.eclipse.actf.visualization.eval.ICheckTarget;

+import org.eclipse.actf.visualization.eval.IChecker;

+import org.eclipse.actf.visualization.eval.guideline.GuidelineHolder;

+import org.eclipse.actf.visualization.eval.html.statistics.PageData;

+import org.eclipse.actf.visualization.eval.problem.HighlightTargetNodeInfo;

+import org.eclipse.actf.visualization.eval.problem.IProblemItem;

+import org.eclipse.actf.visualization.eval.problem.ProblemItemImpl;

+import org.eclipse.actf.visualization.util.html2view.Html2ViewMapData;

+import org.eclipse.actf.visualization.util.html2view.Html2ViewMapMaker;

+import org.w3c.dom.Document;

+

+@SuppressWarnings("nls")

+public class BlindVisualizerOdfByHtml extends BlindVisualizerBase implements IBlindVisualizer {

+

+	private final String ODF_HTML_FILE_NAME = "ODF.html";

+

+	private final String odf_html_fileS = tmpDirS + ODF_HTML_FILE_NAME;

+

+	private final String NO_ALT_IMAGE = "10101";

+

+	private static final String MAPPED_HTML_FILE_PRE = "MappedHTML";

+

+	private static final String HTML_SOURCE_FILE = "source.html";

+

+	public boolean setModelService(IModelService targetModel) {

+		if (super.setModelService(targetModel)) {

+			if (targetUrl.startsWith("file://")) {

+				targetUrl = targetUrl.substring(8);

+			}

+			targetUrl = targetUrl.replaceAll("%20", " ");

+			return true;

+		}

+		return false;

+	}

+

+	public int visualize() {

+		if (null == modelService) {

+			return ERROR;

+		}

+

+		GuidelineHolder.getInstance().setTargetMimeType(modelService.getCurrentMIMEType());

+

+		modelService.saveDocumentAsHTMLFile(odf_html_fileS);

+

+		checkResult = new EvaluationResultBlind();

+

+		try {

+

+			FileUtils.copyFile(odf_html_fileS, tmpDirS + HTML_SOURCE_FILE, true);

+

+			Vector<Html2ViewMapData> html2ViewMapV = new Vector<Html2ViewMapData>();

+

+			// IHTMLParser htmlParser = HTMLParserFactory.createHTMLParser();

+			// HtmlErrorLogListener errorLogListener = new

+			// HtmlErrorLogListener();

+			// htmlParser.addErrorLogListener(errorLogListener);

+			String targetFile = tmpDirS + MAPPED_HTML_FILE_PRE + ".html";

+

+			html2ViewMapV = Html2ViewMapMaker.makeMap(ODF_HTML_FILE_NAME, MAPPED_HTML_FILE_PRE + ".html", tmpDirS);

+			if (html2ViewMapV.size() == 0) {

+				targetFile = odf_html_fileS;

+			}

+

+			IHTMLParser tmpHtmlParser = HTMLParserFactory.createHTMLParser();

+			tmpHtmlParser.parse(new FileInputStream(targetFile));

+			Document document = tmpHtmlParser.getDocument();

+

+			if (document == null) {

+				return ERROR;

+			}

+			

+			boolean isHTML5 = DocumentTypeUtil.isOriginalHTML5(document.getDoctype());

+

+			setStatusMessage(Messages.BlindView_Now_processing); //

+

+			pageData = new PageData();

+

+			VisualizeEngine engine = new VisualizeEngine();

+			engine.setBaseUrl(""); //$NON-NLS-1$

+			// TODO "\"->"/" windows

+			// engine.setBaseUrl("file:///"+RESULT_DIR);

+

+			engine.setTargetUrl(targetUrl);

+			engine.setDocument(document);

+			engine.setHtml2viewMapV(html2ViewMapV);

+			engine.setInvisibleIdSet(new HashSet<String>());

+			engine.setPageData(pageData);

+			engine.setHTML5(isHTML5);

+			engine.visualize();

+

+			maxReachingTime = engine.getMaxTime();

+			setInfoMessage(getMaxReachingTime());

+

+			resultDocument = engine.getResult();

+			checkResult.setProblemList(engine.getProbelems());

+			checkResult.setTargetUrl(targetUrl);

+

+			if (variantFile != null) {

+				variantFile.delete();

+			}

+			variantFile = engine.getVariantFile();

+			checkResult.addAssociateFile(variantFile);

+

+			IVisualizeMapData mapData = engine.getVisualizeMapData();

+

+			checkResult.setSourceFile(null);

+

+			ArrayList<IProblemItem> tmpResults = new ArrayList<IProblemItem>(1024);

+

+			Document odfDoc = modelService.getDocument();

+			ICheckTarget checkTarget = CheckTargetFactory.createCheckTarget(odfDoc, modelService.getURL());

+			checkTarget.setAdditionalDocument("html", document);

+			IChecker[] checkers = EvaluationUtil.getCheckers();

+			for (int i = 0; i < checkers.length; i++) {

+				// TODO mimetype -> ???

+				if (checkers[i].isTargetFormat(modelService.getCurrentMIMEType()) && checkers[i].isEnabled()) {

+					long startTime = System.currentTimeMillis();

+					tmpResults.addAll(checkers[i].check(checkTarget));

+					DebugPrintUtil.devOrDebugPrintln(System.currentTimeMillis() - startTime);

+				}

+			}

+

+			visualizeError(resultDocument, tmpResults);

+

+			// TODO support blind biz -> visitor

+			for (int i = 0; i < tmpResults.size(); i++) {

+				IProblemItem tmpItem = tmpResults.get(i);

+				HighlightTargetNodeInfo nodeInfo = tmpItem.getHighlightTargetNodeInfo();

+				if (nodeInfo != null) {

+					tmpItem.setHighlightTargetIds(nodeInfo.getHighlightTargetIds(mapData.getOrig2idMap()));

+				}

+			}

+			checkResult.addProblemItems(tmpResults);

+			checkResult.accept(pageData);

+

+			// TODO move (add Icons into result doc) here

+

+			if (resultFile != null) {

+				resultFile.delete();

+			}

+			resultFile = BlindVizResourceUtil.createTempFile(IVisualizationConst.PREFIX_RESULT,

+					IVisualizationConst.SUFFIX_HTML);

+

+			try {

+				// PrintWriter pw = new PrintWriter(new OutputStreamWriter(

+				// new FileOutputStream(resultFile), "UTF-8"));

+				// ((IHTMLDocumentACTF) resultDocument).printAsSGML(pw, true);

+				// pw.flush();

+				// pw.close();

+				DomPrintUtil dpu = new DomPrintUtil(resultDocument);

+				dpu.setHTML5(isHTML5);

+				dpu.writeToFile(resultFile);

+			} catch (Exception e3) {

+				e3.printStackTrace();

+			}

+		} catch (Exception e) {

+			setStatusMessage(Messages.Visualization_Error);

+			e.printStackTrace();

+			return ERROR;

+		}

+

+		return 0;

+	}

+

+	public boolean isTarget(IModelService modelService) {

+		return (null != modelService

+				&& modelService.getCurrentMIMEType().startsWith("application/vnd.oasis.opendocument."));

+	}

+

+	private void visualizeError(Document resultDoc, List<IProblemItem> problems) {

+

+		int size = problems.size();

+

+		for (int i = 0; i < size; i++) {

+			Object obj = problems.get(i);

+			if (obj instanceof ProblemItemImpl) {

+				ProblemItemImpl prob = (ProblemItemImpl) obj;

+				if (prob.getId().equals("O_" + NO_ALT_IMAGE)) {

+					VisualizeReportUtil.visualizeError(resultDoc, prob);

+				}

+			}

+		}

+	}

+

+}

diff --git a/plugins/org.eclipse.actf.visualization.blind/src/org/eclipse/actf/visualization/blind/ui/internal/Messages.java b/plugins/org.eclipse.actf.visualization.blind/src/org/eclipse/actf/visualization/blind/ui/internal/Messages.java
index f1fbda3..5ff57a8 100644
--- a/plugins/org.eclipse.actf.visualization.blind/src/org/eclipse/actf/visualization/blind/ui/internal/Messages.java
+++ b/plugins/org.eclipse.actf.visualization.blind/src/org/eclipse/actf/visualization/blind/ui/internal/Messages.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2006, 2008 IBM Corporation and Others
+ * Copyright (c) 2006, 2016 IBM Corporation and Others
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -29,6 +29,11 @@
 	public static String BlindView_end_saving_file;
 	public static String BlindView_Visualize_4;
 	public static String BlindVisualizationAction_0;
+	public static String BlindVisualizerHtml_0;
+	public static String BlindVisualizerHtml_1;
+	public static String BlindVisualizerHtml_15;
+	public static String BlindVisualizerHtml_16;
+	public static String BlindVisualizerHtml_2;
 	public static String Visualization_Error;
 	public static String Report;
 
diff --git a/plugins/org.eclipse.actf.visualization.blind/src/org/eclipse/actf/visualization/blind/ui/internal/SaveReportBlind.java b/plugins/org.eclipse.actf.visualization.blind/src/org/eclipse/actf/visualization/blind/ui/internal/SaveReportBlind.java
index cc58e50..301412e 100644
--- a/plugins/org.eclipse.actf.visualization.blind/src/org/eclipse/actf/visualization/blind/ui/internal/SaveReportBlind.java
+++ b/plugins/org.eclipse.actf.visualization.blind/src/org/eclipse/actf/visualization/blind/ui/internal/SaveReportBlind.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2004, 2008 IBM Corporation and Others
+ * Copyright (c) 2004, 2016 IBM Corporation and Others
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -30,8 +30,8 @@
 import org.eclipse.actf.visualization.eval.guideline.GuidelineHolder;
 import org.eclipse.actf.visualization.eval.guideline.IGuidelineData;
 import org.eclipse.actf.visualization.eval.problem.HighlightTargetId;
-import org.eclipse.actf.visualization.eval.problem.IProblemItem;
 import org.eclipse.actf.visualization.eval.problem.IProblemConst;
+import org.eclipse.actf.visualization.eval.problem.IProblemItem;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.NodeList;
@@ -50,34 +50,29 @@
 	private static final String IMG = "img";
 	private static final String SRC = "src";
 
-	private static final String[] ICON_NAMES = { "Err.png", "Warn.png",
-			"Conf.png", "Info.png" };
+	private static final String[] ICON_NAMES = { "Err.png", "Warn.png", "Conf.png", "Info.png" };
 
 	// moved from PartRightBlind
 	// TODO renew
 
 	// TODO include only selected guideline/metrics
 
-	public static void saveReport(Document result, IACTFReport checkResult,
-			String sFileName, String imageBriefDir, String maxTime,
-			PageEvaluation pageEval,
+	public static void saveReport(Document result, IACTFReport checkResult, String sFileName, String imageBriefDir,
+			String maxTime, PageEvaluation pageEval,
 			// String strUrl,
 			boolean bAccessory) {
 		if (null != checkResult && checkResult instanceof IEvaluationResult) {
 
 			IEvaluationResult evalResult = (IEvaluationResult) checkResult;
 
-			String saveDir = sFileName.substring(0,
-					sFileName.lastIndexOf(File.separator) + 1);
+			String saveDir = sFileName.substring(0, sFileName.lastIndexOf(File.separator) + 1);
 			String imageDir = saveDir + imageBriefDir;
 			File fDir = new File(imageDir);
 			if ((!fDir.isDirectory() || !fDir.canWrite()) && !fDir.mkdirs()) {
 				System.err.println("can't create image dir:" + imageDir);
 			}
 
-			String preName = sFileName.substring(
-					sFileName.lastIndexOf(File.separator) + 1,
-					sFileName.lastIndexOf("."));
+			String preName = sFileName.substring(sFileName.lastIndexOf(File.separator) + 1, sFileName.lastIndexOf("."));
 			String scriptVariantName = preName + "_variant.js";
 			String reportImgSaveName = preName + ".png";
 
@@ -90,23 +85,19 @@
 				File[] assFiles = evalResult.getAssociateFiles();
 
 				for (File target : assFiles) {
-					if (target.getName().startsWith("variant")
-							&& target.getName().endsWith(".js")) {
-						FileUtils.copyFile(target,
-								imageDir + scriptVariantName, true);
+					if (target.getName().startsWith("variant") && target.getName().endsWith(".js")) {
+						FileUtils.copyFile(target, imageDir + scriptVariantName, true);
 						variantFileS = target.getName();
 					} else {
-						FileUtils.copyFile(target, imageDir + target.getName(),
-								true);
+						FileUtils.copyFile(target, imageDir + target.getName(), true);
 
 					}
 				}
 
 				PrintWriter pw;
 				try {
-					pw = new PrintWriter(new OutputStreamWriter(
-							new FileOutputStream(imageDir + scriptVariantName,
-									true), "UTF-8"));
+					pw = new PrintWriter(
+							new OutputStreamWriter(new FileOutputStream(imageDir + scriptVariantName, true), "UTF-8"));
 					pw.write("var acc_imageDir = '" + imageBriefDir + "'; ");
 					pw.flush();
 					pw.close();
@@ -114,9 +105,7 @@
 					// e.printStackTrace();
 				}
 
-				FileUtils.copyFile(
-						new File(BlindVizResourceUtil.getTempDirectory(),
-								"pagerating.png"),
+				FileUtils.copyFile(new File(BlindVizResourceUtil.getTempDirectory(), "pagerating.png"),
 						imageDir + reportImgSaveName, true);
 
 			}
@@ -155,16 +144,14 @@
 
 				Element newEle = result.createElement("script");
 				StringBuffer buffer = new StringBuffer();
-				buffer.append(FileUtils.LINE_SEP
-						+ "if(navigator.appName.toLowerCase().indexOf(\"microsoft\")>=0){"
+				buffer.append(FileUtils.LINE_SEP + "if(navigator.appName.toLowerCase().indexOf(\"microsoft\")>=0){"
 						+ FileUtils.LINE_SEP);
 				buffer.append("jsFile=\"highlight.js\";" + FileUtils.LINE_SEP);
 				buffer.append("}else{" + FileUtils.LINE_SEP);
-				buffer.append("jsFile=\"highlight_moz.js\";"
-						+ FileUtils.LINE_SEP);
+				buffer.append("jsFile=\"highlight_moz.js\";" + FileUtils.LINE_SEP);
 				buffer.append("}" + FileUtils.LINE_SEP);
-				buffer.append("document.write(\"<script src=\"+acc_imageDir+jsFile+\"></script>\");"
-						+ FileUtils.LINE_SEP);
+				buffer.append(
+						"document.write(\"<script src=\"+acc_imageDir+jsFile+\"></script>\");" + FileUtils.LINE_SEP);
 				newEle.appendChild(result.createComment(buffer.toString()));
 				el.appendChild(newEle);
 			}
@@ -198,16 +185,14 @@
 				lastBody.insertBefore(tmpElement, lastBody.getFirstChild());
 
 				Element tmpDiv = result.createElement(DIV);
-				tmpDiv.setAttribute(STYLE,
-						"width: 100%; background-color:white;");
+				tmpDiv.setAttribute(STYLE, "width: 100%; background-color:white;");
 
 				tmpElement = result.createElement(DIV);
 				// tmpElement.setAttribute("style", "float: left; width: 45%;");
 
 				// TODO
 				int count = 0;
-				boolean enabledMetrics[] = GuidelineHolder.getInstance()
-						.getMatchedMetrics();
+				boolean enabledMetrics[] = GuidelineHolder.getInstance().getMatchedMetrics();
 				for (int i = 0; i < enabledMetrics.length; i++) {
 					if (enabledMetrics[i]) {
 						count++;
@@ -224,8 +209,7 @@
 				tmpElement = result.createElement(DIV);
 				// tmpElement.setAttribute("style", "float: right; width:
 				// 50%;");
-				VisualizeReportUtil.appendRatingTableAndTitle(pageEval,
-						imageBriefDir, result, tmpElement);
+				VisualizeReportUtil.appendRatingTableAndTitle(pageEval, imageBriefDir, result, tmpElement);
 				tmpDiv.appendChild(tmpElement);
 
 				lastBody.insertBefore(tmpDiv, lastBody.getFirstChild());
@@ -254,32 +238,27 @@
 				Element trElement = result.createElement(TR);
 				tableElement.appendChild(trElement);
 				Element tdElement = result.createElement(TH);
-				tdElement.appendChild(result
-						.createTextNode(IProblemConst.TITLE_ICON));
+				tdElement.appendChild(result.createTextNode(IProblemConst.TITLE_ICON));
 				trElement.appendChild(tdElement);
 
 				if (EvaluationUtil.isOriginalDOM()) {
 					tdElement = result.createElement(TH);
-					tdElement.appendChild(result
-							.createTextNode(IProblemConst.TITLE_LINE));
+					tdElement.appendChild(result.createTextNode(IProblemConst.TITLE_LINE));
 					trElement.appendChild(tdElement);
 				}
 
-				IGuidelineData[] guidelineDataArray = GuidelineHolder
-						.getInstance().getGuidelineData();
+				IGuidelineData[] guidelineDataArray = GuidelineHolder.getInstance().getGuidelineData();
 				for (int i = 0; i < guidelineDataArray.length; i++) {
 					IGuidelineData data = guidelineDataArray[i];
 					if (data.isMatched()) {
 						tdElement = result.createElement(TH);
-						tdElement.appendChild(result.createTextNode(data
-								.getGuidelineName()));
+						tdElement.appendChild(result.createTextNode(data.getGuidelineName()));
 						trElement.appendChild(tdElement);
 					}
 				}
 
 				tdElement = result.createElement(TH);
-				tdElement.appendChild(result
-						.createTextNode(IProblemConst.TITLE_DESCRIPTION));
+				tdElement.appendChild(result.createTextNode(IProblemConst.TITLE_DESCRIPTION));
 				trElement.appendChild(tdElement);
 
 				// int iconId; //TODO
@@ -295,18 +274,15 @@
 					trElement = result.createElement(TR);
 
 					// for highlight(kentarou:031113)
-					trElement.setAttribute("onClick",
-							"clearTrHighlight();clearHighlight()");
+					trElement.setAttribute("onClick", "clearTrHighlight();clearHighlight()");
 					if (current.isCanHighlight()) {
 
-						HighlightTargetId[] targets = current
-								.getHighlightTargetIds();
+						HighlightTargetId[] targets = current.getHighlightTargetIds();
 						int length = targets.length;
 
 						String strSet = NULL_STRING;
 						if (length == 1) {
-							strSet = "setHighlight(" + targets[0].getStartId()
-									+ "," + targets[0].getEndId() + ");";
+							strSet = "setHighlight(" + targets[0].getStartId() + "," + targets[0].getEndId() + ");";
 						} else if (length > 1) {
 							StringBuffer strStart = new StringBuffer(2048);
 							StringBuffer strEnd = new StringBuffer(2048);
@@ -316,15 +292,12 @@
 								strStart.append("," + targets[j].getStartId());
 								strEnd.append("," + targets[j].getEndId());
 							}
-							strSet = "setHighlight2(new Array("
-									+ strStart.toString() + "), new Array("
+							strSet = "setHighlight2(new Array(" + strStart.toString() + "), new Array("
 									+ strEnd.toString() + "));";
 						}
 
-						trElement.setAttribute("onclick",
-								"highlightTr(this);clearHighlight();" + strSet);
-						trElement.setAttribute("STYLE",
-								"COLOR:blue;TEXT-DECORATION:underline");
+						trElement.setAttribute("onclick", "highlightTr(this);clearHighlight();" + strSet);
+						trElement.setAttribute("STYLE", "COLOR:blue;TEXT-DECORATION:underline");
 						// (
 					}
 
@@ -371,11 +344,9 @@
 							tdElement = result.createElement(TD);
 							String sTmp = guidelines[j];
 							if (sTmp != null && !sTmp.equals(NULL_STRING))
-								tdElement.appendChild(result
-										.createTextNode(sTmp));
+								tdElement.appendChild(result.createTextNode(sTmp));
 							else
-								tdElement.appendChild(result
-										.createTextNode("-"));
+								tdElement.appendChild(result.createTextNode("-"));
 
 							trElement.appendChild(tdElement);
 						}
@@ -404,6 +375,7 @@
 			// + "saveResultTmp.html", sFileName);
 
 			DomPrintUtil dpu = new DomPrintUtil(result);
+			dpu.setHTML5(true); // TODO
 			try {
 				dpu.writeToFile(sFileName);
 			} catch (IOException e) {
diff --git a/plugins/org.eclipse.actf.visualization.blind/src/org/eclipse/actf/visualization/blind/ui/internal/messages.properties b/plugins/org.eclipse.actf.visualization.blind/src/org/eclipse/actf/visualization/blind/ui/internal/messages.properties
index 86e3eb3..f02be56 100644
--- a/plugins/org.eclipse.actf.visualization.blind/src/org/eclipse/actf/visualization/blind/ui/internal/messages.properties
+++ b/plugins/org.eclipse.actf.visualization.blind/src/org/eclipse/actf/visualization/blind/ui/internal/messages.properties
@@ -1,5 +1,5 @@
 ###############################################################################
-# Copyright (c) 2006, 2008 IBM Corporation and others.
+# Copyright (c) 2006, 2016 IBM Corporation and others.
 # All rights reserved. This program and the accompanying materials
 # are made available under the terms of the Eclipse Public License v1.0
 # which accompanies this distribution, and is available at
@@ -28,3 +28,11 @@
 # Others
 #
 Visualization_Error = Visualization Error
+#
+# BlindVisualizerHTML
+#
+BlindVisualizerHtml_0=Please select one of them.
+BlindVisualizerHtml_1=This page contains of 
+BlindVisualizerHtml_15=Please confirm embeded contents
+BlindVisualizerHtml_16=This page includes iframe(s). miChecker will open these iframe(s) in new browser tab(s). Please confirm each pages' accessibility lator.
+BlindVisualizerHtml_2=\ frames.
diff --git a/plugins/org.eclipse.actf.visualization.blind/src/org/eclipse/actf/visualization/blind/ui/internal/messages_ja.properties b/plugins/org.eclipse.actf.visualization.blind/src/org/eclipse/actf/visualization/blind/ui/internal/messages_ja.properties
index af50ab0..5950545 100644
--- a/plugins/org.eclipse.actf.visualization.blind/src/org/eclipse/actf/visualization/blind/ui/internal/messages_ja.properties
+++ b/plugins/org.eclipse.actf.visualization.blind/src/org/eclipse/actf/visualization/blind/ui/internal/messages_ja.properties
@@ -1,5 +1,5 @@
 ###############################################################################
-# Copyright (c) 2006, 2008 IBM Corporation and others.
+# Copyright (c) 2006, 2016 IBM Corporation and others.
 # All rights reserved. This program and the accompanying materials
 # are made available under the terms of the Eclipse Public License v1.0
 # which accompanies this distribution, and is available at
@@ -27,4 +27,12 @@
 #
 # Others
 #
-Visualization_Error = \u8996\u899a\u5316\u30a8\u30e9\u30fc
\ No newline at end of file
+Visualization_Error = \u8996\u899a\u5316\u30a8\u30e9\u30fc
+#
+# BlindVisualizerHTML
+#
+BlindVisualizerHtml_0=\u5404\u30d5\u30ec\u30fc\u30e0\u3092\u9078\u629e\u3057\u3001\u305d\u308c\u305e\u308c\u306e\u30a2\u30af\u30bb\u30b7\u30d3\u30ea\u30c6\u30a3\u3092\u691c\u8a3c\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+BlindVisualizerHtml_1=\u3053\u306e\u30da\u30fc\u30b8\u306f
+BlindVisualizerHtml_2=\u500b\u306e\u30d5\u30ec\u30fc\u30e0\u3092\u542b\u3093\u3067\u3044\u307e\u3059\u3002
+BlindVisualizerHtml_15=\u57cb\u3081\u8fbc\u307f\u30b3\u30f3\u30c6\u30f3\u30c4(iframe)\u306e\u78ba\u8a8d
+BlindVisualizerHtml_16=\u3053\u306e\u30da\u30fc\u30b8\u306fiframe\u3092\u7528\u3044\u3066\u30b3\u30f3\u30c6\u30f3\u30c4\u304c\u57cb\u3081\u8fbc\u307e\u308c\u3066\u3044\u307e\u3059\u3002 \u305d\u308c\u305e\u308c\u306e\u57cb\u3081\u8fbc\u307f\u30b3\u30f3\u30c6\u30f3\u30c4\u3092\u65b0\u3057\u3044\u30bf\u30d6\u3067\u958b\u304d\u307e\u3059\u306e\u3067\u3001\u305d\u308c\u305e\u308c\u306e\u30a2\u30af\u30bb\u30b7\u30d3\u30ea\u30c6\u30a3\u3092\u691c\u8a3c\u3057\u3066\u304f\u3060\u3055\u3044\u3002
diff --git a/plugins/org.eclipse.actf.visualization.engines.blind.html/src/org/eclipse/actf/visualization/engines/blind/html/VisualizeEngine.java b/plugins/org.eclipse.actf.visualization.engines.blind.html/src/org/eclipse/actf/visualization/engines/blind/html/VisualizeEngine.java
index 371e4a7..1655349 100644
--- a/plugins/org.eclipse.actf.visualization.engines.blind.html/src/org/eclipse/actf/visualization/engines/blind/html/VisualizeEngine.java
+++ b/plugins/org.eclipse.actf.visualization.engines.blind.html/src/org/eclipse/actf/visualization/engines/blind/html/VisualizeEngine.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2003, 2008 IBM Corporation and Others
+ * Copyright (c) 2003, 2016 IBM Corporation and Others
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -93,6 +93,8 @@
 
 	private boolean servletMode = false; // for future use
 
+	private boolean isHTML5 = false;
+
 	private int iMaxTime;
 
 	private int iMaxTimeLeaf;
@@ -158,21 +160,18 @@
 		DocumentCleaner.removeDisplayNone(document);
 
 		if (DEBUG)
-			DebugPrintUtil.debugPrintln("remove display none\t"
-					+ (new Date()).getTime());
+			DebugPrintUtil.debugPrintln("remove display none\t" + (new Date()).getTime());
 
 		orig = document;
 		result = (Document) document.cloneNode(true);
 
 		if (DEBUG)
-			DebugPrintUtil.debugPrintln("clone node\t"
-					+ (new Date()).getTime());
+			DebugPrintUtil.debugPrintln("clone node\t" + (new Date()).getTime());
 
 		jwatc.setDocument(result);
 
 		if (DEBUG)
-			DebugPrintUtil
-					.debugPrintln("jwatc\t" + (new Date()).getTime());
+			DebugPrintUtil.debugPrintln("jwatc\t" + (new Date()).getTime());
 
 		pageData = new PageData();
 		mapData = new VisualizeMapDataImpl();
@@ -180,7 +179,7 @@
 		VisualizeMapUtil.createNode2NodeMap(document, result, mapData);
 
 		if (DEBUG)
-			DebugPrintUtil.debugPrintln("create node2node map\t"
+			DebugPrintUtil.debugPrintln("create node2node map\t" //$NON-NLS-1$
 					+ (new Date()).getTime());
 
 	}
@@ -214,44 +213,39 @@
 			problems = new Vector<IProblemItem>();
 			allPc = jwatc.getPacketCollection();
 
-			DebugPrintUtil.debugPrintln("packet collection\t"
+			DebugPrintUtil.debugPrintln("packet collection\t" //$NON-NLS-1$
 					+ (new Date()).getTime());
 
 			cleanupPacketCollection(allPc);
 
-			DebugPrintUtil.debugPrintln("cleanup packet collection\t"
+			DebugPrintUtil.debugPrintln("cleanup packet collection\t" //$NON-NLS-1$
 					+ (new Date()).getTime());
 
 			ParamBlind curParamBlind = ParamBlind.getInstance();
 
 			// get packet and create map and list
-			NodeInfoCreator nodeInfoCreator = new NodeInfoCreator(mapData,
-					textChecker, problems, invisibleIdSet, curParamBlind);
+			NodeInfoCreator nodeInfoCreator = new NodeInfoCreator(mapData, textChecker, problems, invisibleIdSet,
+					curParamBlind);
 
-			DebugPrintUtil.debugPrintln("Nodeinfo init\t"
-					+ (new Date()).getTime());
+			DebugPrintUtil.debugPrintln("Nodeinfo init\t" + (new Date()).getTime());
 
 			nodeInfoCreator.prepareNodeInfo(allPc);
 
-			DebugPrintUtil.debugPrintln("Nodeinfo prep\t"
-					+ (new Date()).getTime());
+			DebugPrintUtil.debugPrintln("Nodeinfo prep\t" + (new Date()).getTime());
 
 			nodeInfoCreator.createAdditionalNodeInfo(result);
 
-			DebugPrintUtil.debugPrintln("Nodeinfo additional\t"
-					+ (new Date()).getTime());
+			DebugPrintUtil.debugPrintln("Nodeinfo additional\t" + (new Date()).getTime());
 
 			// link analysis preparation
-			LinkAnalyzer linkAnalyzer = new LinkAnalyzer(result, allPc,
-					mapData, problems, invisibleIdSet, curParamBlind, pageData);
+			LinkAnalyzer linkAnalyzer = new LinkAnalyzer(result, allPc, mapData, problems, invisibleIdSet,
+					curParamBlind, pageData);
 
-			DebugPrintUtil.debugPrintln("link analyzer\t"
-					+ (new Date()).getTime());
+			DebugPrintUtil.debugPrintln("link analyzer\t" + (new Date()).getTime());
 
 			styleInfo = new VisualizeStyleInfo(orig, mapData);
 
-			DebugPrintUtil.debugPrintln("style info\t"
-					+ (new Date()).getTime());
+			DebugPrintUtil.debugPrintln("style info\t" + (new Date()).getTime());
 
 			/*
 			 * rewrite DOM from here
@@ -259,11 +253,9 @@
 			// insert ID attributes to elements
 			mapData.makeIdMapping(Html2ViewMapData.ACTF_ID);
 
-			DebugPrintUtil.debugPrintln("id mapping\t"
-					+ (new Date()).getTime());
+			DebugPrintUtil.debugPrintln("id mapping\t" + (new Date()).getTime());
 
-			styleInfo.setImportedCssSet(DocumentCleaner.removeCSS(result,
-					targetUrl));
+			styleInfo.setImportedCssSet(DocumentCleaner.removeCSS(result, targetUrl));
 
 			// prepare head
 			if (result.getElementsByTagName("head").getLength() == 0) { //$NON-NLS-1$
@@ -275,31 +267,31 @@
 			}
 
 			// calculate time and set color
-			VisualizeColorUtil colorUtil = new VisualizeColorUtil(result,
-					mapData, curParamBlind);
+			VisualizeColorUtil colorUtil = new VisualizeColorUtil(result, mapData, curParamBlind, isHTML5);
 			colorUtil.setColorAll();
 
-			DebugPrintUtil
-					.debugPrintln("color\t" + (new Date()).getTime());
+			DebugPrintUtil.debugPrintln("color\t" + (new Date()).getTime()); //$NON-NLS-1$
 
 			calMaxTime();
 
-			DebugPrintUtil.debugPrintln("max time\t"
+			DebugPrintUtil.debugPrintln("max time\t" //$NON-NLS-1$
 					+ (new Date()).getTime());
 
 			problems.addAll(linkAnalyzer.skipLinkCheck(iMaxTime, iMaxTimeLeaf));
 
-			DebugPrintUtil.debugPrintln("skiplink check\t"
+			DebugPrintUtil.debugPrintln("skiplink check\t" //$NON-NLS-1$
 					+ (new Date()).getTime());
 
 			replaceImgAndCheck(result, mapData, curParamBlind.oReplaceImage);
 
-			DebugPrintUtil.debugPrintln("image check\t"
+			DebugPrintUtil.debugPrintln("image check\t" //$NON-NLS-1$
 					+ (new Date()).getTime());
 
 			int errorCount = 0;
 			int missing = 0;
 			int wrong = 0;
+
+			@SuppressWarnings("unused")
 			int area = 0;
 
 			// remove unnecessary problems
@@ -338,10 +330,9 @@
 			pageData.setWrongAltNum(wrong);
 			pageData.setMissingAltNum(missing);
 
-			VisualizeViewUtil
-					.visualizeError(result, problems, mapData, baseUrl);
+			VisualizeViewUtil.visualizeError(result, problems, mapData, baseUrl);
 
-			DebugPrintUtil.debugPrintln("error visualization\t"
+			DebugPrintUtil.debugPrintln("error visualization\t" //$NON-NLS-1$
 					+ (new Date()).getTime());
 
 			DocumentCleaner.removeJavaScript(mapData.getNodeInfoList(), result);
@@ -352,22 +343,21 @@
 			DocumentCleaner.removeBase(result);
 			DocumentCleaner.removePI(result);
 
-			DebugPrintUtil.debugPrintln("document cleaner\t"
+			DebugPrintUtil.debugPrintln("document cleaner\t" //$NON-NLS-1$
 					+ (new Date()).getTime());
 
 			VisualizationResultCleaner.clean(result, targetUrl);
 
-			DebugPrintUtil.debugPrintln("result cleaner\t"
+			DebugPrintUtil.debugPrintln("result cleaner\t" //$NON-NLS-1$
 					+ (new Date()).getTime());
 
 			// TODO merge with visualizeError
 			Id2LineViaActfId id2line = null;
 			if (EvaluationUtil.isOriginalDOM()) {
-				id2line = new Id2LineViaActfId(mapData.getId2AccIdMap(),
-						html2viewMapV);
+				id2line = new Id2LineViaActfId(mapData.getId2AccIdMap(), html2viewMapV);
 			}
 
-			DebugPrintUtil.debugPrintln("id2line\t"
+			DebugPrintUtil.debugPrintln("id2line\t" //$NON-NLS-1$
 					+ (new Date()).getTime());
 
 			for (IProblemItem i : problems) {
@@ -379,24 +369,23 @@
 			}
 			// merge
 
-			VisualizeStyleInfoManager.getInstance()
-					.fireVisualizeStyleInfoUpdate(styleInfo);
+			VisualizeStyleInfoManager.getInstance().fireVisualizeStyleInfoUpdate(styleInfo);
 
-			if (curParamBlind.visualizeMode
-					.equals(ParamBlind.BLIND_BROWSER_MODE)) {
+			if (curParamBlind.visualizeMode.equals(ParamBlind.BLIND_BROWSER_MODE)) {
 				VisualizeViewUtil.returnTextView(result, allPc, baseUrl);
 				return;
 			} else {
-				variantFile = VisualizeViewUtil.prepareActions(result, mapData,
-						baseUrl, servletMode);
+				variantFile = VisualizeViewUtil.prepareActions(result, mapData, baseUrl, servletMode);
+				if (isHTML5) {
+					VisualizeViewUtil.visualizeLandmark(result, baseUrl);
+				}
 				return;
 			}
 		}
 	}
 
 	@SuppressWarnings("nls")
-	private void replaceImgAndCheck(Document doc, VisualizeMapDataImpl mapData,
-			boolean remove) {
+	private void replaceImgAndCheck(Document doc, VisualizeMapDataImpl mapData, boolean remove) {
 
 		NodeList mapList = doc.getElementsByTagName("map");
 		Map<String, Element> mapMap = new HashMap<String, Element>();
@@ -410,8 +399,7 @@
 		int size = nl.getLength();
 		Vector<IProblemItem> problemV = new Vector<IProblemItem>();
 
-		ImgChecker imgChecker = new ImgChecker(mapData, mapMap, textChecker,
-				problemV, baseUrl, checkItems);
+		ImgChecker imgChecker = new ImgChecker(mapData, mapMap, textChecker, problemV, baseUrl, checkItems);
 
 		pageData.setTotalImageNumber(size);
 		for (int i = size - 1; i >= 0; i--) {
@@ -462,12 +450,10 @@
 				div.setAttribute("width", iframe.getAttribute("width"));
 				div.setAttribute("height", iframe.getAttribute("height"));
 				if (error) {
-					div.appendChild(doc
-							.createTextNode("[iframe: (without title)]"));
+					div.appendChild(doc.createTextNode("[iframe: (without title)]"));
 					div.setAttribute("style", errorStyle);
 				} else {
-					div.appendChild(doc.createTextNode("[iframe: title=\""
-							+ title + "\"]"));
+					div.appendChild(doc.createTextNode("[iframe: title=\"" + title + "\"]"));
 					if (title.matches("^[\\s\u3000]*$")) {
 						div.setAttribute("style", errorStyle);
 					} else {
@@ -506,8 +492,7 @@
 					// TODO space separated
 					input.setAttribute("value", altNode.getNodeValue());
 				} else {
-					BlindProblem prob = new BlindProblem(
-							IBlindProblem.NO_ALT_INPUT);
+					BlindProblem prob = new BlindProblem(IBlindProblem.NO_ALT_INPUT);
 					Integer idObj = mapData.getIdOfNode(input);
 					if (idObj != null) {
 						prob.setNode(input, idObj.intValue());
@@ -528,16 +513,13 @@
 				if (valueS.length() == 0) {
 					if (typeS.equals("button")) {
 						// not readable
-						prob = new BlindProblem(
-								IBlindProblem.NO_VALUE_INPUT_BUTTON);
+						prob = new BlindProblem(IBlindProblem.NO_VALUE_INPUT_BUTTON);
 					}
 				} else {
 					TextCheckResult result = textChecker.checkAlt(valueS);
 					if (result.equals(TextCheckResult.SPACE_SEPARATED)
-							|| result
-									.equals(TextCheckResult.SPACE_SEPARATED_JP)) {
-						prob = new BlindProblem(
-								IBlindProblem.SEPARATE_DBCS_INPUT_VALUE, valueS);
+							|| result.equals(TextCheckResult.SPACE_SEPARATED_JP)) {
+						prob = new BlindProblem(IBlindProblem.SEPARATE_DBCS_INPUT_VALUE, valueS);
 					}
 				}
 				if (prob != null) {
@@ -566,8 +548,7 @@
 		fIsActivating = true;
 		if (jwatc == null) {
 			try {
-				jwatc = VoiceBrowserControllerFactory
-						.createVoiceBrowserController();
+				jwatc = VoiceBrowserControllerFactory.createVoiceBrowserController();
 			} catch (Exception e) {
 				e.printStackTrace();
 			}
@@ -626,8 +607,7 @@
 				iMaxTime = time;
 
 			// TODO other sequencial elements (like list)
-			if (curInfo.isBlockElement() && !curInfo.isSequence()
-					&& time > iMaxTimeLeaf) {
+			if (curInfo.isBlockElement() && !curInfo.isSequence() && time > iMaxTimeLeaf) {
 				iMaxTimeLeaf = time;
 			}
 
@@ -689,9 +669,19 @@
 	}
 
 	/**
+	 * Set true if the target document is HTML5.
+	 * 
+	 * @param isHTML5
+	 */
+	public void setHTML5(boolean isHTML5) {
+		this.isHTML5 = isHTML5;
+	}
+
+	/**
 	 * @return variant for visualization as {@link File}
 	 */
 	public File getVariantFile() {
 		return variantFile;
 	}
+
 }
diff --git a/plugins/org.eclipse.actf.visualization.engines.blind.html/src/org/eclipse/actf/visualization/engines/blind/html/util/HtmlErrorLogListener.java b/plugins/org.eclipse.actf.visualization.engines.blind.html/src/org/eclipse/actf/visualization/engines/blind/html/util/HtmlErrorLogListener.java
index 755898e..ea5f256 100644
--- a/plugins/org.eclipse.actf.visualization.engines.blind.html/src/org/eclipse/actf/visualization/engines/blind/html/util/HtmlErrorLogListener.java
+++ b/plugins/org.eclipse.actf.visualization.engines.blind.html/src/org/eclipse/actf/visualization/engines/blind/html/util/HtmlErrorLogListener.java
@@ -1,165 +1,180 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2012 IBM Corporation and Others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Kentarou FUKUDA - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.actf.visualization.engines.blind.html.util;
-
-import java.util.Vector;
-
-import org.eclipse.actf.model.dom.html.IErrorLogListener;
-import org.eclipse.actf.model.dom.html.IParserError;
-import org.eclipse.actf.visualization.eval.EvaluationUtil;
-import org.eclipse.actf.visualization.eval.problem.IProblemItem;
-import org.eclipse.actf.visualization.eval.problem.ProblemItemImpl;
-import org.eclipse.actf.visualization.util.html2view.Html2ViewMapData;
-
-/**
- * Implementation of {@link IErrorLogListener} to correct HTML parse errors.
- */
-public class HtmlErrorLogListener implements IErrorLogListener {
-
-	// TODO move to eval plugin (eval.html) (& move IErrorLogListener to
-	// common/util)
-
-	private boolean isNoDoctype = false;
-
-	private boolean isNonPublic = false;
-
-	private boolean isInvalidDoctype = false;
-
-	private Vector<IProblemItem> problemV = new Vector<IProblemItem>();
-
-	private String orgDoctype = ""; //$NON-NLS-1$
-
-	private boolean flag = true;
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.actf.model.dom.html.IErrorLogListener#errorLog(int,
-	 *      java.lang.String)
-	 */
-	@SuppressWarnings("nls")
-	public void errorLog(int arg0, String arg1) {
-		if (arg0 != IParserError.ILLEGAL_ATTRIBUTE
-				|| arg1.indexOf(Html2ViewMapData.ACTF_ID) < 0) {
-			// TODO create HTML problems
-			switch (arg0) {
-			case IParserError.DOCTYPE_MISSED:
-				isNoDoctype = true;
-				break;
-			case IParserError.ILLEGAL_DOCTYPE:
-				if (arg1.indexOf("Invalid DOCTYPE declaration.") > -1) {
-					isNonPublic = true;
-				} else if (arg1
-						.matches(".*Instead of \".*\" use \".*\" as a DTD.")) {
-					orgDoctype = arg1.substring(arg1.indexOf("\"") + 1);
-					orgDoctype = orgDoctype.substring(0, orgDoctype
-							.indexOf("\""));
-					if (orgDoctype
-							.matches("-//W3C//DTD XHTML ((1.0 (Strict|Transitional|Frameset))|1.1|Basic 1.0|Basic 1.1)//EN")) {
-						orgDoctype = "";
-					} else {
-						isInvalidDoctype = true;
-					}
-				}
-				break;
-			case IParserError.ILLEGAL_CHILD:
-				// TBD "li" case (C_1000.7)
-				// System.out.println(arg0+" : "+arg1);
-				if (arg1.matches(".*<head.*> must be before <body.*")) {
-					addHtmlProblem("C_1000.1", arg1);
-				} else if (arg1
-						.matches(".*<html.*> is not allowed as a child of <.*")) {
-					addHtmlProblem("C_1000.2", arg1);
-				} else if (arg1
-						.matches(".*<body.*> is not allowed as a child of <.*")) {
-					addHtmlProblem("C_1000.3", arg1);
-				} else if (arg1
-						.matches(".*Order of <html.*>'s children is wrong.*")) {
-					addHtmlProblem("C_1000.5", arg1);
-				}
-				break;
-			case IParserError.BOM:
-				addHtmlProblem("C_1000.8", "");
-			default:
-			}
-		}
-	}
-
-	private void addHtmlProblem(String id, String target) {
-		IProblemItem tmpCP = new ProblemItemImpl(id);
-		int line = -1;
-		String tmpS[] = target.split(":"); //$NON-NLS-1$
-		if (tmpS.length > 0) {
-			try {
-				line = Integer.parseInt(tmpS[0].trim());
-			} catch (Exception e) {
-			}
-		}
-		if (line > -1) {
-			tmpCP.setLine(line);
-		}
-		problemV.add(tmpCP);
-	}
-
-	/**
-	 * @return true if there is no DOCTYPE declaration
-	 * @see IParserError#DOCTYPE_MISSED
-	 */
-	public boolean isNoDoctypeDeclaration() {
-		return (isNoDoctype || isNonPublic || isInvalidDoctype);
-	}
-
-	/**
-	 * @return true if the specified DOCTYPE is not public
-	 */
-	public boolean isNonPublicDoctype() {
-		return (isNonPublic);
-	}
-
-	/**
-	 * @return true if Invalid DOCTYPE declaration error is reported
-	 * @see IParserError#ILLEGAL_DOCTYPE
-	 */
-	public boolean isInvalidDoctype() {
-		return (isInvalidDoctype);
-	}
-
-	/**
-	 * Get DOCTYPE declaration that causes the Invalid DOCTYPE declaration error
-	 * 
-	 * @return DOCTYPE declaration
-	 */
-	public String getDeclaratedDoctype() {
-		return (orgDoctype);
-	}
-
-	/**
-	 * Get HTML parse errors as {@link Vector} of {@link IProblemItem}
-	 * 
-	 * @return HTML parse errors
-	 */
-	@SuppressWarnings("nls")
-	public Vector<IProblemItem> getHtmlProblemVector() {
-		if (flag) {
-			// (IE based LIVE DOM)->DOCTYPE was removed by IE
-			if (EvaluationUtil.isOriginalDOM() && isNoDoctypeDeclaration()) {
-				if (isInvalidDoctype() || isNonPublicDoctype()) {
-					problemV.add(new ProblemItemImpl("C_1000.6"));
-				} else {
-					problemV.add(new ProblemItemImpl("C_1000.7"));
-				}
-			}
-			flag = false;
-		}
-		return (problemV);
-	}
-}
+/*******************************************************************************

+ * Copyright (c) 2004, 2012 IBM Corporation and Others

+ * All rights reserved. This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License v1.0

+ * which accompanies this distribution, and is available at

+ * http://www.eclipse.org/legal/epl-v10.html

+ *

+ * Contributors:

+ *    Kentarou FUKUDA - initial API and implementation

+ *******************************************************************************/

+

+package org.eclipse.actf.visualization.engines.blind.html.util;

+

+import java.util.Vector;

+

+import org.eclipse.actf.model.dom.html.IErrorLogListener;

+import org.eclipse.actf.model.dom.html.IParserError;

+import org.eclipse.actf.visualization.eval.EvaluationUtil;

+import org.eclipse.actf.visualization.eval.problem.IProblemItem;

+import org.eclipse.actf.visualization.eval.problem.ProblemItemImpl;

+import org.eclipse.actf.visualization.util.html2view.Html2ViewMapData;

+

+/**

+ * Implementation of {@link IErrorLogListener} to correct HTML parse errors.

+ */

+public class HtmlErrorLogListener implements IErrorLogListener {

+

+	// TODO move to eval plugin (eval.html) (& move IErrorLogListener to

+	// common/util)

+

+	private boolean isNoDoctype = false;

+

+	private boolean isNonPublic = false;

+

+	private boolean isInvalidDoctype = false;

+

+	private Vector<IProblemItem> problemV = new Vector<IProblemItem>();

+

+	private String orgDoctype = ""; //$NON-NLS-1$

+

+	private boolean flag = true;

+

+	private int doctype_line = -1;

+

+	/*

+	 * (non-Javadoc)

+	 * 

+	 * @see org.eclipse.actf.model.dom.html.IErrorLogListener#errorLog(int,

+	 * java.lang.String)

+	 */

+	@SuppressWarnings("nls")

+	public void errorLog(int arg0, String arg1) {

+		if (arg0 != IParserError.ILLEGAL_ATTRIBUTE || arg1.indexOf(Html2ViewMapData.ACTF_ID) < 0) {

+			// TODO create HTML problems

+			switch (arg0) {

+			case IParserError.DOCTYPE_MISSED:

+				isNoDoctype = true;

+				break;

+			case IParserError.ILLEGAL_DOCTYPE:

+				if (arg1.indexOf("Invalid DOCTYPE declaration.") > -1) {

+					isNonPublic = true;

+				} else if (arg1.matches(".*Instead of \".*\" use \".*\" as a DTD.")) {

+					orgDoctype = arg1.substring(arg1.indexOf("\"") + 1);

+					orgDoctype = orgDoctype.substring(0, orgDoctype.indexOf("\""));

+					if (orgDoctype.matches(

+							"-//W3C//DTD XHTML ((1.0 (Strict|Transitional|Frameset))|1.1|Basic 1.0|Basic 1.1)//EN")) {

+						orgDoctype = "";

+					} else {

+						isInvalidDoctype = true;

+					}

+				} else if (arg1.matches(".*Instead of SYSTEM \".*\" use PUBLIC \".*\" as a DTD.")) {

+					orgDoctype = arg1.substring(arg1.indexOf("\"") + 1);

+					orgDoctype = orgDoctype.substring(0, orgDoctype.indexOf("\""));

+					if (orgDoctype.equalsIgnoreCase("about:legacy-compat")) {

+						orgDoctype = "";

+					} else {

+						isInvalidDoctype = true;

+					}

+				}

+				String tmpS[] = arg1.split(":"); //$NON-NLS-1$

+				if (tmpS.length > 0) {

+					try {

+						doctype_line = Integer.parseInt(tmpS[0].trim());

+					} catch (Exception e) {

+					}

+				}

+				break;

+			case IParserError.ILLEGAL_CHILD:

+				// TBD "li" case (C_1000.7)

+				// System.out.println(arg0+" : "+arg1);

+				if (arg1.matches(".*<head.*> must be before <body.*")) {

+					addHtmlProblem("C_1000.1", arg1);

+				} else if (arg1.matches(".*<html.*> is not allowed as a child of <.*")) {

+					addHtmlProblem("C_1000.2", arg1);

+				} else if (arg1.matches(".*<body.*> is not allowed as a child of <.*")) {

+					addHtmlProblem("C_1000.3", arg1);

+				} else if (arg1.matches(".*Order of <html.*>'s children is wrong.*")) {

+					addHtmlProblem("C_1000.5", arg1);

+				}

+				break;

+			case IParserError.BOM:

+				addHtmlProblem("C_1000.8", "");

+			default:

+			}

+		}

+	}

+

+	private void addHtmlProblem(String id, String target) {

+		IProblemItem tmpCP = new ProblemItemImpl(id);

+		int line = -1;

+		String tmpS[] = target.split(":"); //$NON-NLS-1$

+		if (tmpS.length > 0) {

+			try {

+				line = Integer.parseInt(tmpS[0].trim());

+			} catch (Exception e) {

+			}

+		}

+		if (line > -1) {

+			tmpCP.setLine(line);

+		}

+		problemV.add(tmpCP);

+	}

+

+	/**

+	 * @return true if there is no DOCTYPE declaration

+	 * @see IParserError#DOCTYPE_MISSED

+	 */

+	public boolean isNoDoctypeDeclaration() {

+		return (isNoDoctype || isNonPublic || isInvalidDoctype);

+	}

+

+	/**

+	 * @return true if the specified DOCTYPE is not public

+	 */

+	public boolean isNonPublicDoctype() {

+		return (isNonPublic);

+	}

+

+	/**

+	 * @return true if Invalid DOCTYPE declaration error is reported

+	 * @see IParserError#ILLEGAL_DOCTYPE

+	 */

+	public boolean isInvalidDoctype() {

+		return (isInvalidDoctype);

+	}

+

+	/**

+	 * Get DOCTYPE declaration that causes the Invalid DOCTYPE declaration error

+	 * 

+	 * @return DOCTYPE declaration

+	 */

+	public String getDeclaratedDoctype() {

+		return (orgDoctype);

+	}

+

+	/**

+	 * Get HTML parse errors as {@link Vector} of {@link IProblemItem}

+	 * 

+	 * @return HTML parse errors

+	 */

+	@SuppressWarnings("nls")

+	public Vector<IProblemItem> getHtmlProblemVector() {

+		if (flag) {

+			// (IE based LIVE DOM)->DOCTYPE was removed by IE

+			if (EvaluationUtil.isOriginalDOM() && isNoDoctypeDeclaration()) {

+				if (isInvalidDoctype() || isNonPublicDoctype()) {

+					IProblemItem item = new ProblemItemImpl("C_1000.6");

+					if (doctype_line > -1) {

+						item.setLine(doctype_line);

+					}

+					problemV.add(item);

+				} else {

+					problemV.add(new ProblemItemImpl("C_1000.7"));

+				}

+			}

+			flag = false;

+		}

+		return (problemV);

+	}

+}

diff --git a/plugins/org.eclipse.actf.visualization.engines.blind.html/src/org/eclipse/actf/visualization/internal/engines/blind/html/util/NodeInfoCreator.java b/plugins/org.eclipse.actf.visualization.engines.blind.html/src/org/eclipse/actf/visualization/internal/engines/blind/html/util/NodeInfoCreator.java
index 0e6440e..7abe3b0 100644
--- a/plugins/org.eclipse.actf.visualization.engines.blind.html/src/org/eclipse/actf/visualization/internal/engines/blind/html/util/NodeInfoCreator.java
+++ b/plugins/org.eclipse.actf.visualization.engines.blind.html/src/org/eclipse/actf/visualization/internal/engines/blind/html/util/NodeInfoCreator.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2008 IBM Corporation and Others
+ * Copyright (c) 2005, 2016 IBM Corporation and Others
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -35,8 +35,11 @@
 
 	private static final String LIST_TAGS = "ul|ol|dl"; //$NON-NLS-1$
 
-	private static final Set<String> BLOCK_TAG_SET = HtmlTagUtil
-			.getBlockElementSet();
+	private static final String LANDMARK_TAGS = "nav|main|article|aside"; //$NON-NLS-1$
+
+	private static final String HEADER_FOOTER_TAGS = "header|footer"; //$NON-NLS-1$
+
+	private static final Set<String> BLOCK_TAG_SET = HtmlTagUtil.getBlockElementSet();
 
 	private VisualizeMapDataImpl mapData;
 
@@ -51,8 +54,7 @@
 	/**
 	 * 
 	 */
-	public NodeInfoCreator(VisualizeMapDataImpl mapData,
-			TextChecker textChecker, List<IProblemItem> problems,
+	public NodeInfoCreator(VisualizeMapDataImpl mapData, TextChecker textChecker, List<IProblemItem> problems,
 			Set<String> invisibleIdSet, ParamBlind paramBlind) {
 		this.mapData = mapData;
 		this.textChecker = textChecker;
@@ -67,8 +69,7 @@
 			String nodeS = targetNode.getNodeName();
 			if (nodeS.equals("img") || nodeS.equals("applet")) {// AREA?
 				if (targetS.endsWith(".]")) {
-					targetS = targetS.substring(0, targetS.lastIndexOf(".]"))
-							+ "]";
+					targetS = targetS.substring(0, targetS.lastIndexOf(".]")) + "]";
 				}
 			}
 		}
@@ -84,8 +85,7 @@
 			return true;
 		} else if (tagName.equals("input")) {
 			String type = el.getAttribute("type").toLowerCase();
-			if ((type.length() == 0) | type.equals("text")
-					| type.equals("textarea") | type.equals("radio")
+			if ((type.length() == 0) | type.equals("text") | type.equals("textarea") | type.equals("radio")
 					| type.equals("checkbox")) {
 				return true;
 			}
@@ -135,12 +135,11 @@
 
 				// TODO consider ALT text ('['+alt+']')
 				// check inappropritate text
-				
+
 				if (textChecker.isSeparatedJapaneseChars(curText)) {
 					String nodeName = p.getNode().getNodeName();
-					if (!nodeName.matches("img|input|area")) {//already checked
-						BlindProblem prob = new BlindProblem(
-								IBlindProblem.WRONG_TEXT, curText);
+					if (!nodeName.matches("img|input|area")) {// already checked
+						BlindProblem prob = new BlindProblem(IBlindProblem.WRONG_TEXT, curText);
 						prob.setNode(p.getNode());
 						prob.setTargetNode(mapData.getOrigNode(p.getNode()));
 						problems.add(prob);
@@ -149,8 +148,7 @@
 
 				// check redundant texts
 				if ((prevPacket != null)
-						&& (p.getContext().isInsideAnchor() == prevPacket
-								.getContext().isInsideAnchor())) {
+						&& (p.getContext().isInsideAnchor() == prevPacket.getContext().isInsideAnchor())) {
 					Node curNode = p.getNode();
 					Node prevNode = prevPacket.getNode();
 
@@ -161,28 +159,23 @@
 
 						if (textChecker.isRedundantText(prevText, curText)) {
 							if (!HtmlTagUtil.hasAncestor(curNode, "noscript")
-									&& !HtmlTagUtil.hasAncestor(prevNode,
-											"noscript")) {
+									&& !HtmlTagUtil.hasAncestor(prevNode, "noscript")) {
 								// remove "." from error (comment from JIM)
 								prevText = removePeriod(prevText, prevNode);
 								curText = removePeriod(curText, curNode);
 
-								BlindProblem prob = new BlindProblem(
-										IBlindProblem.REDUNDANT_ALT, "\""
-												+ prevText + "\" & \""
-												+ curText + "\"");
+								BlindProblem prob = new BlindProblem(IBlindProblem.REDUNDANT_ALT,
+										"\"" + prevText + "\" & \"" + curText + "\"");
 								prob.setNode(prevNode);
 								prob.addNode(curNode);
 
 								// TODO insideAnchor -> check same target?
 								if (prevNode.getNodeName().equals("img")) {
-									prob.setTargetNode(mapData
-											.getOrigNode(prevNode));
+									prob.setTargetNode(mapData.getOrigNode(prevNode));
 									prob.setTargetStringForExport(prevText);
 									problems.add(prob);
 								} else if (curNode.getNodeName().equals("img")) {
-									prob.setTargetNode(mapData
-											.getOrigNode(curNode));
+									prob.setTargetNode(mapData.getOrigNode(curNode));
 									prob.setTargetStringForExport(curText);
 									problems.add(prob);
 								} else {
@@ -233,9 +226,7 @@
 						info.appendComment("Table header.");
 					} else if (nodeName.equals("label")) {
 						info.setLabel(true);
-						info.appendComment("Label for '"
-								+ ((Element) curNode).getAttribute("for")
-								+ "'. ");
+						info.appendComment("Label for '" + ((Element) curNode).getAttribute("for") + "'. ");
 					}
 
 					if (nodeName.equals("body")) {
@@ -274,7 +265,6 @@
 	}
 
 	@SuppressWarnings("nls")
-	// TODO
 	public void createAdditionalNodeInfo(Document doc) {
 		// create elementList
 		// set node info ID
@@ -305,8 +295,7 @@
 
 				while ((curNode != null) && (stack.size() > 0)) {
 					String curNodeName = curNode.getNodeName();
-					VisualizationNodeInfo curInfo = mapData
-							.getNodeInfo(curNode);
+					VisualizationNodeInfo curInfo = mapData.getNodeInfo(curNode);
 
 					if (curNode.getNodeType() == Node.TEXT_NODE) {
 						// add text nodes involved in the PacketCollection.
@@ -346,17 +335,32 @@
 
 						if (curNodeName.equals("img")) {
 							// TODO handle invisible map
-							String map = ((Element) curNode)
-									.getAttribute("usemap");
+							String map = ((Element) curNode).getAttribute("usemap");
 							if ((map != null) && (map.length() > 0)) {
 								int words = curInfo.getWords();
-								String curText = mapTextMap.get(map
-										.toLowerCase().substring(1));
+								String curText = mapTextMap.get(map.toLowerCase().substring(1));
 								int add = textCounter.getWordCount(curText);
 								curInfo.setWords(words + add);
 								curInfo.setLines(curInfo.getLines() + 1);
 							}
 						}
+
+						if (curNodeName.matches(LANDMARK_TAGS)) {
+							curInfo.setLandmark(true);
+							curInfo.appendComment("Landmark: " + curNodeName + ".");
+							// System.out.println("Landmark: " + curNodeName +
+							// ".");
+						} else if (curNodeName.matches(HEADER_FOOTER_TAGS)) {
+							if (!HtmlTagUtil.hasAncestor(curNode, "article")
+									&& !HtmlTagUtil.hasAncestor(curNode, "section")) {
+								curInfo.setLandmark(true);
+								curInfo.appendComment(
+										"Landmark: " + curNodeName + " without ancestor article/section.");
+								// System.out.println("Landmark: " + curNodeName
+								// + " without ancestor article/section.");
+							}
+						}
+
 					}
 
 					if (curInfo != null) {
@@ -377,14 +381,12 @@
 						if (curNode.getNodeType() == Node.ELEMENT_NODE) {
 							if (isIdRequiredInput((Element) curNode)) {
 								curInfo.setIdRequiredInput(true);
-								curInfo.appendComment("Input with id, '"
-										+ ((Element) curNode)
-												.getAttribute("id") + "'. ");
+								curInfo.appendComment(
+										"Input with id, '" + ((Element) curNode).getAttribute("id") + "'. ");
 							}
 						}
 
-						mapData.addNodeIdMapping(curInfo.getNode(),
-								new Integer(curInfo.getId()));
+						mapData.addNodeIdMapping(curInfo.getNode(), new Integer(curInfo.getId()));
 
 					}
 
diff --git a/plugins/org.eclipse.actf.visualization.engines.blind.html/src/org/eclipse/actf/visualization/internal/engines/blind/html/util/VisualizationNodeInfo.java b/plugins/org.eclipse.actf.visualization.engines.blind.html/src/org/eclipse/actf/visualization/internal/engines/blind/html/util/VisualizationNodeInfo.java
index ecfa175..0d2debc 100644
--- a/plugins/org.eclipse.actf.visualization.engines.blind.html/src/org/eclipse/actf/visualization/internal/engines/blind/html/util/VisualizationNodeInfo.java
+++ b/plugins/org.eclipse.actf.visualization.engines.blind.html/src/org/eclipse/actf/visualization/internal/engines/blind/html/util/VisualizationNodeInfo.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2004, 2008 IBM Corporation and Others
+ * Copyright (c) 2004, 2016 IBM Corporation and Others
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -16,6 +16,10 @@
 import org.w3c.dom.Node;
 
 
+/**
+ * @author kentarou
+ *
+ */
 public class VisualizationNodeInfo {
 
 	//separated from VisualizeEngine
@@ -43,8 +47,10 @@
     private Node node = null; // only when packet is null
 
     private boolean isHeading = false;
+    
+    private boolean isLandmark = false; //for html5
 
-    private boolean tableHeader = false;
+	private boolean tableHeader = false;
 
     private boolean isLabel = false;
 
@@ -308,7 +314,7 @@
     }
 
     /**
-     * Returns the headingOrListitem.
+     * Returns the heading.
      * 
      * @return boolean
      */
@@ -317,16 +323,31 @@
     }
 
     /**
-     * Sets the headingOrListitem.
+     * Sets the heading.
      * 
-     * @param headingOrListitem
-     *            The headingOrListitem to set
+     * @param heading
+     *            The heading to set
      */
-    public void setHeading(boolean headingOrListitem) {
-        this.isHeading = headingOrListitem;
+    public void setHeading(boolean heading) {
+        this.isHeading = heading;
     }
 
     /**
+     * @return
+     */
+    public boolean isLandmark() {
+		return isLandmark;
+	}
+
+	/**
+	 * @param isLandmark
+	 */
+	public void setLandmark(boolean isLandmark) {
+		this.isLandmark = isLandmark;
+	}
+
+    
+    /**
      * Returns the time.
      * 
      * @return int
diff --git a/plugins/org.eclipse.actf.visualization.engines.blind.html/src/org/eclipse/actf/visualization/internal/engines/blind/html/util/VisualizeColorUtil.java b/plugins/org.eclipse.actf.visualization.engines.blind.html/src/org/eclipse/actf/visualization/internal/engines/blind/html/util/VisualizeColorUtil.java
index 9cde2a3..dfa5d30 100644
--- a/plugins/org.eclipse.actf.visualization.engines.blind.html/src/org/eclipse/actf/visualization/internal/engines/blind/html/util/VisualizeColorUtil.java
+++ b/plugins/org.eclipse.actf.visualization.engines.blind.html/src/org/eclipse/actf/visualization/internal/engines/blind/html/util/VisualizeColorUtil.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2004, 2008 IBM Corporation and Others
+ * Copyright (c) 2004, 2016 IBM Corporation and Others
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -40,6 +40,8 @@
 
 	private ParamBlind param;
 
+	private boolean isHTML5;
+
 	/**
 	 * @param result
 	 * @param mapData
@@ -47,13 +49,13 @@
 	 * @param linkMap
 	 * @param param
 	 */
-	public VisualizeColorUtil(Document result, VisualizeMapDataImpl mapData,
-			ParamBlind param) {
+	public VisualizeColorUtil(Document result, VisualizeMapDataImpl mapData, ParamBlind param, boolean isHTML5) {
 		this.result = result;
 		this.mapData = mapData;
 		this.nodeInfoList = mapData.getNodeInfoList();
 		this.linkMap = mapData.getIntraPageLinkMap();
 		this.param = param;
+		this.isHTML5 = isHTML5;
 	}
 
 	public void setColorAll() {
@@ -91,8 +93,7 @@
 				styleEl.setAttribute("type", "text/css");
 				strRGB = getRGBString(param.tableBorderColor, "#000000");
 				Comment comment = result
-						.createComment("td {border-width: 1px; border-style: dashed; border-color: "
-								+ strRGB + "}");
+						.createComment("td {border-width: 1px; border-style: dashed; border-color: " + strRGB + "}");
 				styleEl.appendChild(comment);
 				headEl.appendChild(styleEl);
 
@@ -131,14 +132,12 @@
 				}
 
 			} else {
-				DebugPrintUtil
-						.devOrDebugPrintln("VisualizeColorUtil: unknown node in the nodeList"); //$NON-NLS-1$
+				DebugPrintUtil.devOrDebugPrintln("VisualizeColorUtil: unknown node in the nodeList"); //$NON-NLS-1$
 				continue;
 			}
 
 			if (param.bColorizeTags
-					&& (info.isHeading() | info.isTableHeader()
-							| info.isLabel() | info.isIdRequiredInput())) {
+					&& (info.isHeading() | info.isTableHeader() | info.isLabel() | info.isIdRequiredInput())) {
 				if (info.isHeading()) {
 					strRGB = getRGBString(param.headingTagsColor, "#33CCFF");
 				}
@@ -151,9 +150,7 @@
 				if (info.isIdRequiredInput()) {
 					strRGB = getRGBString(param.inputTagsColor, "#FF9900");
 				}
-				el.setAttribute("style",
-						"color: black; background-image: none; background-color:"
-								+ strRGB);// +
+				el.setAttribute("style", "color: black; background-image: none; background-color:" + strRGB);// +
 				// "}");
 				// } else if (info.getWords() > 0) {
 			} else {
@@ -161,31 +158,25 @@
 				if (time == 0) {
 					switch (param.iLanguage) {
 					case 1: // japanese
-						time = calcTimeJp(info.getTotalWords(), info
-								.getTotalLines());
+						time = calcTimeJp(info.getTotalWords(), info.getTotalLines());
 						break;
 					default: // english
-						time = calcTime(info.getTotalWords(), info
-								.getTotalLines());
+						time = calcTime(info.getTotalWords(), info.getTotalLines());
 						break;
 					}
 					info.setTime(time);
 				}
 
 				if (param.bVisualizeTime == true) {
-					el.setAttribute("style",
-							"color: black; background-image: none; background-color: #"
-									+ calcColor(time, param.maxTimeColor,
-											param.iMaxTime));
+					el.setAttribute("style", "color: black; background-image: none; background-color: #"
+							+ calcColor(time, param.maxTimeColor, param.iMaxTime));
 
 				} else {
-					el
-							.setAttribute("style",
-									"color: black; background-image: none; background-color: transparent");
+					el.setAttribute("style", "color: black; background-image: none; background-color: transparent");
 				}
 			} /*
-			 * else { }
-			 */
+				 * else { }
+				 */
 			/*
 			 * el.setAttribute( "comment", info.getPacketId() + "," +
 			 * info.getId() + "," + info.getTotalWords() + "," + info.getWords()
@@ -200,28 +191,22 @@
 		double maxTimeD = maxTime;
 
 		if (time >= maxTime) {
-			java.awt.Color color = new java.awt.Color(rgb.red, rgb.green,
-					rgb.blue);
+			java.awt.Color color = new java.awt.Color(rgb.red, rgb.green, rgb.blue);
 			return Integer.toHexString(color.getRGB()).substring(2);
 		} else {
 
-			int colorValueR = (int) (255.0 - (timeD / maxTimeD)
-					* (255.0 - rgb.red));
-			int colorValueG = (int) (255.0 - (timeD / maxTimeD)
-					* (255.0 - rgb.green));
-			int colorValueB = (int) (255.0 - (timeD / maxTimeD)
-					* (255.0 - rgb.blue));
+			int colorValueR = (int) (255.0 - (timeD / maxTimeD) * (255.0 - rgb.red));
+			int colorValueG = (int) (255.0 - (timeD / maxTimeD) * (255.0 - rgb.green));
+			int colorValueB = (int) (255.0 - (timeD / maxTimeD) * (255.0 - rgb.blue));
 
-			java.awt.Color color = new java.awt.Color(colorValueR, colorValueG,
-					colorValueB);
+			java.awt.Color color = new java.awt.Color(colorValueR, colorValueG, colorValueB);
 			return Integer.toHexString(color.getRGB()).substring(2);
 		}
 	}
 
 	private String getRGBString(RGB target, String defaultValue) {
 		if (target != null) {
-			return ("rgb(" + target.red + "," + target.green + ","
-					+ target.blue + ")");
+			return ("rgb(" + target.red + "," + target.green + "," + target.blue + ")");
 		}
 		return (defaultValue);
 	}
@@ -230,6 +215,7 @@
 		// TODO consider combination of skip nav and Headings
 
 		int headingCount = 0;
+		int landmarkCount = 0;
 
 		int curTotalWords = 0;
 		int curTotalLines = 0;
@@ -238,7 +224,31 @@
 		for (int i = 0; i < size; i++) {
 			VisualizationNodeInfo curInfo = nodeInfoList.get(i);
 
-			if (curInfo.isHeading()) {
+			if (isHTML5 && curInfo.isLandmark()) {
+				landmarkCount++;
+
+				int words = wordcountForLandmark(landmarkCount);
+				if (calcTime(curTotalWords, curTotalLines) >= calcTime(words, 0)) {
+					curTotalWords = words;
+					curTotalLines = 0;
+				}
+
+				// TODO enable after NVDA support navigation key for "main"
+				// if (curInfo.getNode().getNodeName().equalsIgnoreCase("main"))
+				// {
+				// // some screen readers has navigation key (JAWS: "q") for
+				// "main"
+				// curTotalWords = 0;
+				// curTotalLines = 0;
+				// }
+
+				curInfo.setTotalWords(curTotalWords);
+				curInfo.setTotalLines(curTotalLines);
+
+				curTotalWords += curInfo.getWords();
+				curTotalLines += curInfo.getLines();
+
+			} else if (curInfo.isHeading()) {
 				if (curInfo.getNode().getNodeName().matches("h[1-6]")) {
 					headingCount++;
 				}
@@ -248,8 +258,7 @@
 				// System.out.println(headingCount+": "+curTotalWords+"
 				// "+tmpTotalWords+" "+curInfo.getTotalWords()+"
 				// "+curInfo.getWords());
-				if (calcTime(curTotalWords, curTotalLines) >= calcTime(
-						tmpTotalWords, 0)) {
+				if (calcTime(curTotalWords, curTotalLines) >= calcTime(tmpTotalWords, 0)) {
 					curTotalWords = tmpTotalWords;
 					curTotalLines = 0;
 				}
@@ -262,8 +271,8 @@
 
 			} else {
 
-				if (calcTime(curInfo.getTotalWords(), curInfo.getTotalLines()) > calcTime(
-						curTotalWords, curTotalLines)) {
+				if (calcTime(curInfo.getTotalWords(), curInfo.getTotalLines()) > calcTime(curTotalWords,
+						curTotalLines)) {
 					curInfo.setTotalWords(curTotalWords);
 					curInfo.setTotalLines(curTotalLines);
 
@@ -272,10 +281,8 @@
 
 				} else {
 
-					curTotalWords = curInfo.getTotalWords()
-							+ curInfo.getWords();
-					curTotalLines = curInfo.getTotalLines()
-							+ curInfo.getLines();
+					curTotalWords = curInfo.getTotalWords() + curInfo.getWords();
+					curTotalLines = curInfo.getTotalLines() + curInfo.getLines();
 
 				}
 			}
@@ -287,8 +294,7 @@
 		for (int i = 0; i < size; i++) {
 			VisualizationNodeInfo curInfo = nodeInfoList.get(i);
 
-			int time = calcTime(curInfo.getTotalWords(), curInfo
-					.getTotalLines());
+			int time = calcTime(curInfo.getTotalWords(), curInfo.getTotalLines());
 
 			curInfo.setTime(time);
 			if (curInfo.getNode().getNodeName().matches("h[1-6]")) {
@@ -302,8 +308,7 @@
 		for (int i = 0; i < size; i++) {
 			VisualizationNodeInfo curInfo = nodeInfoList.get(i);
 
-			int time = calcTime(curInfo.getOrgTotalWords(), curInfo
-					.getOrgTotalLines());
+			int time = calcTime(curInfo.getOrgTotalWords(), curInfo.getOrgTotalLines());
 
 			curInfo.setOrgTime(time);
 		}
@@ -314,8 +319,7 @@
 			Node parent = target.getParentNode();
 			while (parent != null) {
 				if (parent.getFirstChild() == target) {
-					VisualizationNodeInfo nodeInfo = mapData
-							.getNodeInfo(parent);
+					VisualizationNodeInfo nodeInfo = mapData.getNodeInfo(parent);
 					if (nodeInfo != null && nodeInfo.getTime() > time) {
 						nodeInfo.setTime(time);
 					}
@@ -328,17 +332,13 @@
 		}
 	}
 
-	private void replaceParentInfoWord(Node target, int word, int line,
-			int newTime) {
+	private void replaceParentInfoWord(Node target, int word, int line, int newTime) {
 		if (target != null) {
 			Node parent = target.getParentNode();
 			while (parent != null) {
 				if (parent.getFirstChild() == target) {
-					VisualizationNodeInfo nodeInfo = mapData
-							.getNodeInfo(parent);
-					if (nodeInfo != null
-							&& calcTime(nodeInfo.getTotalWords(), nodeInfo
-									.getTotalLines()) > newTime) {
+					VisualizationNodeInfo nodeInfo = mapData.getNodeInfo(parent);
+					if (nodeInfo != null && calcTime(nodeInfo.getTotalWords(), nodeInfo.getTotalLines()) > newTime) {
 						nodeInfo.setTotalWords(word);
 						nodeInfo.setTotalLines(line);
 					}
@@ -373,21 +373,18 @@
 
 			VisualizationNodeInfo fromInfo = nodeInfoList.get(fromId);
 			if (fromInfo.getNode() != fromNode) {
-				DebugPrintUtil.devOrDebugPrintln("from node does not exists: "
-						+ fromId + " " + fromNode);
+				DebugPrintUtil.devOrDebugPrintln("from node does not exists: " + fromId + " " + fromNode);
 				continue;
 			}
 			VisualizationNodeInfo toInfo = nodeInfoList.get(toId);
 			if (toInfo.getNode() != toNode) {
-				DebugPrintUtil.devOrDebugPrintln("to node does not exists: "
-						+ toId + " " + toNode);
+				DebugPrintUtil.devOrDebugPrintln("to node does not exists: " + toId + " " + toNode);
 				continue;
 			}
 
 			VisualizationNodeInfo curInfo = toInfo;
 			int curId = toId;
-			int curTotalWords = fromInfo.getTotalWords()
-					+ getWordcountFor2sec();
+			int curTotalWords = fromInfo.getTotalWords() + getWordcountFor2sec();
 			int curTotalLines = fromInfo.getTotalLines();
 			int newTime = calcTime(curTotalWords, curTotalLines);
 
@@ -396,8 +393,7 @@
 				curInfo.setTotalWords(curTotalWords);
 				curInfo.setTotalLines(curTotalLines);
 
-				replaceParentInfoWord(curInfo.getNode(), curTotalWords,
-						curTotalLines, newTime);
+				replaceParentInfoWord(curInfo.getNode(), curTotalWords, curTotalLines, newTime);
 
 				// elements after intra page link
 				curId++;
@@ -435,14 +431,26 @@
 		return (int) ((words * WORD_JP) + (lines * (0.6)));
 	}
 
-	private int wordcountForHeading(int headingNumber) {
+	private int wordcountForLandmark(int landmarkNumber) {
 		switch (param.iLanguage) {
 		case ParamBlind.EN:
-			return 6 * (headingNumber - 1) + 15;
+			return 3 * landmarkNumber + 9;
 		case ParamBlind.JP:
-			return 13 * (headingNumber - 1) + 31;
+			return (int) Math.round(6.5 * landmarkNumber) + 18;
 		default:
-			return 6 * (headingNumber - 1) + 15;
+			return 3 * landmarkNumber + 9;
+		}
+	}
+
+	private int wordcountForHeading(int headingNumber) {
+		// use 1 sec for each landmark (text is shorter than headings)
+		switch (param.iLanguage) {
+		case ParamBlind.EN:
+			return 6 * headingNumber + 9;
+		case ParamBlind.JP:
+			return 13 * headingNumber + 18;
+		default:
+			return 6 * headingNumber + 9;
 		}
 
 	}
diff --git a/plugins/org.eclipse.actf.visualization.engines.blind.html/src/org/eclipse/actf/visualization/internal/engines/blind/html/util/VisualizeViewUtil.java b/plugins/org.eclipse.actf.visualization.engines.blind.html/src/org/eclipse/actf/visualization/internal/engines/blind/html/util/VisualizeViewUtil.java
index 1541ce5..e8a62db 100644
--- a/plugins/org.eclipse.actf.visualization.engines.blind.html/src/org/eclipse/actf/visualization/internal/engines/blind/html/util/VisualizeViewUtil.java
+++ b/plugins/org.eclipse.actf.visualization.engines.blind.html/src/org/eclipse/actf/visualization/internal/engines/blind/html/util/VisualizeViewUtil.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2004, 2008 IBM Corporation and Others
+ * Copyright (c) 2004, 2016 IBM Corporation and Others
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -27,6 +27,7 @@
 import org.eclipse.actf.visualization.engines.blind.html.VisualizeEngine;
 import org.eclipse.actf.visualization.engines.voicebrowser.IPacket;
 import org.eclipse.actf.visualization.engines.voicebrowser.IPacketCollection;
+import org.eclipse.actf.visualization.eval.html.HtmlTagUtil;
 import org.eclipse.actf.visualization.eval.problem.HighlightTargetId;
 import org.eclipse.actf.visualization.eval.problem.IProblemItem;
 import org.eclipse.actf.visualization.internal.engines.blind.html.BlindProblem;
@@ -57,12 +58,11 @@
 	private static final String SRC = "src"; //$NON-NLS-1$
 
 	@SuppressWarnings("nls")
-	public static File prepareActions(Document result,
-			VisualizeMapDataImpl mapData, String baseUrl, boolean servletMode) {
+	public static File prepareActions(Document result, VisualizeMapDataImpl mapData, String baseUrl,
+			boolean servletMode) {
 
 		Map<Node, Node> linkMap = mapData.getIntraPageLinkMap();
-		List<VisualizationNodeInfo> targetElementList = mapData
-				.getNodeInfoList();
+		List<VisualizationNodeInfo> targetElementList = mapData.getNodeInfoList();
 
 		NodeList bodyEl = result.getElementsByTagName(BODY);
 
@@ -79,8 +79,7 @@
 			if (tmpN != null) {
 				tmpN.appendChild(result.createElement(BODY));
 			} else {
-				DebugPrintUtil
-						.devOrDebugPrintln("VisualizeViewUtil: no doc element");
+				DebugPrintUtil.devOrDebugPrintln("VisualizeViewUtil: no doc element");
 				// TODO test
 				return null;
 			}
@@ -88,8 +87,7 @@
 
 		// div for arrow
 		Element div = result.createElement(DIV);
-		div.setAttribute(STYLE,
-				"position:absolute;pixelLeft= 10;pixelTop=10; color:red;font-size=12pt");
+		div.setAttribute(STYLE, "position:absolute;pixelLeft= 10;pixelTop=10; color:red;font-size=12pt");
 		div.setAttribute(ID, "test");
 
 		// bodyEl.item(bodyEl.getLength() - 1).appendChild(div);
@@ -111,15 +109,12 @@
 			}
 		}
 
-		return (createScriptFile(result, targetElementList, baseUrl,
-				servletMode));
+		return (createScriptFile(result, targetElementList, baseUrl, servletMode));
 
 	}
 
 	@SuppressWarnings("nls")
-	// TODO
-	private static void insertLinkIcon(Document doc, Map<Node, Node> linkMap,
-			String baseUrl) {
+	private static void insertLinkIcon(Document doc, Map<Node, Node> linkMap, String baseUrl) {
 		Iterator<Node> it = linkMap.keySet().iterator();
 		Set<String> alreadySet = new HashSet<String>();
 		int id = 0;
@@ -144,8 +139,7 @@
 
 				Element imgel2 = doc.createElement(IMG);
 				imgel2.setAttribute(ALT, "Intra-page link destination: " + href);
-				imgel2.setAttribute(TITLE, "Intra-page link destination: "
-						+ href);
+				imgel2.setAttribute(TITLE, "Intra-page link destination: " + href);
 				imgel2.setAttribute(SRC, baseUrl + "img/dest.gif");
 				imgel2.setAttribute(NAME, href);
 
@@ -160,13 +154,77 @@
 		}
 	}
 
+	private static void addLandmarkImg(Document doc, Element target, String baseUrl) {
+		Element imgel1 = doc.createElement(IMG);
+		String name = target.getTagName().toLowerCase();
+		imgel1.setAttribute(ALT, "Landmark: " + name);
+		// imgel1.setAttribute(TITLE, name);
+		imgel1.setAttribute(SRC, baseUrl + "img/" + name + ".gif");
+
+		if (target.hasChildNodes()) {
+			target.insertBefore(imgel1, target.getFirstChild());
+		} else {
+			target.appendChild(imgel1);
+		}
+	}
+
+	public static void visualizeLandmark(Document doc, String baseUrl) {
+		String[] landmarks = { "nav", "article", "aside" };
+
+		NodeList tmpNl = doc.getElementsByTagName("main");
+		for (int i = 0; i < tmpNl.getLength(); i++) {
+			Element landE = (Element) tmpNl.item(i);
+			addLandmarkImg(doc, landE, baseUrl);
+
+			try {
+				Element parentE = (Element) landE.getParentNode();
+				Element divE = doc.createElement("div");
+				divE.setAttribute("class", "main");
+				parentE.insertBefore(divE, landE);
+				divE.appendChild(landE);
+			} catch (Exception e) {
+			}
+		}
+
+		for (String tag : landmarks) {
+			tmpNl = doc.getElementsByTagName(tag);
+			for (int i = 0; i < tmpNl.getLength(); i++) {
+				Element landE = (Element) tmpNl.item(i);
+				addLandmarkImg(doc, landE, baseUrl);
+			}
+		}
+
+		for (String tag : new String[] { "header", "footer" }) {
+			tmpNl = doc.getElementsByTagName(tag);
+			for (int i = 0; i < tmpNl.getLength(); i++) {
+				Element landE = (Element) tmpNl.item(i);
+				if (!HtmlTagUtil.hasAncestor(landE, "article") && !HtmlTagUtil.hasAncestor(landE, "section")) {
+					landE.setAttribute("class", "header_footer");
+					addLandmarkImg(doc, landE, baseUrl);
+				}
+			}
+		}
+
+		NodeList nl = doc.getElementsByTagName("head");
+		if (nl.getLength() > 0) {
+			Element el = (Element) nl.item(0);
+
+			Element cssE = doc.createElement("link");
+			cssE.setAttribute("rel", "stylesheet");
+			cssE.setAttribute("type", "text/css");
+			cssE.setAttribute("href", "img/visualization.css");
+			cssE.setAttribute("media", "all");
+			el.appendChild(cssE);
+		}
+
+	}
+
 	@SuppressWarnings("nls")
 	// TODO
 	private static void insertControlPane(Document result) {
 		NodeList bodyEl = result.getElementsByTagName(BODY);
 		Element div = result.createElement(DIV);
-		div.setAttribute(
-				STYLE,
+		div.setAttribute(STYLE,
 				"position:absolute;font-size: medium; background-color: #FFFFFF; border-color: #333333 #000000 #000000; padding-top: 5px; padding-right: 5px; padding-bottom: 5px; padding-left: 5px; border-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px");
 		div.setAttribute(ID, "control_pane");
 
@@ -204,16 +262,13 @@
 	}
 
 	@SuppressWarnings("nls")
-	private static File createScriptFile(Document result,
-			List<VisualizationNodeInfo> elementList, String baseUrl,
+	private static File createScriptFile(Document result, List<VisualizationNodeInfo> elementList, String baseUrl,
 			boolean servletMode) {
 		try {
 			PrintWriter pw;
 
-			File valiantFile = BlindVizResourceUtil.createTempFile("variant",
-					".js");
-			pw = new PrintWriter(new OutputStreamWriter(new FileOutputStream(
-					valiantFile), "UTF-8"));
+			File valiantFile = BlindVizResourceUtil.createTempFile("variant", ".js");
+			pw = new PrintWriter(new OutputStreamWriter(new FileOutputStream(valiantFile), "UTF-8"));
 
 			StringBuffer sb = new StringBuffer();
 			sb.append("var id2time = new Array();");
@@ -252,8 +307,7 @@
 
 			}
 
-			String tmpS = sb.toString().replaceAll("\n", NULL_STRING)
-					.replaceAll("\r", NULL_STRING);
+			String tmpS = sb.toString().replaceAll("\n", NULL_STRING).replaceAll("\r", NULL_STRING);
 			pw.write(tmpS);
 
 			sb = new StringBuffer();
@@ -290,8 +344,7 @@
 			}
 
 			Element div = result.createElement(DIV);
-			div.setAttribute(
-					STYLE,
+			div.setAttribute(STYLE,
 					"position:absolute;font-size: medium; background-color: #FFFFFF; border-color: #333333 #000000 #000000; padding-top: 5px; padding-right: 5px; padding-bottom: 5px; padding-left: 5px; border-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px");
 			div.setAttribute(ID, "balloon");
 
@@ -313,8 +366,7 @@
 		return null;
 	}
 
-	public static void visualizeError(Document doc,
-			List<IProblemItem> problems, VisualizeMapDataImpl mapData,
+	public static void visualizeError(Document doc, List<IProblemItem> problems, VisualizeMapDataImpl mapData,
 			String baseUrlS) {
 		int size = problems.size();
 
@@ -341,8 +393,7 @@
 			VisualizationNodeInfo info = mapData.getNodeInfo(node);
 			if (info != null) {
 				if (IBlindProblem.WRONG_NBSP_ALT_IMG == prob.getSubType()) {
-					info.appendComment(prob.getDescription().replaceAll("&",
-							"&amp;"));
+					info.appendComment(prob.getDescription().replaceAll("&", "&amp;"));
 				} else {
 					info.appendComment(prob.getDescription());
 				}
@@ -370,8 +421,7 @@
 				if (replacement != null) {
 					el = (Element) replacement;
 				}
-				Element img = createErrorImageElement(node, prob, idObj,
-						baseUrlS);
+				Element img = createErrorImageElement(node, prob, idObj, baseUrlS);
 				el.appendChild(img);
 				break;
 			case IBlindProblem.REDUNDANT_ALT:
@@ -409,14 +459,12 @@
 			case IBlindProblem.INVISIBLE_INTRAPAGE_LINK:
 			case IBlindProblem.WRONG_SKIP_LINK_TITLE:
 				Element element = (Element) node;
-				Element image = createErrorImageElement(element, prob, idObj,
-						baseUrlS);
+				Element image = createErrorImageElement(element, prob, idObj, baseUrlS);
 				element.appendChild(image);
 				break;
 			case IBlindProblem.WRONG_TEXT:
 				// Node node = prob.getNode();
-				Element image2 = createErrorImageElement(node, prob, idObj,
-						baseUrlS);
+				Element image2 = createErrorImageElement(node, prob, idObj, baseUrlS);
 				if (node.getNodeType() == Node.ELEMENT_NODE) {
 					node.appendChild(image2);
 				} else {
@@ -425,8 +473,7 @@
 				break;
 			case IBlindProblem.NO_VALUE_INPUT_BUTTON:
 			case IBlindProblem.SEPARATE_DBCS_INPUT_VALUE:
-				Element image3 = createErrorImageElement(node, prob, idObj,
-						baseUrlS);
+				Element image3 = createErrorImageElement(node, prob, idObj, baseUrlS);
 				node.getParentNode().insertBefore(image3, node);
 				break;
 
@@ -436,25 +483,21 @@
 	}
 
 	@SuppressWarnings("nls")
-	private static Element createErrorImageElement(Node target,
-			IProblemItem prob, Integer idObj, String baseUrlS) {
+	private static Element createErrorImageElement(Node target, IProblemItem prob, Integer idObj, String baseUrlS) {
 		Element img = target.getOwnerDocument().createElement(IMG);
 		img.setAttribute(ALT, "error icon");
 		if (IBlindProblem.WRONG_NBSP_ALT_IMG == prob.getSubType()) {
-			img.setAttribute(TITLE,
-					prob.getDescription().replaceAll("&", "&amp;"));
+			img.setAttribute(TITLE, prob.getDescription().replaceAll("&", "&amp;"));
 		} else {
 			img.setAttribute(TITLE, prob.getDescription());
 		}
 		img.setAttribute("onmouseover", "updateBaloon('id" + idObj + "');");
-		img.setAttribute(SRC, baseUrlS + "img/"
-				+ VisualizeEngine.ERROR_ICON_NAME);
+		img.setAttribute(SRC, baseUrlS + "img/" + VisualizeEngine.ERROR_ICON_NAME);
 		return (img);
 	}
 
 	@SuppressWarnings("nls")
-	public static Document returnTextView(Document result,
-			IPacketCollection allPc, String baseUrl) {
+	public static Document returnTextView(Document result, IPacketCollection allPc, String baseUrl) {
 		NodeList bodyNl = result.getElementsByTagName(BODY);
 
 		// TODO remove second Body, script, etc.
@@ -483,8 +526,7 @@
 					bodyEl.appendChild(spanEl);
 
 					if (insideLink)
-						spanEl.setAttribute(STYLE,
-								"text-decoration: underline;");
+						spanEl.setAttribute(STYLE, "text-decoration: underline;");
 					brFlag = false;
 				}
 				if (p.getContext().isLineDelimiter()) {
diff --git a/plugins/org.eclipse.actf.visualization.engines.blind/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.actf.visualization.engines.blind/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..6028f82
--- /dev/null
+++ b/plugins/org.eclipse.actf.visualization.engines.blind/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1

+encoding/vizResources=UTF-8

diff --git a/plugins/org.eclipse.actf.visualization.engines.blind/src/org/eclipse/actf/visualization/engines/blind/BlindVizResourceUtil.java b/plugins/org.eclipse.actf.visualization.engines.blind/src/org/eclipse/actf/visualization/engines/blind/BlindVizResourceUtil.java
index c99f531..1359af1 100644
--- a/plugins/org.eclipse.actf.visualization.engines.blind/src/org/eclipse/actf/visualization/engines/blind/BlindVizResourceUtil.java
+++ b/plugins/org.eclipse.actf.visualization.engines.blind/src/org/eclipse/actf/visualization/engines/blind/BlindVizResourceUtil.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and Others
+ * Copyright (c) 2007, 2016 IBM Corporation and Others
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -36,66 +36,42 @@
 	public static void saveImages(String path) {
 		Bundle bundleChecker = Platform.getBundle(EvaluationUtil.PLUGIN_ID);
 
-		FileUtils.copyFile(bundleChecker, new Path("icons/Err.png"), path
-				+ "Err.png", true);
-		FileUtils.copyFile(bundleChecker, new Path("icons/Warn.png"), path
-				+ "Warn.png", true);
-		FileUtils.copyFile(bundleChecker, new Path("icons/Conf.png"), path
-				+ "Conf.png", true);
-		FileUtils.copyFile(bundleChecker, new Path("icons/Info.png"), path
-				+ "Info.png", true);
-		FileUtils.copyFile(bundleChecker, new Path("icons/star.gif"), path
-				+ "star.gif", true);
+		FileUtils.copyFile(bundleChecker, new Path("icons/Err.png"), path + "Err.png", true);
+		FileUtils.copyFile(bundleChecker, new Path("icons/Warn.png"), path + "Warn.png", true);
+		FileUtils.copyFile(bundleChecker, new Path("icons/Conf.png"), path + "Conf.png", true);
+		FileUtils.copyFile(bundleChecker, new Path("icons/Info.png"), path + "Info.png", true);
+		FileUtils.copyFile(bundleChecker, new Path("icons/star.gif"), path + "star.gif", true);
 
-		FileUtils.copyFile(bundleChecker, new Path("icons/rating/Bad.png"),
-				path + "Bad.png", true);
-		FileUtils.copyFile(bundleChecker, new Path("icons/rating/Good.png"),
-				path + "Good.png", true);
-		FileUtils.copyFile(bundleChecker, new Path("icons/rating/Poor.png"),
-				path + "Poor.png", true);
-		FileUtils.copyFile(bundleChecker,
-				new Path("icons/rating/VeryGood.png"), path + "VeryGood.png",
-				true);
+		FileUtils.copyFile(bundleChecker, new Path("icons/rating/Bad.png"), path + "Bad.png", true);
+		FileUtils.copyFile(bundleChecker, new Path("icons/rating/Good.png"), path + "Good.png", true);
+		FileUtils.copyFile(bundleChecker, new Path("icons/rating/Poor.png"), path + "Poor.png", true);
+		FileUtils.copyFile(bundleChecker, new Path("icons/rating/VeryGood.png"), path + "VeryGood.png", true);
 
 		Bundle bundleBlind = Platform.getBundle(BlindVizEnginePlugin.PLUGIN_ID);
 
-		FileUtils.copyFile(bundleBlind, new Path(
-				"vizResources/images/clear.gif"), path + "clear.gif", true);
-		FileUtils.copyFile(bundleBlind,
-				new Path("vizResources/images/dest.gif"), path + "dest.gif",
+		FileUtils.copyFile(bundleBlind, new Path("vizResources/images/clear.gif"), path + "clear.gif", true);
+		FileUtils.copyFile(bundleBlind, new Path("vizResources/images/dest.gif"), path + "dest.gif", true);
+		FileUtils.copyFile(bundleBlind, new Path("vizResources/images/draw.gif"), path + "draw.gif", true);
+		FileUtils.copyFile(bundleBlind, new Path("vizResources/images/exclawhite21.gif"), path + "exclawhite21.gif",
 				true);
-		FileUtils.copyFile(bundleBlind,
-				new Path("vizResources/images/draw.gif"), path + "draw.gif",
+		FileUtils.copyFile(bundleBlind, new Path("vizResources/images/face-sad.gif"), path + "face-sad.gif", true);
+		FileUtils.copyFile(bundleBlind, new Path("vizResources/images/face-smile.gif"), path + "face-smile.gif", true);
+		FileUtils.copyFile(bundleBlind, new Path("vizResources/images/face-usual.gif"), path + "face-usual.gif", true);
+		FileUtils.copyFile(bundleBlind, new Path("vizResources/images/jump.gif"), path + "jump.gif", true);
+		FileUtils.copyFile(bundleBlind, new Path("vizResources/images/line_filled.gif"), path + "line_filled.gif",
 				true);
-		FileUtils.copyFile(bundleBlind, new Path(
-				"vizResources/images/exclawhite21.gif"), path
-				+ "exclawhite21.gif", true);
-		FileUtils.copyFile(bundleBlind, new Path(
-				"vizResources/images/face-sad.gif"), path + "face-sad.gif",
-				true);
-		FileUtils.copyFile(bundleBlind, new Path(
-				"vizResources/images/face-smile.gif"), path + "face-smile.gif",
-				true);
-		FileUtils.copyFile(bundleBlind, new Path(
-				"vizResources/images/face-usual.gif"), path + "face-usual.gif",
-				true);
-		FileUtils.copyFile(bundleBlind,
-				new Path("vizResources/images/jump.gif"), path + "jump.gif",
-				true);
-		FileUtils.copyFile(bundleBlind, new Path(
-				"vizResources/images/line_filled.gif"), path
-				+ "line_filled.gif", true);
-		FileUtils.copyFile(bundleBlind,
-				new Path("vizResources/images/logo.gif"), path + "logo.gif",
-				true);
-		FileUtils.copyFile(bundleBlind,
-				new Path("vizResources/images/move.gif"), path + "move.gif",
-				true);
-		FileUtils.copyFile(bundleBlind, new Path(
-				"vizResources/images/refresh.gif"), path + "refresh.gif", true);
-		FileUtils.copyFile(bundleBlind,
-				new Path("vizResources/images/stop.gif"), path + "stop.gif",
-				true);
+		FileUtils.copyFile(bundleBlind, new Path("vizResources/images/logo.gif"), path + "logo.gif", true);
+		FileUtils.copyFile(bundleBlind, new Path("vizResources/images/move.gif"), path + "move.gif", true);
+		FileUtils.copyFile(bundleBlind, new Path("vizResources/images/refresh.gif"), path + "refresh.gif", true);
+		FileUtils.copyFile(bundleBlind, new Path("vizResources/images/stop.gif"), path + "stop.gif", true);
+		
+		//HTML5  (landmark) 
+		FileUtils.copyFile(bundleBlind, new Path("vizResources/landmark_icons/article.gif"), path + "article.gif", true);
+		FileUtils.copyFile(bundleBlind, new Path("vizResources/landmark_icons/aside.gif"), path + "aside.gif", true);
+		FileUtils.copyFile(bundleBlind, new Path("vizResources/landmark_icons/footer.gif"), path + "footer.gif", true);
+		FileUtils.copyFile(bundleBlind, new Path("vizResources/landmark_icons/header.gif"), path + "header.gif", true);
+		FileUtils.copyFile(bundleBlind, new Path("vizResources/landmark_icons/main.gif"), path + "main.gif", true);
+		FileUtils.copyFile(bundleBlind, new Path("vizResources/landmark_icons/nav.gif"), path + "nav.gif", true);
 
 	}
 
@@ -108,15 +84,15 @@
 	@SuppressWarnings("nls")
 	public static void saveScripts(String path) {
 		Bundle bundleBlind = Platform.getBundle(BlindVizEnginePlugin.PLUGIN_ID);
-		FileUtils.copyFile(bundleBlind, new Path(
-				"vizResources/scripts/highlight.js"), path + "highlight.js",
+		FileUtils.copyFile(bundleBlind, new Path("vizResources/scripts/highlight.js"), path + "highlight.js", true);
+		FileUtils.copyFile(bundleBlind, new Path("vizResources/scripts/highlight_moz.js"), path + "highlight_moz.js",
 				true);
-		FileUtils.copyFile(bundleBlind, new Path(
-				"vizResources/scripts/highlight_moz.js"), path
-				+ "highlight_moz.js", true);
-		FileUtils.copyFile(bundleBlind, new Path(
-				"vizResources/scripts/highlight-dummy.js"), path
-				+ "highlight-dummy.js", true);
+		FileUtils.copyFile(bundleBlind, new Path("vizResources/scripts/highlight-dummy.js"),
+				path + "highlight-dummy.js", true);
+
+		// TODO create method for CSS
+		FileUtils.copyFile(bundleBlind, new Path("vizResources/css/visualization.css"), path + "visualization.css",
+				true);
 
 	}
 
@@ -128,8 +104,7 @@
 	 * @return {@link ImageDescriptor}
 	 */
 	public static ImageDescriptor getImageDescriptor(String imageFilePath) {
-		return AbstractUIPlugin.imageDescriptorFromPlugin(
-				BlindVizEnginePlugin.PLUGIN_ID, imageFilePath);
+		return AbstractUIPlugin.imageDescriptorFromPlugin(BlindVizEnginePlugin.PLUGIN_ID, imageFilePath);
 	}
 
 	/**
@@ -143,8 +118,7 @@
 	 * @throws Exception
 	 * @see AbstractUIPlugin#getStateLocation()
 	 */
-	public static File createTempFile(String prefix, String suffix)
-			throws Exception {
+	public static File createTempFile(String prefix, String suffix) throws Exception {
 		return (BlindVizEnginePlugin.createTempFile(prefix, suffix));
 	}
 
diff --git a/plugins/org.eclipse.actf.visualization.engines.blind/src/org/eclipse/actf/visualization/engines/blind/TextChecker.java b/plugins/org.eclipse.actf.visualization.engines.blind/src/org/eclipse/actf/visualization/engines/blind/TextChecker.java
index c4fa01c..469854f 100644
--- a/plugins/org.eclipse.actf.visualization.engines.blind/src/org/eclipse/actf/visualization/engines/blind/TextChecker.java
+++ b/plugins/org.eclipse.actf.visualization.engines.blind/src/org/eclipse/actf/visualization/engines/blind/TextChecker.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2004, 2011 IBM Corporation and Others
+ * Copyright (c) 2004, 2016 IBM Corporation and Others
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -56,8 +56,7 @@
 
 	private Set<String> ngPatterns = new HashSet<String>();
 
-	private IPreferenceStore pref = BlindVizEnginePlugin.getDefault()
-			.getPreferenceStore();
+	private IPreferenceStore pref = BlindVizEnginePlugin.getDefault().getPreferenceStore();
 
 	// TODO spell out check
 
@@ -68,8 +67,7 @@
 
 			Properties prop = new Properties();
 			try {
-				InputStream prefIS = FileLocator.openStream(
-						Platform.getBundle(BlindVizEnginePlugin.PLUGIN_ID),
+				InputStream prefIS = FileLocator.openStream(Platform.getBundle(BlindVizEnginePlugin.PLUGIN_ID),
 						new Path("config/" + ALT_TEXT_PROPERTIES_FILE), false); //$NON-NLS-1$
 				if (prefIS != null) {
 					prop.load(prefIS);
@@ -137,15 +135,12 @@
 	 */
 	public boolean isRedundantText(String prevText, String curText) {
 
-		if ((prevText != null) && (prevText.length() > 1)
-				&& (curText.length() > 1)) {
+		if ((prevText != null) && (prevText.length() > 1) && (curText.length() > 1)) {
 
-			String prevText2 = prevText.replaceAll(
-					"\\[|\\]|\\.|\\!|\\>", NULL_STRING); //$NON-NLS-1$
+			String prevText2 = prevText.replaceAll("\\[|\\]|\\.|\\!|\\>", NULL_STRING); //$NON-NLS-1$
 			prevText2 = prevText2.trim();
 
-			String curText2 = curText.replaceAll(
-					"\\[|\\]|\\.|\\!|\\>", NULL_STRING); //$NON-NLS-1$
+			String curText2 = curText.replaceAll("\\[|\\]|\\.|\\!|\\>", NULL_STRING); //$NON-NLS-1$
 			curText2 = curText2.trim();
 
 			if (curText2.equalsIgnoreCase(prevText2)) {
@@ -179,7 +174,8 @@
 	 * 
 	 * @param alt
 	 *            target alternative text
-	 * @return <ul>
+	 * @return
+	 * 		<ul>
 	 *         <li>0: OK</li>
 	 *         <li>1: possibly inappropriate</li>
 	 *         <li>2: inappropriate</li>
@@ -187,8 +183,7 @@
 	 *         </ul>
 	 */
 	public int checkInappropriateAlt(final String alt) {
-		String[] tmpSA = alt.toLowerCase().split(
-				"(" + KIGOU + "|\\p{Punct}|\\p{Space})"); //$NON-NLS-1$ //$NON-NLS-2$
+		String[] tmpSA = alt.toLowerCase().split("(" + KIGOU + "|\\p{Punct}|\\p{Space})"); //$NON-NLS-1$ //$NON-NLS-2$
 		int count = 0;
 		int all = 0;
 		int charLength = 0;
@@ -261,8 +256,7 @@
 		// \u00A0 = &nbsp;
 		@SuppressWarnings("unused")
 		String regexp1 = ".*" + KANJI + ".*"; //$NON-NLS-1$ //$NON-NLS-2$
-		String regexp2 = ".*\\b" + NIHONGO + "[\\p{Space}\u3000\u00A0]+"
-				+ NIHONGO + "\\b.*";
+		String regexp2 = ".*\\b" + NIHONGO + "[\\p{Space}\u3000\u00A0]+" + NIHONGO + "\\b.*";
 
 		if (tmpS.matches(regexp2)) {
 			return true;
@@ -375,8 +369,7 @@
 		}
 
 		if (src != null) {
-			Matcher m = Pattern.compile(".*?([^/]+)")
-					.matcher(src.toLowerCase());
+			Matcher m = Pattern.compile(".*?([^/]+)").matcher(src.toLowerCase());
 			if (m.matches()) {
 				String fileName = m.group(1);
 				if (alt.equals(fileName)) {
@@ -395,11 +388,13 @@
 			return TextCheckResult.SPACE_SEPARATED_JP;
 
 		// Counts number of NG "word"s in ALT
-		List<String> wordList = Arrays.asList(alt.toLowerCase().split(
-				"(" + KIGOU + "|\\p{Punct}|\\p{Space})")); //$NON-NLS-1$ //$NON-NLS-2$
+		List<String> wordList = Arrays.asList(alt.toLowerCase().split("(" + KIGOU + "|\\p{Punct}|\\p{Space})")); //$NON-NLS-1$ //$NON-NLS-2$
 		int wordCountNG = 0;
 		int wordCountAll = 0;
+
+		@SuppressWarnings("unused")
 		int charLength = 0;
+
 		for (String word : wordList) {
 			charLength += word.length();
 			if (word.length() > 0)
@@ -424,8 +419,7 @@
 	public boolean isAsciiArtString(String str) {
 		int origLength = str.length();
 		str = str.toLowerCase();
-		List<String> wordList = Arrays.asList(str.toLowerCase().split(
-				"(" + KIGOU + "|\\p{Punct}|\\p{Space})")); //$NON-NLS-1$ //$NON-NLS-2$
+		List<String> wordList = Arrays.asList(str.toLowerCase().split("(" + KIGOU + "|\\p{Punct}|\\p{Space})")); //$NON-NLS-1$ //$NON-NLS-2$
 		int charLength = 0;
 		for (String word : wordList) {
 			charLength += word.length();
@@ -433,7 +427,6 @@
 
 		boolean isBlank = str.matches("[\\p{Space}\\u3000\\u00A0]*");
 
-		return (origLength > 0
-				&& ((double) charLength / (double) origLength) < 0.5 && !isBlank);
+		return (origLength > 0 && ((double) charLength / (double) origLength) < 0.5 && !isBlank);
 	}
 }
diff --git a/plugins/org.eclipse.actf.visualization.engines.blind/src/org/eclipse/actf/visualization/internal/engines/blind/SummaryEvaluation.java b/plugins/org.eclipse.actf.visualization.engines.blind/src/org/eclipse/actf/visualization/internal/engines/blind/SummaryEvaluation.java
index 1c2f82a..5611f87 100644
--- a/plugins/org.eclipse.actf.visualization.engines.blind/src/org/eclipse/actf/visualization/internal/engines/blind/SummaryEvaluation.java
+++ b/plugins/org.eclipse.actf.visualization.engines.blind/src/org/eclipse/actf/visualization/internal/engines/blind/SummaryEvaluation.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2008 IBM Corporation and Others
+ * Copyright (c) 2005, 2016 IBM Corporation and Others
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -109,57 +109,45 @@
 
 		boolean isGood = false;
 
-		if(compCount==0){
-			return("");
+		if (compCount == 0) {
+			return ("");
 		}
 		if (compTotal / compCount >= 75) {
 			if (hasError) { // hasComplianceError
-				aboutComp.append(Messages.Eval_compliant_with_some_other_errors
-						+ FileUtils.LINE_SEP);
+				aboutComp.append(Messages.Eval_compliant_with_some_other_errors + FileUtils.LINE_SEP);
 
 				if (totalAltError > 0) {
-					aboutComp.append(Messages.Eval_confirm_alt_attributes_first
-							+ FileUtils.LINE_SEP);
+					aboutComp.append(Messages.Eval_confirm_alt_attributes_first + FileUtils.LINE_SEP);
 					aboutComp.append(getImageAltStatistics());
 				} else {
-					aboutComp
-							.append(Messages.Eval_confirm_errors_detailed_report);
+					aboutComp.append(Messages.Eval_confirm_errors_detailed_report);
 				}
 			} else {
 				if (hasOther && other != 100) {
-					aboutComp.append(Messages.Eval_some_errors_on_metrics
-							+ FileUtils.LINE_SEP
-							+ MessageFormat.format(
-									Messages.Eval_some_errors_on_metrics1,
-									(new String[] { noGoodMetrics.substring(0,
-											noGoodMetrics.length() - 1) })));
+					aboutComp.append(Messages.Eval_some_errors_on_metrics + FileUtils.LINE_SEP + MessageFormat.format(
+							Messages.Eval_some_errors_on_metrics1,
+							(Object[]) (new String[] { noGoodMetrics.substring(0, noGoodMetrics.length() - 1) })));
 				} else {
 					if (compTotal / compCount == 100) {
 						isGood = true;
-						aboutComp.append(Messages.Eval_completely_compliant
-								+ FileUtils.LINE_SEP
-								+ Messages.Eval_user_check2);
+						aboutComp.append(
+								Messages.Eval_completely_compliant + FileUtils.LINE_SEP + Messages.Eval_user_check2);
 					} else {
 						isGood = true;
-						aboutComp
-								.append(Messages.Eval_completely_compliant_with_user_check_items
-										+ FileUtils.LINE_SEP
-										+ Messages.Eval_user_check1);
+						aboutComp.append(Messages.Eval_completely_compliant_with_user_check_items + FileUtils.LINE_SEP
+								+ Messages.Eval_user_check1);
 					}
 				}
 			}
 		} else {
 			if (compTotal / compCount >= 50) {
-				aboutComp.append(Messages.Eval_some_accessibility_issues
-						+ FileUtils.LINE_SEP);
+				aboutComp.append(Messages.Eval_some_accessibility_issues + FileUtils.LINE_SEP);
 			} else {
-				aboutComp.append(Messages.Eval_many_accessibility_issues
-						+ FileUtils.LINE_SEP);
+				aboutComp.append(Messages.Eval_many_accessibility_issues + FileUtils.LINE_SEP);
 			}
 
 			if (totalAltError > 0) {
-				aboutComp.append(Messages.Eval_confirm_alt_attributes_first
-						+ FileUtils.LINE_SEP);
+				aboutComp.append(Messages.Eval_confirm_alt_attributes_first + FileUtils.LINE_SEP);
 				aboutComp.append(getImageAltStatistics());
 			} else {
 				aboutComp.append(Messages.Eval_confirm_errors_detailed_report);
@@ -170,32 +158,26 @@
 		if (hasOperable && guidelineHolder.isEnabledMetric("operable")) { //$NON-NLS-1$
 			if (operable >= 75) {
 				if (pageData.getMaxTime() > 240) {
-					aboutNav.append(MessageFormat.format(
-							Messages.Eval_navigability_long_time_error_msg,
-							(new String[] { FileUtils.LINE_SEP,
-									FileUtils.LINE_SEP, FileUtils.LINE_SEP,
-									FileUtils.LINE_SEP }))
+					aboutNav.append(MessageFormat
+							.format(Messages.Eval_navigability_long_time_error_msg, (Object[]) (new String[] {
+									FileUtils.LINE_SEP, FileUtils.LINE_SEP, FileUtils.LINE_SEP, FileUtils.LINE_SEP }))
 							+ FileUtils.LINE_SEP);
 
 				} else {
-					aboutNav.append(MessageFormat.format(
-							Messages.Eval_navigability_good_msg, (new String[] {
-									FileUtils.LINE_SEP, FileUtils.LINE_SEP }))
-							+ FileUtils.LINE_SEP);
+					aboutNav.append(MessageFormat.format(Messages.Eval_navigability_good_msg,
+							(Object[]) (new String[] { FileUtils.LINE_SEP, FileUtils.LINE_SEP })) + FileUtils.LINE_SEP);
 				}
 			} else {
 				isGood = false;
-				aboutNav.append(MessageFormat.format(
-						Messages.Eval_navigability_low_score_error_msg,
-						(new String[] { FileUtils.LINE_SEP, FileUtils.LINE_SEP,
-								FileUtils.LINE_SEP, FileUtils.LINE_SEP }))
+				aboutNav.append(MessageFormat
+						.format(Messages.Eval_navigability_low_score_error_msg, (Object[]) (new String[] {
+								FileUtils.LINE_SEP, FileUtils.LINE_SEP, FileUtils.LINE_SEP, FileUtils.LINE_SEP }))
 						+ FileUtils.LINE_SEP);
 			}
 		}
 
 		if ((hasComp || hasOperable) && isGood) {
-			tmpSB.append(Messages.Eval_excellent + FileUtils.LINE_SEP
-					+ FileUtils.LINE_SEP);
+			tmpSB.append(Messages.Eval_excellent + FileUtils.LINE_SEP + FileUtils.LINE_SEP);
 		}
 		tmpSB.append(aboutComp + FileUtils.LINE_SEP + FileUtils.LINE_SEP);
 		tmpSB.append(aboutNav);
@@ -221,16 +203,13 @@
 		tmpSB.append(FileUtils.LINE_SEP);
 
 		if (noImageAltCount > 0) {
-			tmpSB.append(SPACE + Messages.Eval_no_img_alt + SPACE
-					+ noImageAltCount + FileUtils.LINE_SEP);
+			tmpSB.append(SPACE + Messages.Eval_no_img_alt + SPACE + noImageAltCount + FileUtils.LINE_SEP);
 		}
 		if (wrongImageAltCount > 0) {
-			tmpSB.append(SPACE + Messages.Eval_wrong_img_alt + SPACE
-					+ wrongImageAltCount + FileUtils.LINE_SEP);
+			tmpSB.append(SPACE + Messages.Eval_wrong_img_alt + SPACE + wrongImageAltCount + FileUtils.LINE_SEP);
 		}
 		if (redundantImageAltCount > 0) {
-			tmpSB.append(SPACE + Messages.Eval_redundant_img_alt + SPACE
-					+ redundantImageAltCount + FileUtils.LINE_SEP);
+			tmpSB.append(SPACE + Messages.Eval_redundant_img_alt + SPACE + redundantImageAltCount + FileUtils.LINE_SEP);
 		}
 
 		return (tmpSB.toString());
diff --git a/plugins/org.eclipse.actf.visualization.engines.blind/vizResources/css/visualization.css b/plugins/org.eclipse.actf.visualization.engines.blind/vizResources/css/visualization.css
new file mode 100644
index 0000000..12d8f6e
--- /dev/null
+++ b/plugins/org.eclipse.actf.visualization.engines.blind/vizResources/css/visualization.css
@@ -0,0 +1,19 @@
+div.main {

+	border: 5px blue solid; padding: 2px; margin: 1px;

+}

+

+article,nav {			

+	border: 2px blue solid; padding: 2px; margin: 1px;

+}

+

+.header_footer {			

+	border: 2px blue solid; padding: 2px; margin: 1px;

+}

+

+aside {			

+	border: 1px blue solid; padding: 1px; margin: 1px;

+}

+

+section {

+	border: 1px blue dotted; padding: 1px; margin: 1px;

+}

diff --git a/plugins/org.eclipse.actf.visualization.engines.blind/vizResources/landmark_icons/article.gif b/plugins/org.eclipse.actf.visualization.engines.blind/vizResources/landmark_icons/article.gif
new file mode 100644
index 0000000..118c753
--- /dev/null
+++ b/plugins/org.eclipse.actf.visualization.engines.blind/vizResources/landmark_icons/article.gif
Binary files differ
diff --git a/plugins/org.eclipse.actf.visualization.engines.blind/vizResources/landmark_icons/aside.gif b/plugins/org.eclipse.actf.visualization.engines.blind/vizResources/landmark_icons/aside.gif
new file mode 100644
index 0000000..561634f
--- /dev/null
+++ b/plugins/org.eclipse.actf.visualization.engines.blind/vizResources/landmark_icons/aside.gif
Binary files differ
diff --git a/plugins/org.eclipse.actf.visualization.engines.blind/vizResources/landmark_icons/footer.gif b/plugins/org.eclipse.actf.visualization.engines.blind/vizResources/landmark_icons/footer.gif
new file mode 100644
index 0000000..f7c30b5
--- /dev/null
+++ b/plugins/org.eclipse.actf.visualization.engines.blind/vizResources/landmark_icons/footer.gif
Binary files differ
diff --git a/plugins/org.eclipse.actf.visualization.engines.blind/vizResources/landmark_icons/header.gif b/plugins/org.eclipse.actf.visualization.engines.blind/vizResources/landmark_icons/header.gif
new file mode 100644
index 0000000..8c1755d
--- /dev/null
+++ b/plugins/org.eclipse.actf.visualization.engines.blind/vizResources/landmark_icons/header.gif
Binary files differ
diff --git a/plugins/org.eclipse.actf.visualization.engines.blind/vizResources/landmark_icons/main.gif b/plugins/org.eclipse.actf.visualization.engines.blind/vizResources/landmark_icons/main.gif
new file mode 100644
index 0000000..d152bac
--- /dev/null
+++ b/plugins/org.eclipse.actf.visualization.engines.blind/vizResources/landmark_icons/main.gif
Binary files differ
diff --git a/plugins/org.eclipse.actf.visualization.engines.blind/vizResources/landmark_icons/nav.gif b/plugins/org.eclipse.actf.visualization.engines.blind/vizResources/landmark_icons/nav.gif
new file mode 100644
index 0000000..30ac19b
--- /dev/null
+++ b/plugins/org.eclipse.actf.visualization.engines.blind/vizResources/landmark_icons/nav.gif
Binary files differ
diff --git a/plugins/org.eclipse.actf.visualization.eval/resources/checkitem.xml b/plugins/org.eclipse.actf.visualization.eval/resources/checkitem.xml
index 02989c3..13fcc17 100644
--- a/plugins/org.eclipse.actf.visualization.eval/resources/checkitem.xml
+++ b/plugins/org.eclipse.actf.visualization.eval/resources/checkitem.xml
@@ -1,747 +1,747 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<!--
- Copyright (c) 2005, 2012 IBM Corporation and others.
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
-
- Contributors:
-     IBM Corporation - initial API and implementation
--->
-<checker-config>
-    <checkitem type="error" id="C_1000.0">
-        <guideline>
-            <gItem id="3.2" name="WCAG"/>
-            <gItem techniques="H88" id="7.4.1.1" name="JIS"/>
-            <gItem techniques="H88" id="4.1.1" name="WCAG 2.0"/>
-        </guideline>
-        <metrics>
-            <mItem score="5" name="Robust"/>
-        </metrics>
-        <description>
-            <desc>This page seems to have several BODY elements. Please correct html.</desc>
-        </description>
-    </checkitem>
-    <checkitem type="error" id="C_1000.1">
-        <guideline>
-            <gItem id="3.2" name="WCAG"/>
-            <gItem techniques="H88" id="7.4.1.1" name="JIS"/>
-            <gItem techniques="H88" id="4.1.1" name="WCAG 2.0"/>
-        </guideline>
-        <metrics>
-            <mItem score="5" name="Robust"/>
-        </metrics>
-        <description>
-            <desc>This page seems to have HEAD element under BODY element. Please correct html.</desc>
-        </description>
-    </checkitem>
-    <checkitem type="error" id="C_1000.2">
-        <guideline>
-            <gItem id="3.2" name="WCAG"/>
-            <gItem techniques="H88" id="7.4.1.1" name="JIS"/>
-            <gItem techniques="H88" id="4.1.1" name="WCAG 2.0"/>
-        </guideline>
-        <metrics>
-            <mItem score="5" name="Robust"/>
-        </metrics>
-        <description>
-            <desc>This page seems to have several HTML elements. Please correct html.</desc>
-        </description>
-    </checkitem>
-    <checkitem type="error" id="C_1000.3">
-        <guideline>
-            <gItem id="3.2" name="WCAG"/>
-            <gItem techniques="H88" id="7.4.1.1" name="JIS"/>
-            <gItem techniques="H88" id="4.1.1" name="WCAG 2.0"/>
-        </guideline>
-        <metrics>
-            <mItem score="5" name="Robust"/>
-        </metrics>
-        <description>
-            <desc>BODY elements seems to be not properly placed. Please correct html.</desc>
-        </description>
-    </checkitem>
-    <checkitem type="error" id="C_1000.4">
-        <guideline>
-            <gItem id="3.2" name="WCAG"/>
-            <gItem techniques="H88" id="7.4.1.1" name="JIS"/>
-            <gItem techniques="H88" id="4.1.1" name="WCAG 2.0"/>
-        </guideline>
-        <metrics>
-            <mItem score="5" name="Robust"/>
-        </metrics>
-        <description>
-            <desc>This page seems to have no BODY element, or position of BODY is wrong. Please correct html.</desc>
-        </description>
-    </checkitem>
-    <checkitem type="warning" id="C_1000.5">
-        <guideline>
-            <gItem id="3.2" name="WCAG"/>
-            <gItem techniques="H88" id="7.4.1.1" name="JIS"/>
-            <gItem techniques="H88" id="4.1.1" name="WCAG 2.0"/>
-        </guideline>
-        <metrics>
-            <mItem score="2" name="Robust"/>
-        </metrics>
-        <description>
-            <desc>This page seems to have no BODY (or HEAD) element, or position of BODY is wrong. Please correct html.</desc>
-        </description>
-    </checkitem>
-    <checkitem type="user" id="C_1000.6">
-        <guideline>
-            <gItem id="3.2" name="WCAG"/>
-            <gItem techniques="H88" id="7.4.1.1" name="JIS"/>
-            <gItem techniques="H88" id="4.1.1" name="WCAG 2.0"/>
-        </guideline>
-        <metrics>
-            <mItem name="Robust"/>
-        </metrics>
-        <description>
-            <desc>Make sure to use a public text identifier in a &amp;lt;!DOCTYPE&amp;gt; statement.</desc>
-        </description>
-    </checkitem>
-    <checkitem type="warning" id="C_1000.7">
-        <guideline>
-            <gItem id="3.2" name="WCAG"/>
-            <gItem techniques="H88" id="7.4.1.1" name="JIS"/>
-            <gItem techniques="H88" id="4.1.1" name="WCAG 2.0"/>
-        </guideline>
-        <metrics>
-            <mItem score="2" name="Robust"/>
-        </metrics>
-        <description>
-            <desc>As no DOCTYPE declaration is found, validators may produce wrong results and conformance of the document is not able to be checked.</desc>
-        </description>
-    </checkitem>
-    <checkitem type="warning" id="C_1000.8">
-        <guideline>
-            <gItem id="3.2" name="WCAG"/>
-            <gItem techniques="H88" id="7.4.1.1" name="JIS"/>
-            <gItem techniques="H88" id="4.1.1" name="WCAG 2.0"/>
-        </guideline>
-        <metrics>
-            <mItem score="2" name="Robust"/>
-        </metrics>
-        <description>
-            <desc>Byte-Order Mark (BOM) found in UTF-8 HTML file. BOM should be removed to avoid unexpected error.</desc>
-        </description>
-    </checkitem>
-    <checkitem type="error" id="B_0">
-        <guideline>
-            <gItem id="1.1" name="WCAG"/>
-            <gItem id="a" name="Section508"/>
-            <gItem techniques="H37,H67,F38,F65" id="7.1.1.1" name="JIS"/>
-            <gItem id="1" name="IBMGuideline"/>
-            <gItem techniques="H37,H67,F38,F65" id="1.1.1" name="WCAG 2.0"/>
-        </guideline>
-        <metrics>
-            <mItem score="5" name="Perceivable"/>
-        </metrics>
-        <description>
-            <desc>No alternative text for an image (If the image has no information to read out, please provide alt=&quot;&quot;.): src=&quot;&quot;.</desc>
-        </description>
-    </checkitem>
-    <checkitem type="error" id="B_1">
-        <guideline>
-            <gItem id="1.1" name="WCAG"/>
-            <gItem id="a" name="Section508"/>
-            <gItem id="n" name="Section508"/>
-            <gItem techniques="H36,F65" id="7.1.1.1" name="JIS"/>
-            <gItem id="7" name="IBMGuideline"/>
-            <gItem techniques="H36,F65" id="1.1.1" name="WCAG 2.0"/>
-        </guideline>
-        <metrics>
-            <mItem score="5" name="Perceivable"/>
-        </metrics>
-        <description>
-            <desc>No alternative text for an image button.</desc>
-        </description>
-    </checkitem>
-    <checkitem type="error" id="B_2">
-        <guideline>
-            <gItem id="1.1" name="WCAG"/>
-            <gItem id="a" name="Section508"/>
-            <gItem techniques="H24,F65" id="7.1.1.1" name="JIS"/>
-            <gItem id="2" name="IBMGuideline"/>
-            <gItem techniques="H24,F65" id="1.1.1" name="WCAG 2.0"/>
-        </guideline>
-        <metrics>
-            <mItem score="5" name="Perceivable"/>
-        </metrics>
-        <description>
-            <desc>No alternative text for an AREA: map name=&quot;&quot;.</desc>
-        </description>
-    </checkitem>
-    <checkitem type="error" id="B_4">
-        <guideline>
-            <gItem id="1.1" name="WCAG"/>
-            <gItem id="1" name="IBMGuideline"/>
-        </guideline>
-        <metrics>
-            <mItem score="5" name="Perceivable"/>
-        </metrics>
-        <description>
-            <desc>&quot;&quot; is not appropriate as an ALT attribute for an image.</desc>
-        </description>
-    </checkitem>
-    <checkitem type="warning" id="B_5">
-        <guideline>
-            <gItem id="1.1" name="WCAG"/>
-            <gItem techniques="F30,G94" id="7.1.1.1" name="JIS"/>
-            <gItem id="7" name="IBMGuideline"/>
-            <gItem techniques="F30,G94" id="1.1.1" name="WCAG 2.0"/>
-        </guideline>
-        <metrics>
-            <mItem score="2" name="Perceivable"/>
-        </metrics>
-        <description>
-            <desc>&quot;&quot; is not appropriate as an ALT attribute for an image button.</desc>
-        </description>
-    </checkitem>
-    <checkitem type="warning" id="B_6">
-        <guideline>
-            <gItem id="1.1" name="WCAG"/>
-            <gItem techniques="F30,G94" id="7.1.1.1" name="JIS"/>
-            <gItem id="2" name="IBMGuideline"/>
-            <gItem techniques="F30,G94" id="1.1.1" name="WCAG 2.0"/>
-        </guideline>
-        <metrics>
-            <mItem score="2" name="Perceivable"/>
-        </metrics>
-        <description>
-            <desc>&quot;&quot; is not appropriate as an ALT attribute for an AREA.</desc>
-        </description>
-    </checkitem>
-    <checkitem type="error" id="B_8">
-        <guideline>
-            <gItem id="13.6" name="WCAG"/>
-            <gItem id="o" name="Section508"/>
-            <gItem techniques="G123,G124" id="7.2.4.1" name="JIS"/>
-            <gItem id="8" name="IBMGuideline"/>
-            <gItem techniques="G123,G124" id="2.4.1" name="WCAG 2.0"/>
-        </guideline>
-        <metrics>
-            <mItem score="5" name="Operable"/>
-        </metrics>
-        <description>
-            <desc>This intra-page link is broken because of a missing destination anchor &quot;&quot;.</desc>
-        </description>
-    </checkitem>
-    <checkitem type="error" id="B_9">
-        <guideline>
-            <gItem id="13.1" name="WCAG"/>
-            <gItem techniques="H2" id="7.1.1.1" name="JIS"/>
-            <gItem id="1" name="IBMGuideline"/>
-            <gItem id="2" name="IBMGuideline"/>
-            <gItem id="7" name="IBMGuideline"/>
-            <gItem techniques="H2" id="1.1.1" name="WCAG 2.0"/>
-        </guideline>
-        <metrics>
-            <mItem score="5" name="Perceivable"/>
-        </metrics>
-        <description>
-            <desc>Redundant text information: .</desc>
-        </description>
-    </checkitem>
-    <checkitem type="error" id="B_10">
-        <guideline>
-            <gItem id="13.6" name="WCAG"/>
-            <gItem id="o" name="Section508"/>
-            <gItem techniques="G1" id="7.2.4.1" name="JIS"/>
-            <gItem id="8" name="IBMGuideline"/>
-            <gItem techniques="G1" id="2.4.1" name="WCAG 2.0"/>
-        </guideline>
-        <metrics>
-            <mItem score="5" name="Operable"/>
-        </metrics>
-        <description>
-            <desc>Provide skip-links such as &quot;skip to main&quot;.</desc>
-        </description>
-    </checkitem>
-    <checkitem type="info" id="B_12">
-        <guideline>
-            <gItem id="13.6" name="WCAG"/>
-            <gItem id="o" name="Section508"/>
-            <gItem techniques="H42" id="7.1.3.1" name="JIS"/>
-            <gItem techniques="G1, G123, G124, H69" id="7.2.4.1" name="JIS"/>
-            <gItem techniques="G141" id="7.2.4.10" name="JIS"/>
-            <gItem id="8" name="IBMGuideline"/>
-            <gItem techniques="H42" id="1.3.1" name="WCAG 2.0"/>
-            <gItem techniques="G1, G123, G124, H69" id="2.4.1" name="WCAG 2.0"/>
-            <gItem techniques="G141" id="2.4.10" name="WCAG 2.0"/>
-        </guideline>
-        <metrics>
-            <mItem name="Perceivable"/>
-            <mItem name="Operable"/>
-        </metrics>
-        <description>
-            <desc>Provide intra-page links or use headings. Because there are no effective intra-page links or headings, arrival time to some content is over 120 seconds.</desc>
-        </description>
-    </checkitem>
-    <checkitem type="error" id="B_14">
-        <guideline>
-            <gItem id="13.1" name="WCAG"/>
-            <gItem techniques="H30" id="7.1.1.1" name="JIS"/>
-            <gItem techniques="H30" id="7.2.4.4" name="JIS"/>
-            <gItem techniques="H30" id="7.2.4.9" name="JIS"/>
-            <gItem id="8" name="IBMGuideline"/>
-            <gItem techniques="H30" id="1.1.1" name="WCAG 2.0"/>
-            <gItem techniques="H30" id="2.4.4" name="WCAG 2.0"/>
-            <gItem techniques="H30" id="2.4.9" name="WCAG 2.0"/>
-        </guideline>
-        <metrics>
-            <mItem score="5" name="Perceivable"/>
-            <mItem score="5" name="Operable"/>
-        </metrics>
-        <description>
-            <desc>This intra-page link, &quot;&quot;, is not accessible, since there is no readable text.</desc>
-        </description>
-    </checkitem>
-    <checkitem type="warning" id="B_15">
-        <guideline>
-            <gItem id="14.1" name="WCAG"/>
-            <gItem techniques="C8,F32" id="7.1.3.2" name="JIS"/>
-            <gItem techniques="C8,F32" id="1.3.2" name="WCAG 2.0"/>
-        </guideline>
-        <metrics>
-            <mItem score="2" name="Perceivable"/>
-        </metrics>
-        <description>
-            <desc>&quot;&quot;, is inappropriate text.</desc>
-        </description>
-    </checkitem>
-    <checkitem type="error" id="B_16">
-        <guideline>
-            <gItem id="10.2" name="WCAG"/>
-            <gItem id="12.4" name="WCAG"/>
-            <gItem id="n" name="Section508"/>
-            <gItem id="7" name="IBMGuideline"/>
-        </guideline>
-        <metrics>
-            <mItem score="5" name="Operable"/>
-        </metrics>
-        <description>
-            <desc>No ID attribute for an input element.</desc>
-        </description>
-    </checkitem>
-    <checkitem type="error" id="B_17">
-        <guideline>
-            <gItem id="13.6" name="WCAG"/>
-            <gItem id="o" name="Section508"/>
-            <gItem techniques="G1" id="7.2.4.1" name="JIS"/>
-            <gItem id="8" name="IBMGuideline"/>
-            <gItem techniques="G1" id="2.4.1" name="WCAG 2.0"/>
-        </guideline>
-        <metrics>
-            <mItem score="5" name="Operable"/>
-        </metrics>
-        <description>
-            <desc>seconds is too long to get to the &quot;skip to main&quot; link</desc>
-        </description>
-    </checkitem>
-    <checkitem type="error" id="B_18">
-        <guideline>
-            <gItem id="13.6" name="WCAG"/>
-            <gItem id="o" name="Section508"/>
-            <gItem techniques="G1" id="7.2.4.1" name="JIS"/>
-            <gItem id="8" name="IBMGuideline"/>
-            <gItem techniques="G1" id="2.4.1" name="WCAG 2.0"/>
-        </guideline>
-        <metrics>
-            <mItem score="5" name="Operable"/>
-        </metrics>
-        <description>
-            <desc>This skip-link is broken because of a missing destination anchor &quot;&quot;.</desc>
-        </description>
-    </checkitem>
-    <checkitem type="warning" id="B_19">
-        <guideline>
-            <gItem id="13.6" name="WCAG"/>
-            <gItem id="o" name="Section508"/>
-            <gItem techniques="G1" id="7.2.4.1" name="JIS"/>
-            <gItem id="8" name="IBMGuideline"/>
-            <gItem techniques="G1" id="2.4.1" name="WCAG 2.0"/>
-        </guideline>
-        <metrics>
-            <mItem score="2" name="Operable"/>
-        </metrics>
-        <description>
-            <desc>&quot;&quot; is not appropriate for a skip-link. It should start with &quot;skip to ...&quot; or &quot;jump to ...&quot;.</desc>
-        </description>
-    </checkitem>
-    <checkitem type="warning" id="B_20">
-        <guideline>
-            <gItem id="13.6" name="WCAG"/>
-            <gItem id="o" name="Section508"/>
-            <gItem techniques="G1" id="7.2.4.1" name="JIS"/>
-            <gItem id="8" name="IBMGuideline"/>
-            <gItem techniques="G1" id="2.4.1" name="WCAG 2.0"/>
-        </guideline>
-        <metrics>
-            <mItem score="2" name="Operable"/>
-        </metrics>
-        <description>
-            <desc>Consider providing skip-links (such as &quot;skip to main&quot;).</desc>
-        </description>
-    </checkitem>
-    <checkitem type="user" id="B_21">
-        <guideline>
-            <gItem id="13.6" name="WCAG"/>
-            <gItem id="o" name="Section508"/>
-            <gItem techniques="G1" id="7.2.4.1" name="JIS"/>
-            <gItem id="8" name="IBMGuideline"/>
-            <gItem techniques="G1" id="2.4.1" name="WCAG 2.0"/>
-        </guideline>
-        <metrics>
-            <mItem name="Operable"/>
-        </metrics>
-        <description>
-            <desc>There is no skip-link (such as &quot;skip to main&quot;) in this page, but the transit time is short, seconds. Make sure of the necessity of the skip-link.</desc>
-        </description>
-    </checkitem>
-    <checkitem type="user" id="B_22">
-        <guideline>
-            <gItem id="13.6" name="WCAG"/>
-            <gItem id="o" name="Section508"/>
-            <gItem techniques="G123,H69" id="7.2.4.1" name="JIS"/>
-            <gItem id="7.2.4.10" name="JIS"/>
-            <gItem id="8" name="IBMGuideline"/>
-            <gItem techniques="G123,H69" id="2.4.1" name="WCAG 2.0"/>
-            <gItem id="2.4.10" name="WCAG 2.0"/>
-        </guideline>
-        <metrics>
-            <mItem name="Operable"/>
-        </metrics>
-        <description>
-            <desc>Consider providing more intra-page links or using headings. Though there are some intra-page links, the arrival time to some content is over 120 seconds.</desc>
-        </description>
-    </checkitem>
-    <checkitem type="user" id="B_23">
-        <guideline>
-            <gItem id="13.6" name="WCAG"/>
-            <gItem id="o" name="Section508"/>
-            <gItem techniques="G123,H69" id="7.2.4.1" name="JIS"/>
-            <gItem id="7.2.4.10" name="JIS"/>
-            <gItem id="8" name="IBMGuideline"/>
-            <gItem techniques="G123,H69" id="2.4.1" name="WCAG 2.0"/>
-            <gItem id="2.4.10" name="WCAG 2.0"/>
-        </guideline>
-        <metrics>
-            <mItem name="Operable"/>
-        </metrics>
-        <description>
-            <desc>Consider providing more headings or using intra-page links. Though there are some headings, the arrival time to some content is over 120 seconds.</desc>
-        </description>
-    </checkitem>
-    <checkitem type="user" id="B_24">
-        <guideline>
-            <gItem id="13.6" name="WCAG"/>
-            <gItem id="o" name="Section508"/>
-            <gItem techniques="G123,H69" id="7.2.4.1" name="JIS"/>
-            <gItem id="7.2.4.10" name="JIS"/>
-            <gItem id="8" name="IBMGuideline"/>
-            <gItem techniques="G123,H69" id="2.4.1" name="WCAG 2.0"/>
-            <gItem id="2.4.10" name="WCAG 2.0"/>
-        </guideline>
-        <metrics>
-            <mItem name="Operable"/>
-        </metrics>
-        <description>
-            <desc>Consider using intra-page links or providing more headings. Though there are intra-page links and headings, the arrival time to some content is over 120 seconds.</desc>
-        </description>
-    </checkitem>
-    <checkitem type="warning" id="B_25">
-        <guideline>
-            <gItem id="13.1" name="WCAG"/>
-            <gItem techniques="H30" id="7.1.1.1" name="JIS"/>
-            <gItem techniques="H30" id="7.2.4.4" name="JIS"/>
-            <gItem techniques="H30" id="7.2.4.9" name="JIS"/>
-            <gItem id="8" name="IBMGuideline"/>
-            <gItem techniques="H30" id="1.1.1" name="WCAG 2.0"/>
-            <gItem techniques="H30" id="2.4.4" name="WCAG 2.0"/>
-            <gItem techniques="H30" id="2.4.9" name="WCAG 2.0"/>
-        </guideline>
-        <metrics>
-            <mItem score="2" name="Perceivable"/>
-            <mItem score="2" name="Operable"/>
-        </metrics>
-        <description>
-            <desc>This intra-page link, &quot;&quot;, has only TITLE attribute to read out. Consider providing text in this link.</desc>
-        </description>
-    </checkitem>
-    <checkitem type="warning" id="B_26">
-        <guideline>
-            <gItem id="13.6" name="WCAG"/>
-            <gItem id="o" name="Section508"/>
-            <gItem techniques="G1" id="7.2.4.1" name="JIS"/>
-            <gItem id="8" name="IBMGuideline"/>
-            <gItem techniques="G1" id="2.4.1" name="WCAG 2.0"/>
-        </guideline>
-        <metrics>
-            <mItem score="2" name="Operable"/>
-        </metrics>
-        <description>
-            <desc>&quot;&quot; is not appropriate TITLE attribute for a skip-link. It should start with &quot;skip to ...&quot; or &quot;jump to ...&quot;.</desc>
-        </description>
-    </checkitem>
-    <checkitem type="warning" id="B_27">
-        <guideline>
-            <gItem id="1.1" name="WCAG"/>
-            <gItem id="a" name="Section508"/>
-            <gItem techniques="F30,G94" id="7.1.1.1" name="JIS"/>
-            <gItem id="1" name="IBMGuideline"/>
-            <gItem techniques="F30,G94" id="1.1.1" name="WCAG 2.0"/>
-        </guideline>
-        <metrics>
-            <mItem score="2" name="Perceivable"/>
-        </metrics>
-        <description>
-            <desc>&quot;&quot; might contain inappropriate text for ALT. (If the image has no information to read out, please provide alt=&quot;&quot;.)</desc>
-        </description>
-    </checkitem>
-    <checkitem type="warning" id="B_29">
-        <guideline>
-            <gItem id="1.1" name="WCAG"/>
-            <gItem id="14.1" name="WCAG"/>
-            <gItem techniques="C8,F32" id="7.1.3.2" name="JIS"/>
-            <gItem id="1" name="IBMGuideline"/>
-            <gItem techniques="C8,F32" id="1.3.2" name="WCAG 2.0"/>
-        </guideline>
-        <metrics>
-            <mItem score="2" name="Perceivable"/>
-        </metrics>
-        <description>
-            <desc>ALT attribute &quot;&quot; has inappropriate space within a word (IMAGE).</desc>
-        </description>
-    </checkitem>
-    <checkitem type="warning" id="B_30">
-        <guideline>
-            <gItem id="1.1" name="WCAG"/>
-            <gItem id="14.1" name="WCAG"/>
-            <gItem techniques="C8,F32" id="7.1.3.2" name="JIS"/>
-            <gItem id="7" name="IBMGuideline"/>
-            <gItem techniques="C8,F32" id="1.3.2" name="WCAG 2.0"/>
-        </guideline>
-        <metrics>
-            <mItem score="5" name="Perceivable"/>
-        </metrics>
-        <description>
-            <desc>ALT attribute &quot;&quot; has inappropriate space within a word (INPUT).</desc>
-        </description>
-    </checkitem>
-    <checkitem type="warning" id="B_31">
-        <guideline>
-            <gItem id="1.1" name="WCAG"/>
-            <gItem id="14.1" name="WCAG"/>
-            <gItem techniques="C8,F32" id="7.1.3.2" name="JIS"/>
-            <gItem id="2" name="IBMGuideline"/>
-            <gItem techniques="C8,F32" id="1.3.2" name="WCAG 2.0"/>
-        </guideline>
-        <metrics>
-            <mItem score="2" name="Perceivable"/>
-        </metrics>
-        <description>
-            <desc>ALT attribute &quot;&quot; has inappropriate space within a word (AREA).</desc>
-        </description>
-    </checkitem>
-    <checkitem type="warning" id="B_33">
-        <guideline>
-            <gItem id="13.6" name="WCAG"/>
-            <gItem id="o" name="Section508"/>
-            <gItem techniques="G123,G124" id="7.2.4.1" name="JIS"/>
-            <gItem id="8" name="IBMGuideline"/>
-            <gItem techniques="G123,G124" id="2.4.1" name="WCAG 2.0"/>
-        </guideline>
-        <metrics>
-            <mItem score="2" name="Operable"/>
-        </metrics>
-        <description>
-            <desc>This intra-page link does not have destination anchor &quot;&quot;. Please insert target anchor. (This link might work as intra-page link to page top.)</desc>
-        </description>
-    </checkitem>
-    <checkitem type="warning" id="B_34">
-        <guideline>
-            <gItem id="1.1" name="WCAG"/>
-            <gItem techniques="C8,F32" id="7.1.3.2" name="JIS"/>
-            <gItem id="1" name="IBMGuideline"/>
-            <gItem techniques="C8,F32" id="1.3.2" name="WCAG 2.0"/>
-        </guideline>
-        <metrics>
-            <mItem score="2" name="Perceivable"/>
-        </metrics>
-        <description>
-            <desc>Please don't separate characters except when you want to spell out the word. (ALT attribute &quot; &quot;).</desc>
-        </description>
-    </checkitem>
-    <checkitem type="warning" id="B_35">
-        <guideline>
-            <gItem techniques="G1,G123,G124" id="7.2.4.1" name="JIS"/>
-            <gItem techniques="G1,G123,G124" id="2.4.1" name="WCAG 2.0"/>
-        </guideline>
-        <metrics>
-            <mItem score="2" name="Perceivable"/>
-        </metrics>
-        <description>
-            <desc>This intra-page link,   , might not be able to use. (Please use a small image with ALT instead of display:none or visibility:hidden)</desc>
-        </description>
-    </checkitem>
-    <checkitem type="error" id="B_36">
-        <metrics>
-            <mItem score="5" name="Perceivable"/>
-        </metrics>
-        <guideline/>
-        <description>
-            <desc>Please provide VALUE attribute for INPUT button.</desc>
-        </description>
-    </checkitem>
-    <checkitem type="warning" id="B_37">
-        <guideline>
-            <gItem id="14.1" name="WCAG"/>
-            <gItem techniques="C8,F32" id="7.1.3.2" name="JIS"/>
-            <gItem id="7" name="IBMGuideline"/>
-            <gItem techniques="C8,F32" id="1.3.2" name="WCAG 2.0"/>
-        </guideline>
-        <metrics>
-            <mItem score="2" name="Perceivable"/>
-        </metrics>
-        <description>
-            <desc>VALUE attribute &quot;&quot; has inappropriate space within a word (INPUT).</desc>
-        </description>
-    </checkitem>
-    <checkitem type="error" id="L_1.0">
-        <guideline>
-            <gItem id="2.2" name="WCAG"/>
-            <gItem techniques="G18,G145" id="7.1.4.3" name="JIS"/>
-            <gItem techniques="G17,G18" id="7.1.4.6" name="JIS"/>
-            <gItem techniques="G18,G145" id="1.4.3" name="WCAG 2.0"/>
-            <gItem techniques="G17,G18" id="1.4.6" name="WCAG 2.0"/>
-        </guideline>
-        <metrics>
-            <mItem score="5" name="Perceivable"/>
-        </metrics>
-        <description>
-            <desc>Foreground and background colors are too close.</desc>
-        </description>
-    </checkitem>
-    <checkitem type="warning" id="L_1.1">
-        <guideline>
-            <gItem id="2.2" name="WCAG"/>
-            <gItem techniques="G18" id="7.1.4.3" name="JIS"/>
-            <gItem techniques="G17,G18" id="7.1.4.6" name="JIS"/>
-            <gItem techniques="G18" id="1.4.3" name="WCAG 2.0"/>
-            <gItem techniques="G17,G18" id="1.4.6" name="WCAG 2.0"/>
-        </guideline>
-        <metrics>
-            <mItem score="2" name="Perceivable"/>
-        </metrics>
-        <description>
-            <desc>Foreground and background colors are too close.</desc>
-        </description>
-    </checkitem>
-    <checkitem type="warning" id="L_1.2">
-        <guideline>
-            <gItem id="2.2" name="WCAG"/>
-            <gItem techniques="G17" id="7.1.4.6" name="JIS"/>
-            <gItem techniques="G17" id="1.4.6" name="WCAG 2.0"/>
-        </guideline>
-        <metrics>
-            <mItem score="2" name="Perceivable"/>
-        </metrics>
-        <description>
-            <desc>Foreground and background colors are too close.</desc>
-        </description>
-    </checkitem>
-    <checkitem type="warning" id="L_2">
-        <guideline>
-        </guideline>
-        <metrics>
-            <mItem score="2" name="Perceivable"/>
-        </metrics>
-        <description>
-            <desc>It is difficult for weak-sighted to read these characters. (blur)</desc>
-        </description>
-    </checkitem>
-    <checkitem type="user" id="L_3">
-        <guideline>
-            <gItem id="2.1" name="WCAG"/>
-            <gItem id="2.2" name="WCAG"/>
-            <gItem id="c" name="Section508"/>
-            <gItem techniques="G18,G145" id="7.1.4.3" name="JIS"/>
-            <gItem techniques="G17,G18" id="7.1.4.6" name="JIS"/>
-            <gItem id="12" name="IBMGuideline"/>
-            <gItem techniques="G18,G145" id="1.4.3" name="WCAG 2.0"/>
-            <gItem techniques="G17,G18" id="1.4.6" name="WCAG 2.0"/>
-        </guideline>
-        <metrics>
-            <mItem name="Perceivable"/>
-        </metrics>
-        <description>
-            <desc>This image has two or more components whose colors are too close.</desc>
-        </description>
-    </checkitem>
-    <checkitem type="error" id="L_4">
-        <guideline>
-            <gItem id="3.4" name="WCAG"/>
-            <gItem techniques="C12,C13,C14" id="7.1.4.4" name="JIS"/>
-            <gItem techniques="C12,C13,C14" id="1.4.4" name="WCAG 2.0"/>
-        </guideline>
-        <metrics>
-            <mItem score="5" name="Perceivable"/>
-        </metrics>
-        <description>
-            <desc>Do not use fixed-size font.</desc>
-        </description>
-    </checkitem>
-    <checkitem type="user" id="L_5">
-        <guideline/>
-        <metrics>
-            <mItem name="Perceivable"/>
-        </metrics>
-        <description>
-            <desc>This text is too small.</desc>
-        </description>
-    </checkitem>
-    <checkitem type="error" id="L_6">
-        <guideline>
-            <gItem techniques="C12,C13,C14" id="7.1.4.4" name="JIS"/>
-            <gItem techniques="C12,C13,C14" id="1.4.4" name="WCAG 2.0"/>
-        </guideline>
-        <metrics>
-            <mItem score="5" name="Perceivable"/>
-        </metrics>
-        <description>
-            <desc>This text is too small and its font size is fixed.</desc>
-        </description>
-    </checkitem>
-    <checkitem type="user" id="L_10">
-        <guideline>
-            <gItem techniques="F3" id="7.1.1.1" name="JIS"/>
-            <gItem techniques="F83, G18, G145" id="7.1.4.3" name="JIS"/>
-            <gItem techniques="F83, G17, G18" id="7.1.4.6" name="JIS"/>
-            <gItem techniques="F3" id="1.1.1" name="WCAG 2.0"/>
-            <gItem techniques="F83, G18, G145" id="1.4.3" name="WCAG 2.0"/>
-            <gItem techniques="F83, G17, G18" id="1.4.6" name="WCAG 2.0"/>
-        </guideline>
-        <metrics>
-            <mItem name="Perceivable"/>
-        </metrics>
-        <description>
-            <desc>Background image.</desc>
-        </description>
-    </checkitem>
-    <checkitem type="error" id="B_38">
-        <guideline>
-            <gItem id="1.1" name="WCAG"/>
-            <gItem techniques="F30,G94,H67" id="7.1.1.1" name="JIS"/>
-            <gItem id="1" name="IBMGuideline"/>
-            <gItem techniques="F30,G94,H67" id="1.1.1" name="WCAG 2.0"/>
-        </guideline>
-        <metrics>
-            <mItem score="5" name="Perceivable"/>
-        </metrics>
-        <description>
-            <desc>&quot;&quot; is not appropriate as an ALT attribute for an image.</desc>
-        </description>
-    </checkitem>
-</checker-config>
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

+<!--

+ Copyright (c) 2005, 2016 IBM Corporation and others.

+ All rights reserved. This program and the accompanying materials

+ are made available under the terms of the Eclipse Public License v1.0

+ which accompanies this distribution, and is available at

+ http://www.eclipse.org/legal/epl-v10.html

+

+ Contributors:

+     IBM Corporation - initial API and implementation

+-->

+<checker-config>

+    <checkitem type="error" id="C_1000.0">

+        <guideline>

+            <gItem id="3.2" name="WCAG"/>

+            <gItem techniques="H88" id="7.4.1.1" name="JIS"/>

+            <gItem techniques="H88" id="4.1.1" name="WCAG 2.0"/>

+        </guideline>

+        <metrics>

+            <mItem score="5" name="Robust"/>

+        </metrics>

+        <description>

+            <desc>This page seems to have several BODY elements. Please correct html.</desc>

+        </description>

+    </checkitem>

+    <checkitem type="error" id="C_1000.1">

+        <guideline>

+            <gItem id="3.2" name="WCAG"/>

+            <gItem techniques="H88" id="7.4.1.1" name="JIS"/>

+            <gItem techniques="H88" id="4.1.1" name="WCAG 2.0"/>

+        </guideline>

+        <metrics>

+            <mItem score="5" name="Robust"/>

+        </metrics>

+        <description>

+            <desc>This page seems to have HEAD element under BODY element. Please correct html.</desc>

+        </description>

+    </checkitem>

+    <checkitem type="error" id="C_1000.2">

+        <guideline>

+            <gItem id="3.2" name="WCAG"/>

+            <gItem techniques="H88" id="7.4.1.1" name="JIS"/>

+            <gItem techniques="H88" id="4.1.1" name="WCAG 2.0"/>

+        </guideline>

+        <metrics>

+            <mItem score="5" name="Robust"/>

+        </metrics>

+        <description>

+            <desc>This page seems to have several HTML elements. Please correct html.</desc>

+        </description>

+    </checkitem>

+    <checkitem type="error" id="C_1000.3">

+        <guideline>

+            <gItem id="3.2" name="WCAG"/>

+            <gItem techniques="H88" id="7.4.1.1" name="JIS"/>

+            <gItem techniques="H88" id="4.1.1" name="WCAG 2.0"/>

+        </guideline>

+        <metrics>

+            <mItem score="5" name="Robust"/>

+        </metrics>

+        <description>

+            <desc>BODY elements seems to be not properly placed. Please correct html.</desc>

+        </description>

+    </checkitem>

+    <checkitem type="error" id="C_1000.4">

+        <guideline>

+            <gItem id="3.2" name="WCAG"/>

+            <gItem techniques="H88" id="7.4.1.1" name="JIS"/>

+            <gItem techniques="H88" id="4.1.1" name="WCAG 2.0"/>

+        </guideline>

+        <metrics>

+            <mItem score="5" name="Robust"/>

+        </metrics>

+        <description>

+            <desc>This page seems to have no BODY element, or position of BODY is wrong. Please correct html.</desc>

+        </description>

+    </checkitem>

+    <checkitem type="warning" id="C_1000.5">

+        <guideline>

+            <gItem id="3.2" name="WCAG"/>

+            <gItem techniques="H88" id="7.4.1.1" name="JIS"/>

+            <gItem techniques="H88" id="4.1.1" name="WCAG 2.0"/>

+        </guideline>

+        <metrics>

+            <mItem score="2" name="Robust"/>

+        </metrics>

+        <description>

+            <desc>This page seems to have no BODY (or HEAD) element, or position of BODY is wrong. Please correct html.</desc>

+        </description>

+    </checkitem>

+    <checkitem type="user" id="C_1000.6">

+        <guideline>

+            <gItem id="3.2" name="WCAG"/>

+            <gItem techniques="H88" id="7.4.1.1" name="JIS"/>

+            <gItem techniques="H88" id="4.1.1" name="WCAG 2.0"/>

+        </guideline>

+        <metrics>

+            <mItem name="Robust"/>

+        </metrics>

+        <description>

+            <desc>Make sure to use a public text identifier in a &amp;lt;!DOCTYPE&amp;gt; statement.</desc>

+        </description>

+    </checkitem>

+    <checkitem type="warning" id="C_1000.7">

+        <guideline>

+            <gItem id="3.2" name="WCAG"/>

+            <gItem techniques="H88" id="7.4.1.1" name="JIS"/>

+            <gItem techniques="H88" id="4.1.1" name="WCAG 2.0"/>

+        </guideline>

+        <metrics>

+            <mItem score="2" name="Robust"/>

+        </metrics>

+        <description>

+            <desc>As no DOCTYPE declaration is found, validators may produce wrong results and conformance of the document is not able to be checked.</desc>

+        </description>

+    </checkitem>

+    <checkitem type="user" id="C_1000.8">

+        <guideline>

+            <gItem id="3.2" name="WCAG"/>

+            <gItem techniques="H88" id="7.4.1.1" name="JIS"/>

+            <gItem techniques="H88" id="4.1.1" name="WCAG 2.0"/>

+        </guideline>

+        <metrics>

+            <mItem name="Robust"/>

+        </metrics>

+        <description>

+            <desc>Byte-Order Mark (BOM) found in non HTML5 document. Consider to remove BOM to avoid unexpected error.</desc>

+        </description>

+    </checkitem>

+    <checkitem type="error" id="B_0">

+        <guideline>

+            <gItem id="1.1" name="WCAG"/>

+            <gItem id="a" name="Section508"/>

+            <gItem techniques="H37,H67,F38,F65" id="7.1.1.1" name="JIS"/>

+            <gItem id="1" name="IBMGuideline"/>

+            <gItem techniques="H37,H67,F38,F65" id="1.1.1" name="WCAG 2.0"/>

+        </guideline>

+        <metrics>

+            <mItem score="5" name="Perceivable"/>

+        </metrics>

+        <description>

+            <desc>No alternative text for an image (If the image has no information to read out, please provide alt=&quot;&quot;.): src=&quot;&quot;.</desc>

+        </description>

+    </checkitem>

+    <checkitem type="error" id="B_1">

+        <guideline>

+            <gItem id="1.1" name="WCAG"/>

+            <gItem id="a" name="Section508"/>

+            <gItem id="n" name="Section508"/>

+            <gItem techniques="H36,F65" id="7.1.1.1" name="JIS"/>

+            <gItem id="7" name="IBMGuideline"/>

+            <gItem techniques="H36,F65" id="1.1.1" name="WCAG 2.0"/>

+        </guideline>

+        <metrics>

+            <mItem score="5" name="Perceivable"/>

+        </metrics>

+        <description>

+            <desc>No alternative text for an image button.</desc>

+        </description>

+    </checkitem>

+    <checkitem type="error" id="B_2">

+        <guideline>

+            <gItem id="1.1" name="WCAG"/>

+            <gItem id="a" name="Section508"/>

+            <gItem techniques="H24,F65" id="7.1.1.1" name="JIS"/>

+            <gItem id="2" name="IBMGuideline"/>

+            <gItem techniques="H24,F65" id="1.1.1" name="WCAG 2.0"/>

+        </guideline>

+        <metrics>

+            <mItem score="5" name="Perceivable"/>

+        </metrics>

+        <description>

+            <desc>No alternative text for an AREA: map name=&quot;&quot;.</desc>

+        </description>

+    </checkitem>

+    <checkitem type="error" id="B_4">

+        <guideline>

+            <gItem id="1.1" name="WCAG"/>

+            <gItem id="1" name="IBMGuideline"/>

+        </guideline>

+        <metrics>

+            <mItem score="5" name="Perceivable"/>

+        </metrics>

+        <description>

+            <desc>&quot;&quot; is not appropriate as an ALT attribute for an image.</desc>

+        </description>

+    </checkitem>

+    <checkitem type="warning" id="B_5">

+        <guideline>

+            <gItem id="1.1" name="WCAG"/>

+            <gItem techniques="F30,G94" id="7.1.1.1" name="JIS"/>

+            <gItem id="7" name="IBMGuideline"/>

+            <gItem techniques="F30,G94" id="1.1.1" name="WCAG 2.0"/>

+        </guideline>

+        <metrics>

+            <mItem score="2" name="Perceivable"/>

+        </metrics>

+        <description>

+            <desc>&quot;&quot; is not appropriate as an ALT attribute for an image button.</desc>

+        </description>

+    </checkitem>

+    <checkitem type="warning" id="B_6">

+        <guideline>

+            <gItem id="1.1" name="WCAG"/>

+            <gItem techniques="F30,G94" id="7.1.1.1" name="JIS"/>

+            <gItem id="2" name="IBMGuideline"/>

+            <gItem techniques="F30,G94" id="1.1.1" name="WCAG 2.0"/>

+        </guideline>

+        <metrics>

+            <mItem score="2" name="Perceivable"/>

+        </metrics>

+        <description>

+            <desc>&quot;&quot; is not appropriate as an ALT attribute for an AREA.</desc>

+        </description>

+    </checkitem>

+    <checkitem type="error" id="B_8">

+        <guideline>

+            <gItem id="13.6" name="WCAG"/>

+            <gItem id="o" name="Section508"/>

+            <gItem techniques="G123,G124" id="7.2.4.1" name="JIS"/>

+            <gItem id="8" name="IBMGuideline"/>

+            <gItem techniques="G123,G124" id="2.4.1" name="WCAG 2.0"/>

+        </guideline>

+        <metrics>

+            <mItem score="5" name="Operable"/>

+        </metrics>

+        <description>

+            <desc>This intra-page link is broken because of a missing destination anchor &quot;&quot;.</desc>

+        </description>

+    </checkitem>

+    <checkitem type="error" id="B_9">

+        <guideline>

+            <gItem id="13.1" name="WCAG"/>

+            <gItem techniques="H2" id="7.1.1.1" name="JIS"/>

+            <gItem id="1" name="IBMGuideline"/>

+            <gItem id="2" name="IBMGuideline"/>

+            <gItem id="7" name="IBMGuideline"/>

+            <gItem techniques="H2" id="1.1.1" name="WCAG 2.0"/>

+        </guideline>

+        <metrics>

+            <mItem score="5" name="Perceivable"/>

+        </metrics>

+        <description>

+            <desc>Redundant text information: .</desc>

+        </description>

+    </checkitem>

+    <checkitem type="error" id="B_10">

+        <guideline>

+            <gItem id="13.6" name="WCAG"/>

+            <gItem id="o" name="Section508"/>

+            <gItem techniques="G1" id="7.2.4.1" name="JIS"/>

+            <gItem id="8" name="IBMGuideline"/>

+            <gItem techniques="G1" id="2.4.1" name="WCAG 2.0"/>

+        </guideline>

+        <metrics>

+            <mItem score="5" name="Operable"/>

+        </metrics>

+        <description>

+            <desc>Provide skip-links such as &quot;skip to main&quot;.</desc>

+        </description>

+    </checkitem>

+    <checkitem type="info" id="B_12">

+        <guideline>

+            <gItem id="13.6" name="WCAG"/>

+            <gItem id="o" name="Section508"/>

+            <gItem techniques="H42" id="7.1.3.1" name="JIS"/>

+            <gItem techniques="G1, G123, G124, H69" id="7.2.4.1" name="JIS"/>

+            <gItem techniques="G141" id="7.2.4.10" name="JIS"/>

+            <gItem id="8" name="IBMGuideline"/>

+            <gItem techniques="H42" id="1.3.1" name="WCAG 2.0"/>

+            <gItem techniques="G1, G123, G124, H69" id="2.4.1" name="WCAG 2.0"/>

+            <gItem techniques="G141" id="2.4.10" name="WCAG 2.0"/>

+        </guideline>

+        <metrics>

+            <mItem name="Perceivable"/>

+            <mItem name="Operable"/>

+        </metrics>

+        <description>

+            <desc>Provide intra-page links or use headings. Because there are no effective intra-page links or headings, arrival time to some content is over 120 seconds.</desc>

+        </description>

+    </checkitem>

+    <checkitem type="error" id="B_14">

+        <guideline>

+            <gItem id="13.1" name="WCAG"/>

+            <gItem techniques="H30" id="7.1.1.1" name="JIS"/>

+            <gItem techniques="H30" id="7.2.4.4" name="JIS"/>

+            <gItem techniques="H30" id="7.2.4.9" name="JIS"/>

+            <gItem id="8" name="IBMGuideline"/>

+            <gItem techniques="H30" id="1.1.1" name="WCAG 2.0"/>

+            <gItem techniques="H30" id="2.4.4" name="WCAG 2.0"/>

+            <gItem techniques="H30" id="2.4.9" name="WCAG 2.0"/>

+        </guideline>

+        <metrics>

+            <mItem score="5" name="Perceivable"/>

+            <mItem score="5" name="Operable"/>

+        </metrics>

+        <description>

+            <desc>This intra-page link, &quot;&quot;, is not accessible, since there is no readable text.</desc>

+        </description>

+    </checkitem>

+    <checkitem type="warning" id="B_15">

+        <guideline>

+            <gItem id="14.1" name="WCAG"/>

+            <gItem techniques="C8,F32" id="7.1.3.2" name="JIS"/>

+            <gItem techniques="C8,F32" id="1.3.2" name="WCAG 2.0"/>

+        </guideline>

+        <metrics>

+            <mItem score="2" name="Perceivable"/>

+        </metrics>

+        <description>

+            <desc>&quot;&quot;, is inappropriate text.</desc>

+        </description>

+    </checkitem>

+    <checkitem type="error" id="B_16">

+        <guideline>

+            <gItem id="10.2" name="WCAG"/>

+            <gItem id="12.4" name="WCAG"/>

+            <gItem id="n" name="Section508"/>

+            <gItem id="7" name="IBMGuideline"/>

+        </guideline>

+        <metrics>

+            <mItem score="5" name="Operable"/>

+        </metrics>

+        <description>

+            <desc>No ID attribute for an input element.</desc>

+        </description>

+    </checkitem>

+    <checkitem type="error" id="B_17">

+        <guideline>

+            <gItem id="13.6" name="WCAG"/>

+            <gItem id="o" name="Section508"/>

+            <gItem techniques="G1" id="7.2.4.1" name="JIS"/>

+            <gItem id="8" name="IBMGuideline"/>

+            <gItem techniques="G1" id="2.4.1" name="WCAG 2.0"/>

+        </guideline>

+        <metrics>

+            <mItem score="5" name="Operable"/>

+        </metrics>

+        <description>

+            <desc>seconds is too long to get to the &quot;skip to main&quot; link</desc>

+        </description>

+    </checkitem>

+    <checkitem type="error" id="B_18">

+        <guideline>

+            <gItem id="13.6" name="WCAG"/>

+            <gItem id="o" name="Section508"/>

+            <gItem techniques="G1" id="7.2.4.1" name="JIS"/>

+            <gItem id="8" name="IBMGuideline"/>

+            <gItem techniques="G1" id="2.4.1" name="WCAG 2.0"/>

+        </guideline>

+        <metrics>

+            <mItem score="5" name="Operable"/>

+        </metrics>

+        <description>

+            <desc>This skip-link is broken because of a missing destination anchor &quot;&quot;.</desc>

+        </description>

+    </checkitem>

+    <checkitem type="warning" id="B_19">

+        <guideline>

+            <gItem id="13.6" name="WCAG"/>

+            <gItem id="o" name="Section508"/>

+            <gItem techniques="G1" id="7.2.4.1" name="JIS"/>

+            <gItem id="8" name="IBMGuideline"/>

+            <gItem techniques="G1" id="2.4.1" name="WCAG 2.0"/>

+        </guideline>

+        <metrics>

+            <mItem score="2" name="Operable"/>

+        </metrics>

+        <description>

+            <desc>&quot;&quot; is not appropriate for a skip-link. It should start with &quot;skip to ...&quot; or &quot;jump to ...&quot;.</desc>

+        </description>

+    </checkitem>

+    <checkitem type="warning" id="B_20">

+        <guideline>

+            <gItem id="13.6" name="WCAG"/>

+            <gItem id="o" name="Section508"/>

+            <gItem techniques="G1" id="7.2.4.1" name="JIS"/>

+            <gItem id="8" name="IBMGuideline"/>

+            <gItem techniques="G1" id="2.4.1" name="WCAG 2.0"/>

+        </guideline>

+        <metrics>

+            <mItem score="2" name="Operable"/>

+        </metrics>

+        <description>

+            <desc>Consider providing skip-links (such as &quot;skip to main&quot;).</desc>

+        </description>

+    </checkitem>

+    <checkitem type="user" id="B_21">

+        <guideline>

+            <gItem id="13.6" name="WCAG"/>

+            <gItem id="o" name="Section508"/>

+            <gItem techniques="G1" id="7.2.4.1" name="JIS"/>

+            <gItem id="8" name="IBMGuideline"/>

+            <gItem techniques="G1" id="2.4.1" name="WCAG 2.0"/>

+        </guideline>

+        <metrics>

+            <mItem name="Operable"/>

+        </metrics>

+        <description>

+            <desc>There is no skip-link (such as &quot;skip to main&quot;) in this page, but the transit time is short, seconds. Make sure of the necessity of the skip-link.</desc>

+        </description>

+    </checkitem>

+    <checkitem type="user" id="B_22">

+        <guideline>

+            <gItem id="13.6" name="WCAG"/>

+            <gItem id="o" name="Section508"/>

+            <gItem techniques="G123,H69" id="7.2.4.1" name="JIS"/>

+            <gItem id="7.2.4.10" name="JIS"/>

+            <gItem id="8" name="IBMGuideline"/>

+            <gItem techniques="G123,H69" id="2.4.1" name="WCAG 2.0"/>

+            <gItem id="2.4.10" name="WCAG 2.0"/>

+        </guideline>

+        <metrics>

+            <mItem name="Operable"/>

+        </metrics>

+        <description>

+            <desc>Consider providing more intra-page links or using headings. Though there are some intra-page links, the arrival time to some content is over 120 seconds.</desc>

+        </description>

+    </checkitem>

+    <checkitem type="user" id="B_23">

+        <guideline>

+            <gItem id="13.6" name="WCAG"/>

+            <gItem id="o" name="Section508"/>

+            <gItem techniques="G123,H69" id="7.2.4.1" name="JIS"/>

+            <gItem id="7.2.4.10" name="JIS"/>

+            <gItem id="8" name="IBMGuideline"/>

+            <gItem techniques="G123,H69" id="2.4.1" name="WCAG 2.0"/>

+            <gItem id="2.4.10" name="WCAG 2.0"/>

+        </guideline>

+        <metrics>

+            <mItem name="Operable"/>

+        </metrics>

+        <description>

+            <desc>Consider providing more headings or using intra-page links. Though there are some headings, the arrival time to some content is over 120 seconds.</desc>

+        </description>

+    </checkitem>

+    <checkitem type="user" id="B_24">

+        <guideline>

+            <gItem id="13.6" name="WCAG"/>

+            <gItem id="o" name="Section508"/>

+            <gItem techniques="G123,H69" id="7.2.4.1" name="JIS"/>

+            <gItem id="7.2.4.10" name="JIS"/>

+            <gItem id="8" name="IBMGuideline"/>

+            <gItem techniques="G123,H69" id="2.4.1" name="WCAG 2.0"/>

+            <gItem id="2.4.10" name="WCAG 2.0"/>

+        </guideline>

+        <metrics>

+            <mItem name="Operable"/>

+        </metrics>

+        <description>

+            <desc>Consider using intra-page links or providing more headings. Though there are intra-page links and headings, the arrival time to some content is over 120 seconds.</desc>

+        </description>

+    </checkitem>

+    <checkitem type="warning" id="B_25">

+        <guideline>

+            <gItem id="13.1" name="WCAG"/>

+            <gItem techniques="H30" id="7.1.1.1" name="JIS"/>

+            <gItem techniques="H30" id="7.2.4.4" name="JIS"/>

+            <gItem techniques="H30" id="7.2.4.9" name="JIS"/>

+            <gItem id="8" name="IBMGuideline"/>

+            <gItem techniques="H30" id="1.1.1" name="WCAG 2.0"/>

+            <gItem techniques="H30" id="2.4.4" name="WCAG 2.0"/>

+            <gItem techniques="H30" id="2.4.9" name="WCAG 2.0"/>

+        </guideline>

+        <metrics>

+            <mItem score="2" name="Perceivable"/>

+            <mItem score="2" name="Operable"/>

+        </metrics>

+        <description>

+            <desc>This intra-page link, &quot;&quot;, has only TITLE attribute to read out. Consider providing text in this link.</desc>

+        </description>

+    </checkitem>

+    <checkitem type="warning" id="B_26">

+        <guideline>

+            <gItem id="13.6" name="WCAG"/>

+            <gItem id="o" name="Section508"/>

+            <gItem techniques="G1" id="7.2.4.1" name="JIS"/>

+            <gItem id="8" name="IBMGuideline"/>

+            <gItem techniques="G1" id="2.4.1" name="WCAG 2.0"/>

+        </guideline>

+        <metrics>

+            <mItem score="2" name="Operable"/>

+        </metrics>

+        <description>

+            <desc>&quot;&quot; is not appropriate TITLE attribute for a skip-link. It should start with &quot;skip to ...&quot; or &quot;jump to ...&quot;.</desc>

+        </description>

+    </checkitem>

+    <checkitem type="warning" id="B_27">

+        <guideline>

+            <gItem id="1.1" name="WCAG"/>

+            <gItem id="a" name="Section508"/>

+            <gItem techniques="F30,G94" id="7.1.1.1" name="JIS"/>

+            <gItem id="1" name="IBMGuideline"/>

+            <gItem techniques="F30,G94" id="1.1.1" name="WCAG 2.0"/>

+        </guideline>

+        <metrics>

+            <mItem score="2" name="Perceivable"/>

+        </metrics>

+        <description>

+            <desc>&quot;&quot; might contain inappropriate text for ALT. (If the image has no information to read out, please provide alt=&quot;&quot;.)</desc>

+        </description>

+    </checkitem>

+    <checkitem type="warning" id="B_29">

+        <guideline>

+            <gItem id="1.1" name="WCAG"/>

+            <gItem id="14.1" name="WCAG"/>

+            <gItem techniques="C8,F32" id="7.1.3.2" name="JIS"/>

+            <gItem id="1" name="IBMGuideline"/>

+            <gItem techniques="C8,F32" id="1.3.2" name="WCAG 2.0"/>

+        </guideline>

+        <metrics>

+            <mItem score="2" name="Perceivable"/>

+        </metrics>

+        <description>

+            <desc>ALT attribute &quot;&quot; has inappropriate space within a word (IMAGE).</desc>

+        </description>

+    </checkitem>

+    <checkitem type="warning" id="B_30">

+        <guideline>

+            <gItem id="1.1" name="WCAG"/>

+            <gItem id="14.1" name="WCAG"/>

+            <gItem techniques="C8,F32" id="7.1.3.2" name="JIS"/>

+            <gItem id="7" name="IBMGuideline"/>

+            <gItem techniques="C8,F32" id="1.3.2" name="WCAG 2.0"/>

+        </guideline>

+        <metrics>

+            <mItem score="5" name="Perceivable"/>

+        </metrics>

+        <description>

+            <desc>ALT attribute &quot;&quot; has inappropriate space within a word (INPUT).</desc>

+        </description>

+    </checkitem>

+    <checkitem type="warning" id="B_31">

+        <guideline>

+            <gItem id="1.1" name="WCAG"/>

+            <gItem id="14.1" name="WCAG"/>

+            <gItem techniques="C8,F32" id="7.1.3.2" name="JIS"/>

+            <gItem id="2" name="IBMGuideline"/>

+            <gItem techniques="C8,F32" id="1.3.2" name="WCAG 2.0"/>

+        </guideline>

+        <metrics>

+            <mItem score="2" name="Perceivable"/>

+        </metrics>

+        <description>

+            <desc>ALT attribute &quot;&quot; has inappropriate space within a word (AREA).</desc>

+        </description>

+    </checkitem>

+    <checkitem type="warning" id="B_33">

+        <guideline>

+            <gItem id="13.6" name="WCAG"/>

+            <gItem id="o" name="Section508"/>

+            <gItem techniques="G123,G124" id="7.2.4.1" name="JIS"/>

+            <gItem id="8" name="IBMGuideline"/>

+            <gItem techniques="G123,G124" id="2.4.1" name="WCAG 2.0"/>

+        </guideline>

+        <metrics>

+            <mItem score="2" name="Operable"/>

+        </metrics>

+        <description>

+            <desc>This intra-page link does not have destination anchor &quot;&quot;. Please insert target anchor. (This link might work as intra-page link to page top.)</desc>

+        </description>

+    </checkitem>

+    <checkitem type="warning" id="B_34">

+        <guideline>

+            <gItem id="1.1" name="WCAG"/>

+            <gItem techniques="C8,F32" id="7.1.3.2" name="JIS"/>

+            <gItem id="1" name="IBMGuideline"/>

+            <gItem techniques="C8,F32" id="1.3.2" name="WCAG 2.0"/>

+        </guideline>

+        <metrics>

+            <mItem score="2" name="Perceivable"/>

+        </metrics>

+        <description>

+            <desc>Please don't separate characters except when you want to spell out the word. (ALT attribute &quot; &quot;).</desc>

+        </description>

+    </checkitem>

+    <checkitem type="warning" id="B_35">

+        <guideline>

+            <gItem techniques="G1,G123,G124" id="7.2.4.1" name="JIS"/>

+            <gItem techniques="G1,G123,G124" id="2.4.1" name="WCAG 2.0"/>

+        </guideline>

+        <metrics>

+            <mItem score="2" name="Perceivable"/>

+        </metrics>

+        <description>

+            <desc>This intra-page link,   , might not be able to use. (Please use a small image with ALT instead of display:none or visibility:hidden)</desc>

+        </description>

+    </checkitem>

+    <checkitem type="error" id="B_36">

+        <metrics>

+            <mItem score="5" name="Perceivable"/>

+        </metrics>

+        <guideline/>

+        <description>

+            <desc>Please provide VALUE attribute for INPUT button.</desc>

+        </description>

+    </checkitem>

+    <checkitem type="warning" id="B_37">

+        <guideline>

+            <gItem id="14.1" name="WCAG"/>

+            <gItem techniques="C8,F32" id="7.1.3.2" name="JIS"/>

+            <gItem id="7" name="IBMGuideline"/>

+            <gItem techniques="C8,F32" id="1.3.2" name="WCAG 2.0"/>

+        </guideline>

+        <metrics>

+            <mItem score="2" name="Perceivable"/>

+        </metrics>

+        <description>

+            <desc>VALUE attribute &quot;&quot; has inappropriate space within a word (INPUT).</desc>

+        </description>

+    </checkitem>

+    <checkitem type="error" id="L_1.0">

+        <guideline>

+            <gItem id="2.2" name="WCAG"/>

+            <gItem techniques="G18,G145" id="7.1.4.3" name="JIS"/>

+            <gItem techniques="G17,G18" id="7.1.4.6" name="JIS"/>

+            <gItem techniques="G18,G145" id="1.4.3" name="WCAG 2.0"/>

+            <gItem techniques="G17,G18" id="1.4.6" name="WCAG 2.0"/>

+        </guideline>

+        <metrics>

+            <mItem score="5" name="Perceivable"/>

+        </metrics>

+        <description>

+            <desc>Foreground and background colors are too close.</desc>

+        </description>

+    </checkitem>

+    <checkitem type="warning" id="L_1.1">

+        <guideline>

+            <gItem id="2.2" name="WCAG"/>

+            <gItem techniques="G18" id="7.1.4.3" name="JIS"/>

+            <gItem techniques="G17,G18" id="7.1.4.6" name="JIS"/>

+            <gItem techniques="G18" id="1.4.3" name="WCAG 2.0"/>

+            <gItem techniques="G17,G18" id="1.4.6" name="WCAG 2.0"/>

+        </guideline>

+        <metrics>

+            <mItem score="2" name="Perceivable"/>

+        </metrics>

+        <description>

+            <desc>Foreground and background colors are too close.</desc>

+        </description>

+    </checkitem>

+    <checkitem type="warning" id="L_1.2">

+        <guideline>

+            <gItem id="2.2" name="WCAG"/>

+            <gItem techniques="G17" id="7.1.4.6" name="JIS"/>

+            <gItem techniques="G17" id="1.4.6" name="WCAG 2.0"/>

+        </guideline>

+        <metrics>

+            <mItem score="2" name="Perceivable"/>

+        </metrics>

+        <description>

+            <desc>Foreground and background colors are too close.</desc>

+        </description>

+    </checkitem>

+    <checkitem type="warning" id="L_2">

+        <guideline>

+        </guideline>

+        <metrics>

+            <mItem score="2" name="Perceivable"/>

+        </metrics>

+        <description>

+            <desc>It is difficult for weak-sighted to read these characters. (blur)</desc>

+        </description>

+    </checkitem>

+    <checkitem type="user" id="L_3">

+        <guideline>

+            <gItem id="2.1" name="WCAG"/>

+            <gItem id="2.2" name="WCAG"/>

+            <gItem id="c" name="Section508"/>

+            <gItem techniques="G18,G145" id="7.1.4.3" name="JIS"/>

+            <gItem techniques="G17,G18" id="7.1.4.6" name="JIS"/>

+            <gItem id="12" name="IBMGuideline"/>

+            <gItem techniques="G18,G145" id="1.4.3" name="WCAG 2.0"/>

+            <gItem techniques="G17,G18" id="1.4.6" name="WCAG 2.0"/>

+        </guideline>

+        <metrics>

+            <mItem name="Perceivable"/>

+        </metrics>

+        <description>

+            <desc>This image has two or more components whose colors are too close.</desc>

+        </description>

+    </checkitem>

+    <checkitem type="error" id="L_4">

+        <guideline>

+            <gItem id="3.4" name="WCAG"/>

+            <gItem techniques="C12,C13,C14" id="7.1.4.4" name="JIS"/>

+            <gItem techniques="C12,C13,C14" id="1.4.4" name="WCAG 2.0"/>

+        </guideline>

+        <metrics>

+            <mItem score="5" name="Perceivable"/>

+        </metrics>

+        <description>

+            <desc>Do not use fixed-size font.</desc>

+        </description>

+    </checkitem>

+    <checkitem type="user" id="L_5">

+        <guideline/>

+        <metrics>

+            <mItem name="Perceivable"/>

+        </metrics>

+        <description>

+            <desc>This text is too small.</desc>

+        </description>

+    </checkitem>

+    <checkitem type="error" id="L_6">

+        <guideline>

+            <gItem techniques="C12,C13,C14" id="7.1.4.4" name="JIS"/>

+            <gItem techniques="C12,C13,C14" id="1.4.4" name="WCAG 2.0"/>

+        </guideline>

+        <metrics>

+            <mItem score="5" name="Perceivable"/>

+        </metrics>

+        <description>

+            <desc>This text is too small and its font size is fixed.</desc>

+        </description>

+    </checkitem>

+    <checkitem type="user" id="L_10">

+        <guideline>

+            <gItem techniques="F3" id="7.1.1.1" name="JIS"/>

+            <gItem techniques="F83, G18, G145" id="7.1.4.3" name="JIS"/>

+            <gItem techniques="F83, G17, G18" id="7.1.4.6" name="JIS"/>

+            <gItem techniques="F3" id="1.1.1" name="WCAG 2.0"/>

+            <gItem techniques="F83, G18, G145" id="1.4.3" name="WCAG 2.0"/>

+            <gItem techniques="F83, G17, G18" id="1.4.6" name="WCAG 2.0"/>

+        </guideline>

+        <metrics>

+            <mItem name="Perceivable"/>

+        </metrics>

+        <description>

+            <desc>Background image.</desc>

+        </description>

+    </checkitem>

+    <checkitem type="error" id="B_38">

+        <guideline>

+            <gItem id="1.1" name="WCAG"/>

+            <gItem techniques="F30,G94,H67" id="7.1.1.1" name="JIS"/>

+            <gItem id="1" name="IBMGuideline"/>

+            <gItem techniques="F30,G94,H67" id="1.1.1" name="WCAG 2.0"/>

+        </guideline>

+        <metrics>

+            <mItem score="5" name="Perceivable"/>

+        </metrics>

+        <description>

+            <desc>&quot;&quot; is not appropriate as an ALT attribute for an image.</desc>

+        </description>

+    </checkitem>

+</checker-config>

diff --git a/plugins/org.eclipse.actf.visualization.eval/resources/description.properties b/plugins/org.eclipse.actf.visualization.eval/resources/description.properties
index a006412..c145db3 100644
--- a/plugins/org.eclipse.actf.visualization.eval/resources/description.properties
+++ b/plugins/org.eclipse.actf.visualization.eval/resources/description.properties
@@ -1,63 +1,63 @@
-###############################################################################
-# Copyright (c) 2005, 2012 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-B_0 = No alternative text for an image. Provide its text alternative. (If the image should be ignored by assistive technology, provide alt="" and no title attribute.): src="{0}".
-B_1 = No alternative text for an image button. Provide its text alternative.
-B_2 = No alternative text for an area element: {0}. Provide its text alternative.
-B_4 = "{0}" is not appropriate as an alt attribute for an image.
-B_5 = "{0}" may be inappropriate as an alt attribute for an image button.
-B_6 = "{0}" may be inappropriate as an alt attribute for an area element.
-B_8 = This intra-page link is broken because of a missing destination anchor "{0}".
-B_9 = Redundant text information: {0}
-B_10 = Provide skip-links such as "skip to main".
-B_12 = Provide intra-page links or use headings. Because there are no effective intra-page links or headings, arrival time to some content is over 120 seconds.
-B_14 = This intra-page link, "{0}", is not accessible, since there is no readable text.
-B_15 = "{0}" may be inappropriate text (space separated characters).
-B_16 = No id attribute for an input element.
-B_17 = {0} seconds is too long to get to the "skip to main" link
-B_18 = This skip-link is broken because of a missing destination anchor "{0}".
-B_19 = "{0}" is not appropriate for a skip-link. It should start with "skip to ..." or "jump to ...".
-B_20 = Consider providing skip-links (such as "skip to main").
-B_21 = There is no skip-link (such as "skip to main") in this page, but the transit time is short, {0} seconds. Make sure of the necessity of the skip-link.
-B_22 = Consider providing more intra-page links or using headings. Though there are some intra-page links, the arrival time to some content is over 120 seconds.
-B_23 = Consider providing more headings or using intra-page links. Though there are some headings, the arrival time to some content is over 120 seconds.
-B_24 = Consider using intra-page links or providing more headings. Though there are intra-page links and headings, the arrival time to some content is over 120 seconds.
-B_25 = This intra-page link, "{0}", has only title attribute to read out. Consider providing text in this link.
-B_26 = "{0}" is not appropriate title attribute for a skip-link. It should start with "skip to ..." or "jump to ...".
-B_27 = "{0}" might contain inappropriate text for ALT. (If the image should be ignored by assistive technology, provide alt="" and no title attribute. Otherwise, provide appropriate alternative text.)
-B_29 = The alt attribute "{0}" has inappropriate space within a word (image).
-B_30 = The alt attribute "{0}" of the input element has inappropriate spaces within a word.
-B_31 = The alt attribute "{0}" has inappropriate space within a word (area).
-B_33 = This intra-page link does not have destination anchor "{0}". Please insert target anchor. (This link might work as intra-page link to page top.)
-B_34 = Do not separate characters except when you want to spell out the word. (alt attribute "{0}").
-B_35 = This intra-page link, {0} , might not be able to use. (Please use a small image with alt instead of display:none or visibility:hidden)
-B_36 = Please provide value attribute for input button.
-B_37 = The value attribute "{0}" has inappropriate space within a word (input).
-B_38 = "{0}" is not appropriate as an ALT attribute for an image (it contains &nbsp; characters). If the image should be ignored by assistive technology, provide alt="" and no title attribute. Otherwise, provide appropriate alternative text.
-
-C_1000.0 = This page seems to have several body elements. Please correct the HTML document.
-C_1000.1 = This page seems to have head element under body element. Please correct the HTML document.
-C_1000.2 = This page seems to have several html elements. Please correct the HTML document.
-C_1000.3 = The body elements seems to be not properly placed. Please correct the HTML document.
-C_1000.4 = This page seems to have no body element, or position of body is wrong. Please correct the HTML document.
-C_1000.5 = This page seems to have no body (or HEAD) element, or position of body is wrong. Please correct the HTML document.
-C_1000.6 = The public identifier specified in the DOCTYPE declaration is not well-known. validators may produce wrong results and conformance checking of the document may be impossible.
-C_1000.7 = As no DOCTYPE declaration is found, validators may produce wrong results and conformance of the document is not able to be checked.
-C_1000.8 = Byte-Order Mark (BOM) found in UTF-8 HTML file. BOM should be removed to avoid unexpected error.
-
-L_1.0 = Foreground and background colors are too close. {0}
-L_1.1 = Foreground and background colors are too close. {0}
-L_1.2 = Foreground and background colors are close. {0}
-L_2 = It is difficult for weak-sighted to read these characters. (blur)
-L_3 = This image has two or more components whose colors are too close.
-L_4 = Do not use fixed-size font.
-L_5 = This text is too small.
-L_6 = This text is too small and its font size is fixed.  
+###############################################################################

+# Copyright (c) 2005, 2016 IBM Corporation and others.

+# All rights reserved. This program and the accompanying materials

+# are made available under the terms of the Eclipse Public License v1.0

+# which accompanies this distribution, and is available at

+# http://www.eclipse.org/legal/epl-v10.html

+#

+# Contributors:

+#     IBM Corporation - initial API and implementation

+###############################################################################

+B_0 = No alternative text for an image. Provide its text alternative. (If the image should be ignored by assistive technology, provide alt="" and no title attribute.): src="{0}".

+B_1 = No alternative text for an image button. Provide its text alternative.

+B_2 = No alternative text for an area element: {0}. Provide its text alternative.

+B_4 = "{0}" is not appropriate as an alt attribute for an image.

+B_5 = "{0}" may be inappropriate as an alt attribute for an image button.

+B_6 = "{0}" may be inappropriate as an alt attribute for an area element.

+B_8 = This intra-page link is broken because of a missing destination anchor "{0}".

+B_9 = Redundant text information: {0}

+B_10 = Provide skip-links such as "skip to main".

+B_12 = Provide intra-page links or use headings. Because there are no effective intra-page links or headings, arrival time to some content is over 120 seconds.

+B_14 = This intra-page link, "{0}", is not accessible, since there is no readable text.

+B_15 = "{0}" may be inappropriate text (space separated characters).

+B_16 = No id attribute for an input element.

+B_17 = {0} seconds is too long to get to the "skip to main" link

+B_18 = This skip-link is broken because of a missing destination anchor "{0}".

+B_19 = "{0}" is not appropriate for a skip-link. It should start with "skip to ..." or "jump to ...".

+B_20 = Consider providing skip-links (such as "skip to main").

+B_21 = There is no skip-link (such as "skip to main") in this page, but the transit time is short, {0} seconds. Make sure of the necessity of the skip-link.

+B_22 = Consider providing more intra-page links or using headings. Though there are some intra-page links, the arrival time to some content is over 120 seconds.

+B_23 = Consider providing more headings or using intra-page links. Though there are some headings, the arrival time to some content is over 120 seconds.

+B_24 = Consider using intra-page links or providing more headings. Though there are intra-page links and headings, the arrival time to some content is over 120 seconds.

+B_25 = This intra-page link, "{0}", has only title attribute to read out. Consider providing text in this link.

+B_26 = "{0}" is not appropriate title attribute for a skip-link. It should start with "skip to ..." or "jump to ...".

+B_27 = "{0}" might contain inappropriate text for ALT. (If the image should be ignored by assistive technology, provide alt="" and no title attribute. Otherwise, provide appropriate alternative text.)

+B_29 = The alt attribute "{0}" has inappropriate space within a word (image).

+B_30 = The alt attribute "{0}" of the input element has inappropriate spaces within a word.

+B_31 = The alt attribute "{0}" has inappropriate space within a word (area).

+B_33 = This intra-page link does not have destination anchor "{0}". Please insert target anchor. (This link might work as intra-page link to page top.)

+B_34 = Do not separate characters except when you want to spell out the word. (alt attribute "{0}").

+B_35 = This intra-page link, {0} , might not be able to use. (Please use a small image with alt instead of display:none or visibility:hidden)

+B_36 = Please provide value attribute for input button.

+B_37 = The value attribute "{0}" has inappropriate space within a word (input).

+B_38 = "{0}" is not appropriate as an ALT attribute for an image (it contains &nbsp; characters). If the image should be ignored by assistive technology, provide alt="" and no title attribute. Otherwise, provide appropriate alternative text.

+

+C_1000.0 = This page seems to have several body elements. Please correct the HTML document.

+C_1000.1 = This page seems to have head element under body element. Please correct the HTML document.

+C_1000.2 = This page seems to have several html elements. Please correct the HTML document.

+C_1000.3 = The body elements seems to be not properly placed. Please correct the HTML document.

+C_1000.4 = This page seems to have no body element, or position of body is wrong. Please correct the HTML document.

+C_1000.5 = This page seems to have no body (or HEAD) element, or position of body is wrong. Please correct the HTML document.

+C_1000.6 = The public identifier specified in the DOCTYPE declaration is not well-known. validators may produce wrong results and conformance checking of the document may be impossible.

+C_1000.7 = As no DOCTYPE declaration is found, validators may produce wrong results and conformance of the document is not able to be checked.

+C_1000.8 = Byte-Order Mark (BOM) found in non HTML5 document. Consider to remove BOM to avoid unexpected error.

+

+L_1.0 = Foreground and background colors are too close. {0}

+L_1.1 = Foreground and background colors are too close. {0}

+L_1.2 = Foreground and background colors are close. {0}

+L_2 = It is difficult for weak-sighted to read these characters. (blur)

+L_3 = This image has two or more components whose colors are too close.

+L_4 = Do not use fixed-size font.

+L_5 = This text is too small.

+L_6 = This text is too small and its font size is fixed.  

 L_10 = This area has background image. Please confirm the contrast between text and background, and confirm important information is not provided only by background image. .{0}
\ No newline at end of file
diff --git a/plugins/org.eclipse.actf.visualization.eval/resources/description_ja.properties b/plugins/org.eclipse.actf.visualization.eval/resources/description_ja.properties
index 5ec2095..b733346 100644
--- a/plugins/org.eclipse.actf.visualization.eval/resources/description_ja.properties
+++ b/plugins/org.eclipse.actf.visualization.eval/resources/description_ja.properties
@@ -1,63 +1,63 @@
-###############################################################################
-# Copyright (c) 2005, 2012 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-B_0 = \u753b\u50cf\u306balt\u5c5e\u6027\u304c\u3042\u308a\u307e\u305b\u3093\u3002\u4ee3\u66ff\u30c6\u30ad\u30b9\u30c8\u3092\u63d0\u4f9b\u3057\u3066\u304f\u3060\u3055\u3044\u3002(\u3082\u3057\u652f\u63f4\u6280\u8853\u304c\u3053\u306e\u753b\u50cf\u3092\u7121\u8996\u3059\u308b\u3079\u304d\u5834\u5408\u306f\u3001 alt="" \u3068\u8a2d\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044)\uff1a src="{0}"
-B_1 = \u753b\u50cf\u30dc\u30bf\u30f3\u306balt\u5c5e\u6027\u304c\u3042\u308a\u307e\u305b\u3093\u3002\u4ee3\u66ff\u30c6\u30ad\u30b9\u30c8\u3092\u63d0\u4f9b\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-B_2 = area\u8981\u7d20\u306balt\u5c5e\u6027\u304c\u3042\u308a\u307e\u305b\u3093\uff1a {0}\u3002\u4ee3\u66ff\u30c6\u30ad\u30b9\u30c8\u3092\u63d0\u4f9b\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-B_4 = "{0}"\u306f\u753b\u50cf\u306ealt\u5c5e\u6027\u3068\u3057\u3066\u4e0d\u9069\u5207\u3067\u3059
-B_5 = "{0}"\u306f\u753b\u50cf\u30dc\u30bf\u30f3\u306ealt\u5c5e\u6027\u3068\u3057\u3066\u4e0d\u9069\u5207\u3067\u3042\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059
-B_6 = "{0}"\u306farea\u8981\u7d20\u306ealt\u5c5e\u6027\u3068\u3057\u3066\u4e0d\u9069\u5207\u3067\u3042\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059
-B_8 = \u3053\u306e\u30da\u30fc\u30b8\u5185\u30ea\u30f3\u30af\u306f\u3001\u30b8\u30e3\u30f3\u30d7\u5148\u306e\u30a2\u30f3\u30ab\u30fc"{0}"\u304c\u5b58\u5728\u3057\u306a\u3044\u305f\u3081\u5229\u7528\u3067\u304d\u307e\u305b\u3093
-B_9 = \u540c\u4e00\u30c6\u30ad\u30b9\u30c8\u306e\u7e70\u308a\u8fd4\u3057\u304c\u3042\u308a\u307e\u3059\uff1a {0}
-B_10 = "\u672c\u6587\u3078\u79fb\u52d5"\u306a\u3069\u306e\u30b9\u30ad\u30c3\u30d7\u30ea\u30f3\u30af\u3092\u63d0\u4f9b\u3057\u3066\u304f\u3060\u3055\u3044\u3000\uff08\u672c\u6587\u3078\u30b8\u30e3\u30f3\u30d7\u3001\u672c\u6587\u3078\u306e\u30ea\u30f3\u30af\u7b49\uff09
-B_12 = \u30da\u30fc\u30b8\u5185\u30ea\u30f3\u30af\u3082\u3057\u304f\u306f\u898b\u51fa\u3057\uff08h1\u3001h2\u2026\uff09\u3092\u5229\u7528\u3057\u3066\u304f\u3060\u3055\u3044\u3000(\u52b9\u679c\u7684\u306a\u30da\u30fc\u30b8\u5185\u30ea\u30f3\u30af\u30fb\u898b\u51fa\u3057\u304c\u7121\u3044\u305f\u3081\u3001\u5230\u7740\u306b2\u5206\u4ee5\u4e0a\u304b\u304b\u308b\u30b3\u30f3\u30c6\u30f3\u30c4\u304c\u5b58\u5728\u3057\u3066\u3044\u307e\u3059)
-B_14 = \u30da\u30fc\u30b8\u5185\u30ea\u30f3\u30af "{0}"\u3000\u306f\u3001\u8aad\u307f\u4e0a\u3052\u53ef\u80fd\u306a\u30c6\u30ad\u30b9\u30c8\u3092\u6301\u305f\u306a\u3044\u305f\u3081\u3001\u97f3\u58f0\u30a2\u30af\u30bb\u30b9\u3067\u304d\u307e\u305b\u3093
-B_15 = "{0}"\u3000\u306f\u6587\u5b57\u9593\u306b\u7a7a\u767d\u3092\u542b\u3093\u3067\u3044\u308b\u305f\u3081\u3001\u97f3\u58f0\u3067\u6b63\u78ba\u306b\u8aad\u307f\u4e0a\u3052\u308b\u3053\u3068\u304c\u51fa\u6765\u306a\u3044\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059
-B_16 = input\u306bid\u5c5e\u6027\u304c\u3042\u308a\u307e\u305b\u3093
-B_17 = "\u672c\u6587\u3078\u79fb\u52d5"\u306a\u3069\u306e\u30b9\u30ad\u30c3\u30d7\u30ea\u30f3\u30af\u3078\u306e\u5230\u9054\u306b{0}\u79d2\u3082\u304b\u304b\u308a\u307e\u3059\u3000(\u30b9\u30ad\u30c3\u30d7\u30ea\u30f3\u30af\u306e\u633f\u5165\u4f4d\u7f6e\u3092\u898b\u76f4\u3057\u3066\u304f\u3060\u3055\u3044)
-B_18 = \u3053\u306e\u30b9\u30ad\u30c3\u30d7\u30ea\u30f3\u30af\u306f\u30b8\u30e3\u30f3\u30d7\u5148\u306e\u30a2\u30f3\u30ab\u30fc"{0}"\u304c\u5b58\u5728\u3057\u306a\u3044\u305f\u3081\u5229\u7528\u3067\u304d\u307e\u305b\u3093
-B_19 = \u30b9\u30ad\u30c3\u30d7\u30ea\u30f3\u30af\u306f"\u672c\u6587\u3078\u79fb\u52d5"\u3001"\u672c\u6587\u3078\u306e\u30ea\u30f3\u30af"\u7b49\u3001\u306a\u308b\u3079\u304f\u7c21\u6613\u306a\u30c6\u30ad\u30b9\u30c8\u3092\u7528\u3044\u3066\u4e0b\u3055\u3044\u3000"{0}"\u3000\u306f\u5c11\u3057\u5197\u9577\u3067\u3059
-B_20 = "\u672c\u6587\u3078\u79fb\u52d5"\u306a\u3069\u306e\u30b9\u30ad\u30c3\u30d7\u30ea\u30f3\u30af\u306e\u63d0\u4f9b\u3092\u691c\u8a0e\u3057\u3066\u4e0b\u3055\u3044
-B_21 = \u3053\u306e\u30da\u30fc\u30b8\u306b\u306f"\u672c\u6587\u3078\u79fb\u52d5"\u306a\u3069\u306e\u30b9\u30ad\u30c3\u30d7\u30ea\u30f3\u30af\u306f\u3042\u308a\u307e\u305b\u3093\u304c\u3001\u5404\u30b3\u30f3\u30c6\u30f3\u30c4\u3078\u306e\u5230\u9054\u6642\u9593\u306f\u6700\u5927\u3067\u3082{0}\u79d2\u3067\u3059\u3000(\u5fc5\u8981\u304c\u3042\u308c\u3070\u30b9\u30ad\u30c3\u30d7\u30ea\u30f3\u30af\u306e\u63d0\u4f9b\u3092\u691c\u8a0e\u3057\u3066\u304f\u3060\u3055\u3044)
-B_22 = \u3088\u308a\u591a\u304f\u306e\u30da\u30fc\u30b8\u5185\u30ea\u30f3\u30af\u306e\u63d0\u4f9b\u3084\u3001\u898b\u51fa\u3057\u306e\u5229\u7528\u3092\u691c\u8a0e\u3057\u3066\u304f\u3060\u3055\u3044\u3000(\u65e2\u306b\u30da\u30fc\u30b8\u5185\u30ea\u30f3\u30af\u304c\u5229\u7528\u3055\u308c\u3066\u3044\u307e\u3059\u304c\u3001\u5230\u9054\u306b2\u5206\u4ee5\u4e0a\u5fc5\u8981\u306a\u30b3\u30f3\u30c6\u30f3\u30c4\u304c\u5b58\u5728\u3057\u3066\u3044\u307e\u3059)
-B_23 = \u3088\u308a\u591a\u304f\u306e\u898b\u51fa\u3057\u3092\u63d0\u4f9b\u3059\u308b\u304b\u3001\u30da\u30fc\u30b8\u5185\u30ea\u30f3\u30af\u306e\u5229\u7528\u3092\u691c\u8a0e\u3057\u3066\u304f\u3060\u3055\u3044\u3000(\u3053\u306e\u30da\u30fc\u30b8\u306b\u306f\u898b\u51fa\u3057\u304c\u5b58\u5728\u3057\u3066\u3044\u307e\u3059\u304c\u3001\u5230\u9054\u306b2\u5206\u4ee5\u4e0a\u5fc5\u8981\u306a\u30b3\u30f3\u30c6\u30f3\u30c4\u304c\u5b58\u5728\u3057\u3066\u3044\u307e\u3059)
-B_24 = \u3088\u308a\u591a\u304f\u306e\u30da\u30fc\u30b8\u5185\u30ea\u30f3\u30af\u30fb\u898b\u51fa\u3057\u306e\u5229\u7528\u3092\u8003\u616e\u3057\u3066\u304f\u3060\u3055\u3044\u3000(\u65e2\u306b\u30da\u30fc\u30b8\u5185\u30ea\u30f3\u30af\u30fb\u898b\u51fa\u3057\u304c\u7528\u3044\u3089\u308c\u3066\u3044\u307e\u3059\u304c\u3001\u5230\u9054\u306b2\u5206\u4ee5\u4e0a\u5fc5\u8981\u306a\u30b3\u30f3\u30c6\u30f3\u30c4\u304c\u5b58\u5728\u3057\u3066\u3044\u307e\u3059)
-B_25 = \u3053\u306e\u30da\u30fc\u30b8\u5185\u30ea\u30f3\u30af"{0}"\u306b\u306f\u3001\u8aad\u307f\u4e0a\u3052\u53ef\u80fd\u306a\u60c5\u5831\u3068\u3057\u3066title\u5c5e\u6027\u306e\u307f\u304c\u5b58\u5728\u3057\u3066\u3044\u307e\u3059\u3002\u30ea\u30f3\u30af\u5185\u306b\u4f55\u3089\u304b\u306e\u30c6\u30ad\u30b9\u30c8\u60c5\u5831\u3092\u63d0\u4f9b\u3059\u308b\u3053\u3068\u3092\u691c\u8a0e\u3057\u3066\u304f\u3060\u3055\u3044
-B_26 = \u30b9\u30ad\u30c3\u30d7\u30ea\u30f3\u30af\u306f"\u672c\u6587\u3078\u306e\u79fb\u52d5"\u3001"\u672c\u6587\u3078\u306e\u30ea\u30f3\u30af"\u7b49\u306a\u308b\u3079\u304f\u7c21\u6613\u306a\u30c6\u30ad\u30b9\u30c8\u3092\u5229\u7528\u3057\u3066\u304f\u3060\u3055\u3044\u3002"{0}"\u306f\u5c11\u3057\u5197\u9577\u3067\u3059\u3002
-B_27 = "{0}"\u306f\u753b\u50cf\u306ealt\u5c5e\u6027\u3068\u3057\u3066\u4e0d\u9069\u5207\u306a\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002\uff08\u3082\u3057\u652f\u63f4\u6280\u8853\u304c\u3053\u306e\u753b\u50cf\u3092\u7121\u8996\u3059\u308b\u3079\u304d\u5834\u5408\u306f\u3001alt=""\u3068\u8a2d\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u305d\u3046\u3067\u306a\u3051\u308c\u3070\u9069\u5207\u306a\u4ee3\u66ff\u30c6\u30ad\u30b9\u30c8\u3092\u63d0\u4f9b\u3057\u3066\u304f\u3060\u3055\u3044\u3002\uff09
-B_29 = \u753b\u50cf\u306ealt\u5c5e\u6027\u201d{0}\u201d\u306f\u6587\u5b57\u9593\u306b\u7a7a\u767d\u3092\u542b\u3093\u3067\u3044\u308b\u305f\u3081\u3001\u97f3\u58f0\u3067\u6b63\u78ba\u306b\u8aad\u307f\u4e0a\u3052\u308b\u3053\u3068\u304c\u51fa\u6765\u306a\u3044\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002
-B_30 = \u753b\u50cf\u30dc\u30bf\u30f3\u306ealt\u5c5e\u6027\u201d{0}\u201d\u306f\u6587\u5b57\u9593\u306b\u7a7a\u767d\u3092\u542b\u3093\u3067\u3044\u308b\u305f\u3081\u3001\u97f3\u58f0\u3067\u6b63\u78ba\u306b\u8aad\u307f\u4e0a\u3052\u308b\u3053\u3068\u304c\u51fa\u6765\u306a\u3044\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002
-B_31 = area\u306ealt\u5c5e\u6027\u201d{0}\u201d\u306f\u6587\u5b57\u9593\u306b\u7a7a\u767d\u3092\u542b\u3093\u3067\u3044\u308b\u305f\u3081\u3001\u97f3\u58f0\u3067\u6b63\u78ba\u306b\u8aad\u307f\u4e0a\u3052\u308b\u3053\u3068\u304c\u51fa\u6765\u306a\u3044\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002
-B_33 = \u3053\u306e\u30da\u30fc\u30b8\u5185\u30ea\u30f3\u30af\u306f\u30b8\u30e3\u30f3\u30d7\u5148\u306e\u30a2\u30f3\u30ab\u30fc"{0}"\u304c\u5b58\u5728\u3057\u307e\u305b\u3093\uff0e\u30b8\u30e3\u30f3\u30d7\u5148\u306e\u30a2\u30f3\u30ab\u30fc\u3092\u633f\u5165\u3057\u3066\u304f\u3060\u3055\u3044 (\u30da\u30fc\u30b8\u306e\u5148\u982d\u3078\u306e\u30da\u30fc\u30b8\u5185\u30ea\u30f3\u30af\u3068\u3057\u3066\u52d5\u4f5c\u3059\u308b\u5834\u5408\u3082\u3042\u308a\u307e\u3059)
-B_34 = \u5358\u8a9e\u306e\u3064\u3065\u308a\u3092\u8a18\u8ff0\u3057\u305f\u3044\u5834\u5408\u4ee5\u5916\u306f\uff0c\u6587\u5b57\u3092\u7a7a\u767d\u3067\u533a\u5207\u3063\u3066\u8a18\u8ff0\u3059\u308b\u3053\u3068\u306f\u907f\u3051\u3066\u304f\u3060\u3055\u3044 (alt\u5c5e\u6027 "{0}")
-B_35 = \u30da\u30fc\u30b8\u5185\u30ea\u30f3\u30af\uff0c {0} \uff0c\u306f\u5229\u7528\u3067\u304d\u306a\u3044\u3068\u601d\u308f\u308c\u307e\u3059\uff0e\uff08display:none\u3084display:hidden\u306e\u4ee3\u308f\u308a\u306b\uff0c\u30ea\u30f3\u30af\u5185\u306balt\u5c5e\u6027\u3092\u4ed8\u3051\u305f\u5c0f\u3055\u306a\u753b\u50cf\u3092\u914d\u7f6e\u3059\u308b\u306a\u3069\u3057\u3066\u4e0b\u3055\u3044\uff09
-B_36 = \u30dc\u30bf\u30f3(input)\u306b\u306fvalue\u5c5e\u6027\u3092\u63d0\u4f9b\u3057\u3066\u304f\u3060\u3055\u3044 \u3002
-B_37 = \u201d{0}\u201d\u30dc\u30bf\u30f3\uff08input\u306evalue\u5c5e\u6027\uff09\u306f\u6587\u5b57\u9593\u306b\u7a7a\u767d\u3092\u542b\u3093\u3067\u3044\u308b\u305f\u3081\u3001\u97f3\u58f0\u3067\u6b63\u78ba\u306b\u8aad\u307f\u4e0a\u3052\u308b\u3053\u3068\u304c\u51fa\u6765\u306a\u3044\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002
-B_38 = "{0}"\uff08&nbsp;\u3092\u542b\u3080\u7a7a\u767d\u6587\u5b57\u306e\u307f\uff09\u306f\u753b\u50cf\u306ealt\u5c5e\u6027\u3068\u3057\u3066\u4e0d\u9069\u5207\u3067\u3059\u3002 (\u3082\u3057\u652f\u63f4\u6280\u8853\u304c\u3053\u306e\u753b\u50cf\u3092\u7121\u8996\u3059\u308b\u3079\u304d\u5834\u5408\u306f\u3001 alt="" \u3068\u8a2d\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u305d\u3046\u3067\u306a\u3051\u308c\u3070\u9069\u5207\u306a\u4ee3\u66ff\u30c6\u30ad\u30b9\u30c8\u3092\u63d0\u4f9b\u3057\u3066\u304f\u3060\u3055\u3044\u3002)
-
-C_1000.0 = \u3053\u306e\u30da\u30fc\u30b8\u306b\u306f\u8907\u6570\u306ebody\u8981\u7d20\u304c\u3042\u308b\u3088\u3046\u3067\u3059\uff0eHTML\u3092\u4fee\u6b63\u3057\u3066\u304f\u3060\u3055\u3044
-C_1000.1 = body\u8981\u7d20\u306e\u4e2d\u306bhead\u8981\u7d20\u304c\u3042\u308b\u3088\u3046\u3067\u3059\uff0eHTML\u3092\u4fee\u6b63\u3057\u3066\u304f\u3060\u3055\u3044
-C_1000.2 = \u3053\u306e\u30da\u30fc\u30b8\u306b\u306f\u8907\u6570\u306ehtml\u8981\u7d20\u304c\u3042\u308b\u3088\u3046\u3067\u3059\uff0eHTML\u3092\u4fee\u6b63\u3057\u3066\u304f\u3060\u3055\u3044
-C_1000.3 = body\u8981\u7d20\u306e\u4f4d\u7f6e\u304c\u6b63\u3057\u304f\u306a\u3044\u3088\u3046\u3067\u3059\uff0eHTML\u3092\u4fee\u6b63\u3057\u3066\u304f\u3060\u3055\u3044
-C_1000.4 = \u3053\u306e\u30da\u30fc\u30b8\u306b\u306fbody\u8981\u7d20\u304c\u7121\u3044\u304b\uff0c\u8aa4\u3063\u305f\u4f4d\u7f6e\u306b\u914d\u7f6e\u3055\u308c\u3066\u3044\u308b\u3088\u3046\u3067\u3059\uff0eHTML\u3092\u4fee\u6b63\u3057\u3066\u304f\u3060\u3055\u3044
-C_1000.5 = \u3053\u306e\u30da\u30fc\u30b8\u306b\u306fbody\u8981\u7d20\u3082\u3057\u304f\u306fhead\u8981\u7d20\u304c\u7121\u3044\u304b\uff0c\u8aa4\u3063\u305f\u4f4d\u7f6e\u306b\u914d\u7f6e\u3055\u308c\u3066\u3044\u308b\u3088\u3046\u3067\u3059\uff0eHTML\u3092\u4fee\u6b63\u3057\u3066\u304f\u3060\u3055\u3044
-C_1000.6 = \u6587\u66f8\u306eDOCTYPE\u5ba3\u8a00\u3067\u6307\u5b9a\u3055\u308c\u305f\u516c\u958b\u8b58\u5225\u5b50\u306f\u3088\u304f\u77e5\u3089\u308c\u305f\u3082\u306e\u3067\u306f\u306a\u3044\u3088\u3046\u3067\u3059\u3002\u305d\u306e\u305f\u3081\u3001\u30d0\u30ea\u30c7\u30fc\u30bf\u304c\u8aa4\u3063\u305f\u691c\u8a3c\u7d50\u679c\u3092\u8fd4\u3059\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002\u307e\u305f\u3001\u6587\u66f8\u304c\u4ed5\u69d8\u306b\u6e96\u62e0\u3059\u308b\u304b\u3069\u3046\u304b\u5224\u5b9a\u3067\u304d\u306a\u3044\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002
-C_1000.7 = \u6587\u66f8\u306bDOCTYPE\u5ba3\u8a00\u304c\u306a\u3044\u305f\u3081\u3001\u30d0\u30ea\u30c7\u30fc\u30bf\u304c\u8aa4\u3063\u305f\u691c\u8a3c\u7d50\u679c\u3092\u8fd4\u3059\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002\u307e\u305f\u3001\u6587\u66f8\u304c\u4ed5\u69d8\u306b\u6e96\u62e0\u3059\u308b\u304b\u3069\u3046\u304b\u5224\u5b9a\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002
-C_1000.8 = Byte-Order Mark (BOM)\u304cUTF-8\u306eHTML\u30d5\u30a1\u30a4\u30eb\u306b\u898b\u3064\u304b\u308a\u307e\u3057\u305f\u3002\u601d\u3044\u304c\u3051\u306a\u3044\u554f\u984c\u3092\u907f\u3051\u308b\u305f\u3081\u3001BOM\u3092\u524a\u9664\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-
-L_1.0 = \u6587\u5b57\u8272\u3068\u80cc\u666f\u8272\u306e\u30b3\u30f3\u30c8\u30e9\u30b9\u30c8\u6bd4\u304c3:1\u672a\u6e80\u3067\u3059\u3002{0}
-L_1.1 = \u6587\u5b57\u8272\u3068\u80cc\u666f\u8272\u306e\u30b3\u30f3\u30c8\u30e9\u30b9\u30c8\u6bd4\u304c4.5:1\u672a\u6e80\u3067\u3059\u3002 {0}
-L_1.2 = \u6587\u5b57\u8272\u3068\u80cc\u666f\u8272\u306e\u30b3\u30f3\u30c8\u30e9\u30b9\u30c8\u6bd4\u304c7:1\u672a\u6e80\u3067\u3059\u3002  {0}
-L_2 = \u3053\u306e\u6587\u5b57\u306f\u5c0f\u3055\u3059\u304e\u307e\u3059\u3002
-L_3 = \u3053\u306e\u753b\u50cf\u306b\u306f\u533a\u5225\u3057\u3065\u3089\u3044\u8272\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059\u3002
-L_4 = \u56fa\u5b9a\u30b5\u30a4\u30ba\u306e\u30d5\u30a9\u30f3\u30c8\u306f\u4f7f\u308f\u306a\u3044\u3067\u304f\u3060\u3055\u3044\u3002
-L_5 = \u3053\u306e\u6587\u5b57\u306f\u5c0f\u3055\u3059\u304e\u307e\u3059\u3002
-L_6 = \u3053\u306e\u6587\u5b57\u306f\u5c0f\u3055\u3059\u304e\u307e\u3059\u3002\u3055\u3089\u306b\u56fa\u5b9a\u30b5\u30a4\u30ba\u306e\u30d5\u30a9\u30f3\u30c8\u304c\u4f7f\u308f\u308c\u3066\u3044\u307e\u3059\u3002
+###############################################################################

+# Copyright (c) 2005, 2016 IBM Corporation and others.

+# All rights reserved. This program and the accompanying materials

+# are made available under the terms of the Eclipse Public License v1.0

+# which accompanies this distribution, and is available at

+# http://www.eclipse.org/legal/epl-v10.html

+#

+# Contributors:

+#     IBM Corporation - initial API and implementation

+###############################################################################

+B_0 = \u753b\u50cf\u306balt\u5c5e\u6027\u304c\u3042\u308a\u307e\u305b\u3093\u3002\u4ee3\u66ff\u30c6\u30ad\u30b9\u30c8\u3092\u63d0\u4f9b\u3057\u3066\u304f\u3060\u3055\u3044\u3002(\u3082\u3057\u652f\u63f4\u6280\u8853\u304c\u3053\u306e\u753b\u50cf\u3092\u7121\u8996\u3059\u308b\u3079\u304d\u5834\u5408\u306f\u3001 alt="" \u3068\u8a2d\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044)\uff1a src="{0}"

+B_1 = \u753b\u50cf\u30dc\u30bf\u30f3\u306balt\u5c5e\u6027\u304c\u3042\u308a\u307e\u305b\u3093\u3002\u4ee3\u66ff\u30c6\u30ad\u30b9\u30c8\u3092\u63d0\u4f9b\u3057\u3066\u304f\u3060\u3055\u3044\u3002

+B_2 = area\u8981\u7d20\u306balt\u5c5e\u6027\u304c\u3042\u308a\u307e\u305b\u3093\uff1a {0}\u3002\u4ee3\u66ff\u30c6\u30ad\u30b9\u30c8\u3092\u63d0\u4f9b\u3057\u3066\u304f\u3060\u3055\u3044\u3002

+B_4 = "{0}"\u306f\u753b\u50cf\u306ealt\u5c5e\u6027\u3068\u3057\u3066\u4e0d\u9069\u5207\u3067\u3059

+B_5 = "{0}"\u306f\u753b\u50cf\u30dc\u30bf\u30f3\u306ealt\u5c5e\u6027\u3068\u3057\u3066\u4e0d\u9069\u5207\u3067\u3042\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059

+B_6 = "{0}"\u306farea\u8981\u7d20\u306ealt\u5c5e\u6027\u3068\u3057\u3066\u4e0d\u9069\u5207\u3067\u3042\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059

+B_8 = \u3053\u306e\u30da\u30fc\u30b8\u5185\u30ea\u30f3\u30af\u306f\u3001\u30b8\u30e3\u30f3\u30d7\u5148\u306e\u30a2\u30f3\u30ab\u30fc"{0}"\u304c\u5b58\u5728\u3057\u306a\u3044\u305f\u3081\u5229\u7528\u3067\u304d\u307e\u305b\u3093

+B_9 = \u540c\u4e00\u30c6\u30ad\u30b9\u30c8\u306e\u7e70\u308a\u8fd4\u3057\u304c\u3042\u308a\u307e\u3059\uff1a {0}

+B_10 = "\u672c\u6587\u3078\u79fb\u52d5"\u306a\u3069\u306e\u30b9\u30ad\u30c3\u30d7\u30ea\u30f3\u30af\u3092\u63d0\u4f9b\u3057\u3066\u304f\u3060\u3055\u3044\u3000\uff08\u672c\u6587\u3078\u30b8\u30e3\u30f3\u30d7\u3001\u672c\u6587\u3078\u306e\u30ea\u30f3\u30af\u7b49\uff09

+B_12 = \u30da\u30fc\u30b8\u5185\u30ea\u30f3\u30af\u3082\u3057\u304f\u306f\u898b\u51fa\u3057\uff08h1\u3001h2\u2026\uff09\u3092\u5229\u7528\u3057\u3066\u304f\u3060\u3055\u3044\u3000(\u52b9\u679c\u7684\u306a\u30da\u30fc\u30b8\u5185\u30ea\u30f3\u30af\u30fb\u898b\u51fa\u3057\u304c\u7121\u3044\u305f\u3081\u3001\u5230\u7740\u306b2\u5206\u4ee5\u4e0a\u304b\u304b\u308b\u30b3\u30f3\u30c6\u30f3\u30c4\u304c\u5b58\u5728\u3057\u3066\u3044\u307e\u3059)

+B_14 = \u30da\u30fc\u30b8\u5185\u30ea\u30f3\u30af "{0}"\u3000\u306f\u3001\u8aad\u307f\u4e0a\u3052\u53ef\u80fd\u306a\u30c6\u30ad\u30b9\u30c8\u3092\u6301\u305f\u306a\u3044\u305f\u3081\u3001\u97f3\u58f0\u30a2\u30af\u30bb\u30b9\u3067\u304d\u307e\u305b\u3093

+B_15 = "{0}"\u3000\u306f\u6587\u5b57\u9593\u306b\u7a7a\u767d\u3092\u542b\u3093\u3067\u3044\u308b\u305f\u3081\u3001\u97f3\u58f0\u3067\u6b63\u78ba\u306b\u8aad\u307f\u4e0a\u3052\u308b\u3053\u3068\u304c\u51fa\u6765\u306a\u3044\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059

+B_16 = input\u306bid\u5c5e\u6027\u304c\u3042\u308a\u307e\u305b\u3093

+B_17 = "\u672c\u6587\u3078\u79fb\u52d5"\u306a\u3069\u306e\u30b9\u30ad\u30c3\u30d7\u30ea\u30f3\u30af\u3078\u306e\u5230\u9054\u306b{0}\u79d2\u3082\u304b\u304b\u308a\u307e\u3059\u3000(\u30b9\u30ad\u30c3\u30d7\u30ea\u30f3\u30af\u306e\u633f\u5165\u4f4d\u7f6e\u3092\u898b\u76f4\u3057\u3066\u304f\u3060\u3055\u3044)

+B_18 = \u3053\u306e\u30b9\u30ad\u30c3\u30d7\u30ea\u30f3\u30af\u306f\u30b8\u30e3\u30f3\u30d7\u5148\u306e\u30a2\u30f3\u30ab\u30fc"{0}"\u304c\u5b58\u5728\u3057\u306a\u3044\u305f\u3081\u5229\u7528\u3067\u304d\u307e\u305b\u3093

+B_19 = \u30b9\u30ad\u30c3\u30d7\u30ea\u30f3\u30af\u306f"\u672c\u6587\u3078\u79fb\u52d5"\u3001"\u672c\u6587\u3078\u306e\u30ea\u30f3\u30af"\u7b49\u3001\u306a\u308b\u3079\u304f\u7c21\u6613\u306a\u30c6\u30ad\u30b9\u30c8\u3092\u7528\u3044\u3066\u4e0b\u3055\u3044\u3000"{0}"\u3000\u306f\u5c11\u3057\u5197\u9577\u3067\u3059

+B_20 = "\u672c\u6587\u3078\u79fb\u52d5"\u306a\u3069\u306e\u30b9\u30ad\u30c3\u30d7\u30ea\u30f3\u30af\u306e\u63d0\u4f9b\u3092\u691c\u8a0e\u3057\u3066\u4e0b\u3055\u3044

+B_21 = \u3053\u306e\u30da\u30fc\u30b8\u306b\u306f"\u672c\u6587\u3078\u79fb\u52d5"\u306a\u3069\u306e\u30b9\u30ad\u30c3\u30d7\u30ea\u30f3\u30af\u306f\u3042\u308a\u307e\u305b\u3093\u304c\u3001\u5404\u30b3\u30f3\u30c6\u30f3\u30c4\u3078\u306e\u5230\u9054\u6642\u9593\u306f\u6700\u5927\u3067\u3082{0}\u79d2\u3067\u3059\u3000(\u5fc5\u8981\u304c\u3042\u308c\u3070\u30b9\u30ad\u30c3\u30d7\u30ea\u30f3\u30af\u306e\u63d0\u4f9b\u3092\u691c\u8a0e\u3057\u3066\u304f\u3060\u3055\u3044)

+B_22 = \u3088\u308a\u591a\u304f\u306e\u30da\u30fc\u30b8\u5185\u30ea\u30f3\u30af\u306e\u63d0\u4f9b\u3084\u3001\u898b\u51fa\u3057\u306e\u5229\u7528\u3092\u691c\u8a0e\u3057\u3066\u304f\u3060\u3055\u3044\u3000(\u65e2\u306b\u30da\u30fc\u30b8\u5185\u30ea\u30f3\u30af\u304c\u5229\u7528\u3055\u308c\u3066\u3044\u307e\u3059\u304c\u3001\u5230\u9054\u306b2\u5206\u4ee5\u4e0a\u5fc5\u8981\u306a\u30b3\u30f3\u30c6\u30f3\u30c4\u304c\u5b58\u5728\u3057\u3066\u3044\u307e\u3059)

+B_23 = \u3088\u308a\u591a\u304f\u306e\u898b\u51fa\u3057\u3092\u63d0\u4f9b\u3059\u308b\u304b\u3001\u30da\u30fc\u30b8\u5185\u30ea\u30f3\u30af\u306e\u5229\u7528\u3092\u691c\u8a0e\u3057\u3066\u304f\u3060\u3055\u3044\u3000(\u3053\u306e\u30da\u30fc\u30b8\u306b\u306f\u898b\u51fa\u3057\u304c\u5b58\u5728\u3057\u3066\u3044\u307e\u3059\u304c\u3001\u5230\u9054\u306b2\u5206\u4ee5\u4e0a\u5fc5\u8981\u306a\u30b3\u30f3\u30c6\u30f3\u30c4\u304c\u5b58\u5728\u3057\u3066\u3044\u307e\u3059)

+B_24 = \u3088\u308a\u591a\u304f\u306e\u30da\u30fc\u30b8\u5185\u30ea\u30f3\u30af\u30fb\u898b\u51fa\u3057\u306e\u5229\u7528\u3092\u8003\u616e\u3057\u3066\u304f\u3060\u3055\u3044\u3000(\u65e2\u306b\u30da\u30fc\u30b8\u5185\u30ea\u30f3\u30af\u30fb\u898b\u51fa\u3057\u304c\u7528\u3044\u3089\u308c\u3066\u3044\u307e\u3059\u304c\u3001\u5230\u9054\u306b2\u5206\u4ee5\u4e0a\u5fc5\u8981\u306a\u30b3\u30f3\u30c6\u30f3\u30c4\u304c\u5b58\u5728\u3057\u3066\u3044\u307e\u3059)

+B_25 = \u3053\u306e\u30da\u30fc\u30b8\u5185\u30ea\u30f3\u30af"{0}"\u306b\u306f\u3001\u8aad\u307f\u4e0a\u3052\u53ef\u80fd\u306a\u60c5\u5831\u3068\u3057\u3066title\u5c5e\u6027\u306e\u307f\u304c\u5b58\u5728\u3057\u3066\u3044\u307e\u3059\u3002\u30ea\u30f3\u30af\u5185\u306b\u4f55\u3089\u304b\u306e\u30c6\u30ad\u30b9\u30c8\u60c5\u5831\u3092\u63d0\u4f9b\u3059\u308b\u3053\u3068\u3092\u691c\u8a0e\u3057\u3066\u304f\u3060\u3055\u3044

+B_26 = \u30b9\u30ad\u30c3\u30d7\u30ea\u30f3\u30af\u306f"\u672c\u6587\u3078\u306e\u79fb\u52d5"\u3001"\u672c\u6587\u3078\u306e\u30ea\u30f3\u30af"\u7b49\u306a\u308b\u3079\u304f\u7c21\u6613\u306a\u30c6\u30ad\u30b9\u30c8\u3092\u5229\u7528\u3057\u3066\u304f\u3060\u3055\u3044\u3002"{0}"\u306f\u5c11\u3057\u5197\u9577\u3067\u3059\u3002

+B_27 = "{0}"\u306f\u753b\u50cf\u306ealt\u5c5e\u6027\u3068\u3057\u3066\u4e0d\u9069\u5207\u306a\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002\uff08\u3082\u3057\u652f\u63f4\u6280\u8853\u304c\u3053\u306e\u753b\u50cf\u3092\u7121\u8996\u3059\u308b\u3079\u304d\u5834\u5408\u306f\u3001alt=""\u3068\u8a2d\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u305d\u3046\u3067\u306a\u3051\u308c\u3070\u9069\u5207\u306a\u4ee3\u66ff\u30c6\u30ad\u30b9\u30c8\u3092\u63d0\u4f9b\u3057\u3066\u304f\u3060\u3055\u3044\u3002\uff09

+B_29 = \u753b\u50cf\u306ealt\u5c5e\u6027\u201d{0}\u201d\u306f\u6587\u5b57\u9593\u306b\u7a7a\u767d\u3092\u542b\u3093\u3067\u3044\u308b\u305f\u3081\u3001\u97f3\u58f0\u3067\u6b63\u78ba\u306b\u8aad\u307f\u4e0a\u3052\u308b\u3053\u3068\u304c\u51fa\u6765\u306a\u3044\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002

+B_30 = \u753b\u50cf\u30dc\u30bf\u30f3\u306ealt\u5c5e\u6027\u201d{0}\u201d\u306f\u6587\u5b57\u9593\u306b\u7a7a\u767d\u3092\u542b\u3093\u3067\u3044\u308b\u305f\u3081\u3001\u97f3\u58f0\u3067\u6b63\u78ba\u306b\u8aad\u307f\u4e0a\u3052\u308b\u3053\u3068\u304c\u51fa\u6765\u306a\u3044\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002

+B_31 = area\u306ealt\u5c5e\u6027\u201d{0}\u201d\u306f\u6587\u5b57\u9593\u306b\u7a7a\u767d\u3092\u542b\u3093\u3067\u3044\u308b\u305f\u3081\u3001\u97f3\u58f0\u3067\u6b63\u78ba\u306b\u8aad\u307f\u4e0a\u3052\u308b\u3053\u3068\u304c\u51fa\u6765\u306a\u3044\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002

+B_33 = \u3053\u306e\u30da\u30fc\u30b8\u5185\u30ea\u30f3\u30af\u306f\u30b8\u30e3\u30f3\u30d7\u5148\u306e\u30a2\u30f3\u30ab\u30fc"{0}"\u304c\u5b58\u5728\u3057\u307e\u305b\u3093\uff0e\u30b8\u30e3\u30f3\u30d7\u5148\u306e\u30a2\u30f3\u30ab\u30fc\u3092\u633f\u5165\u3057\u3066\u304f\u3060\u3055\u3044 (\u30da\u30fc\u30b8\u306e\u5148\u982d\u3078\u306e\u30da\u30fc\u30b8\u5185\u30ea\u30f3\u30af\u3068\u3057\u3066\u52d5\u4f5c\u3059\u308b\u5834\u5408\u3082\u3042\u308a\u307e\u3059)

+B_34 = \u5358\u8a9e\u306e\u3064\u3065\u308a\u3092\u8a18\u8ff0\u3057\u305f\u3044\u5834\u5408\u4ee5\u5916\u306f\uff0c\u6587\u5b57\u3092\u7a7a\u767d\u3067\u533a\u5207\u3063\u3066\u8a18\u8ff0\u3059\u308b\u3053\u3068\u306f\u907f\u3051\u3066\u304f\u3060\u3055\u3044 (alt\u5c5e\u6027 "{0}")

+B_35 = \u30da\u30fc\u30b8\u5185\u30ea\u30f3\u30af\uff0c {0} \uff0c\u306f\u5229\u7528\u3067\u304d\u306a\u3044\u3068\u601d\u308f\u308c\u307e\u3059\uff0e\uff08display:none\u3084display:hidden\u306e\u4ee3\u308f\u308a\u306b\uff0c\u30ea\u30f3\u30af\u5185\u306balt\u5c5e\u6027\u3092\u4ed8\u3051\u305f\u5c0f\u3055\u306a\u753b\u50cf\u3092\u914d\u7f6e\u3059\u308b\u306a\u3069\u3057\u3066\u4e0b\u3055\u3044\uff09

+B_36 = \u30dc\u30bf\u30f3(input)\u306b\u306fvalue\u5c5e\u6027\u3092\u63d0\u4f9b\u3057\u3066\u304f\u3060\u3055\u3044 \u3002

+B_37 = \u201d{0}\u201d\u30dc\u30bf\u30f3\uff08input\u306evalue\u5c5e\u6027\uff09\u306f\u6587\u5b57\u9593\u306b\u7a7a\u767d\u3092\u542b\u3093\u3067\u3044\u308b\u305f\u3081\u3001\u97f3\u58f0\u3067\u6b63\u78ba\u306b\u8aad\u307f\u4e0a\u3052\u308b\u3053\u3068\u304c\u51fa\u6765\u306a\u3044\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002

+B_38 = "{0}"\uff08&nbsp;\u3092\u542b\u3080\u7a7a\u767d\u6587\u5b57\u306e\u307f\uff09\u306f\u753b\u50cf\u306ealt\u5c5e\u6027\u3068\u3057\u3066\u4e0d\u9069\u5207\u3067\u3059\u3002 (\u3082\u3057\u652f\u63f4\u6280\u8853\u304c\u3053\u306e\u753b\u50cf\u3092\u7121\u8996\u3059\u308b\u3079\u304d\u5834\u5408\u306f\u3001 alt="" \u3068\u8a2d\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u305d\u3046\u3067\u306a\u3051\u308c\u3070\u9069\u5207\u306a\u4ee3\u66ff\u30c6\u30ad\u30b9\u30c8\u3092\u63d0\u4f9b\u3057\u3066\u304f\u3060\u3055\u3044\u3002)

+

+C_1000.0 = \u3053\u306e\u30da\u30fc\u30b8\u306b\u306f\u8907\u6570\u306ebody\u8981\u7d20\u304c\u3042\u308b\u3088\u3046\u3067\u3059\uff0eHTML\u3092\u4fee\u6b63\u3057\u3066\u304f\u3060\u3055\u3044

+C_1000.1 = body\u8981\u7d20\u306e\u4e2d\u306bhead\u8981\u7d20\u304c\u3042\u308b\u3088\u3046\u3067\u3059\uff0eHTML\u3092\u4fee\u6b63\u3057\u3066\u304f\u3060\u3055\u3044

+C_1000.2 = \u3053\u306e\u30da\u30fc\u30b8\u306b\u306f\u8907\u6570\u306ehtml\u8981\u7d20\u304c\u3042\u308b\u3088\u3046\u3067\u3059\uff0eHTML\u3092\u4fee\u6b63\u3057\u3066\u304f\u3060\u3055\u3044

+C_1000.3 = body\u8981\u7d20\u306e\u4f4d\u7f6e\u304c\u6b63\u3057\u304f\u306a\u3044\u3088\u3046\u3067\u3059\uff0eHTML\u3092\u4fee\u6b63\u3057\u3066\u304f\u3060\u3055\u3044

+C_1000.4 = \u3053\u306e\u30da\u30fc\u30b8\u306b\u306fbody\u8981\u7d20\u304c\u7121\u3044\u304b\uff0c\u8aa4\u3063\u305f\u4f4d\u7f6e\u306b\u914d\u7f6e\u3055\u308c\u3066\u3044\u308b\u3088\u3046\u3067\u3059\uff0eHTML\u3092\u4fee\u6b63\u3057\u3066\u304f\u3060\u3055\u3044

+C_1000.5 = \u3053\u306e\u30da\u30fc\u30b8\u306b\u306fbody\u8981\u7d20\u3082\u3057\u304f\u306fhead\u8981\u7d20\u304c\u7121\u3044\u304b\uff0c\u8aa4\u3063\u305f\u4f4d\u7f6e\u306b\u914d\u7f6e\u3055\u308c\u3066\u3044\u308b\u3088\u3046\u3067\u3059\uff0eHTML\u3092\u4fee\u6b63\u3057\u3066\u304f\u3060\u3055\u3044

+C_1000.6 = \u6587\u66f8\u306eDOCTYPE\u5ba3\u8a00\u3067\u6307\u5b9a\u3055\u308c\u305f\u516c\u958b\u8b58\u5225\u5b50\u306f\u3088\u304f\u77e5\u3089\u308c\u305f\u3082\u306e\u3067\u306f\u306a\u3044\u3088\u3046\u3067\u3059\u3002\u305d\u306e\u305f\u3081\u3001\u30d0\u30ea\u30c7\u30fc\u30bf\u304c\u8aa4\u3063\u305f\u691c\u8a3c\u7d50\u679c\u3092\u8fd4\u3059\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002\u307e\u305f\u3001\u6587\u66f8\u304c\u4ed5\u69d8\u306b\u6e96\u62e0\u3059\u308b\u304b\u3069\u3046\u304b\u5224\u5b9a\u3067\u304d\u306a\u3044\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002

+C_1000.7 = \u6587\u66f8\u306bDOCTYPE\u5ba3\u8a00\u304c\u306a\u3044\u305f\u3081\u3001\u30d0\u30ea\u30c7\u30fc\u30bf\u304c\u8aa4\u3063\u305f\u691c\u8a3c\u7d50\u679c\u3092\u8fd4\u3059\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002\u307e\u305f\u3001\u6587\u66f8\u304c\u4ed5\u69d8\u306b\u6e96\u62e0\u3059\u308b\u304b\u3069\u3046\u304b\u5224\u5b9a\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002

+C_1000.8 = Byte-Order Mark (BOM)\u304cHTML5\u3067\u306f\u306a\u3044\u6587\u66f8\u306b\u898b\u3064\u304b\u308a\u307e\u3057\u305f\u3002\u601d\u3044\u304c\u3051\u306a\u3044\u554f\u984c\u3092\u907f\u3051\u308b\u305f\u3081\u3001BOM\u306e\u524a\u9664\u3092\u691c\u8a0e\u3057\u3066\u304f\u3060\u3055\u3044\u3002

+

+L_1.0 = \u6587\u5b57\u8272\u3068\u80cc\u666f\u8272\u306e\u30b3\u30f3\u30c8\u30e9\u30b9\u30c8\u6bd4\u304c3:1\u672a\u6e80\u3067\u3059\u3002{0}

+L_1.1 = \u6587\u5b57\u8272\u3068\u80cc\u666f\u8272\u306e\u30b3\u30f3\u30c8\u30e9\u30b9\u30c8\u6bd4\u304c4.5:1\u672a\u6e80\u3067\u3059\u3002 {0}

+L_1.2 = \u6587\u5b57\u8272\u3068\u80cc\u666f\u8272\u306e\u30b3\u30f3\u30c8\u30e9\u30b9\u30c8\u6bd4\u304c7:1\u672a\u6e80\u3067\u3059\u3002  {0}

+L_2 = \u3053\u306e\u6587\u5b57\u306f\u5c0f\u3055\u3059\u304e\u307e\u3059\u3002

+L_3 = \u3053\u306e\u753b\u50cf\u306b\u306f\u533a\u5225\u3057\u3065\u3089\u3044\u8272\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059\u3002

+L_4 = \u56fa\u5b9a\u30b5\u30a4\u30ba\u306e\u30d5\u30a9\u30f3\u30c8\u306f\u4f7f\u308f\u306a\u3044\u3067\u304f\u3060\u3055\u3044\u3002

+L_5 = \u3053\u306e\u6587\u5b57\u306f\u5c0f\u3055\u3059\u304e\u307e\u3059\u3002

+L_6 = \u3053\u306e\u6587\u5b57\u306f\u5c0f\u3055\u3059\u304e\u307e\u3059\u3002\u3055\u3089\u306b\u56fa\u5b9a\u30b5\u30a4\u30ba\u306e\u30d5\u30a9\u30f3\u30c8\u304c\u4f7f\u308f\u308c\u3066\u3044\u307e\u3059\u3002

 L_10 = \u30b9\u30bf\u30a4\u30eb\u30b7\u30fc\u30c8\u3067\u80cc\u666f\u753b\u50cf\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u6587\u5b57\u8272\u3068\u80cc\u666f\u8272\u306e\u9593\u306e\u30b3\u30f3\u30c8\u30e9\u30b9\u30c8\u6bd4\u304c\u5341\u5206\u304b\u3001\u80cc\u666f\u753b\u50cf\u306e\u307f\u306b\u3088\u3063\u3066\u91cd\u8981\u306a\u60c5\u5831\u3092\u4f1d\u3048\u3066\u3044\u306a\u3044\u304b\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002{0}
\ No newline at end of file