[246182] set view category to visualization views
diff --git a/plugins/org.eclipse.actf.visualization.blind/plugin.xml b/plugins/org.eclipse.actf.visualization.blind/plugin.xml
index bae7653..068adec 100644
--- a/plugins/org.eclipse.actf.visualization.blind/plugin.xml
+++ b/plugins/org.eclipse.actf.visualization.blind/plugin.xml
@@ -5,6 +5,7 @@
   <extension
          point="org.eclipse.ui.views">
       <view
+            category="org.eclipse.actf.visualization.ui.views"
             class="org.eclipse.actf.visualization.blind.ui.views.BlindView"
             icon="icons/visualize.gif"
             id="org.eclipse.actf.visualization.blind.ui.views.BlindView"
diff --git a/plugins/org.eclipse.actf.visualization.flash/fragment.xml b/plugins/org.eclipse.actf.visualization.flash/fragment.xml
index 3d97fc2..365caf5 100644
--- a/plugins/org.eclipse.actf.visualization.flash/fragment.xml
+++ b/plugins/org.eclipse.actf.visualization.flash/fragment.xml
@@ -5,6 +5,7 @@
    <extension
          point="org.eclipse.ui.views">
       <view
+            category="org.eclipse.actf.visualization.ui.views"
             class="org.eclipse.actf.visualization.flash.ui.views.FlashDOMView"
             icon="icons/view16/domtreeview.gif"
             id="org.eclipse.actf.visualization.flash.ui.views.FlashDOMView"
diff --git a/plugins/org.eclipse.actf.visualization.gui/plugin.xml b/plugins/org.eclipse.actf.visualization.gui/plugin.xml
index 2b79cd8..5a19c49 100644
--- a/plugins/org.eclipse.actf.visualization.gui/plugin.xml
+++ b/plugins/org.eclipse.actf.visualization.gui/plugin.xml
@@ -4,45 +4,41 @@
    <extension-point id="targetWindowData" name="DataSource for Target Window" schema="schema/targetWindowData.exsd"/>
    <extension
          point="org.eclipse.ui.views">
-      <category
-            name="%Accessibility"
-            id="org.eclipse.actf.visualization.gui.ui.views">
-      </category>
       <view
             class="org.eclipse.actf.visualization.gui.ui.views.MSAAListView"
             icon="icons/view16/list.gif"
             id="org.eclipse.actf.visualization.gui.ui.views.MSAAListView"
-            category="org.eclipse.actf.visualization.gui.ui.views"
+            category="org.eclipse.actf.visualization.ui.views"
             name="%MSAAListView.name"/>
       <view
             class="org.eclipse.actf.visualization.gui.ui.views.MSAAOutlineView"
             icon="icons/view16/outline.gif"
             id="org.eclipse.actf.visualization.gui.ui.views.MSAAOutlineView"
-            category="org.eclipse.actf.visualization.gui.ui.views"
+            category="org.eclipse.actf.visualization.ui.views"
             name="%MSAAOutlineView.name"/>
       <view
             class="org.eclipse.actf.visualization.gui.ui.views.MSAAPropertiesView"
             icon="icons/view16/properties.gif"
             id="org.eclipse.actf.visualization.gui.ui.views.MSAAPropertiesView"
-            category="org.eclipse.actf.visualization.gui.ui.views"
+            category="org.eclipse.actf.visualization.ui.views"
             name="%MSAAPropertiesView.name"/>
       <view
             class="org.eclipse.actf.visualization.gui.ui.views.JAWSTextView"
             icon="icons/view16/reader.gif"
             id="org.eclipse.actf.visualization.gui.ui.views.JAWSTextView"
-            category="org.eclipse.actf.visualization.gui.ui.views"
+            category="org.eclipse.actf.visualization.ui.views"
             name="%JAWSTextView.name"/>
       <view
             class="org.eclipse.actf.visualization.gui.ui.views.MSAAEventView"
             icon="icons/view16/events.gif"
             id="org.eclipse.actf.visualization.gui.ui.views.MSAAEventView"
-            category="org.eclipse.actf.visualization.gui.ui.views"
+            category="org.eclipse.actf.visualization.ui.views"
             name="%MSAAEventView.name"/>
       <view
             class="org.eclipse.actf.visualization.gui.ui.views.MSAAProblemsView"
             icon="icons/view16/problems.gif"
             id="org.eclipse.actf.visualization.gui.ui.views.MSAAProblemsView"
-            category="org.eclipse.actf.visualization.gui.ui.views"
+            category="org.eclipse.actf.visualization.ui.views"
             name="%MSAAProblemsView.name"/>
    </extension>
    <extension
diff --git a/plugins/org.eclipse.actf.visualization.gui/src/messages.properties b/plugins/org.eclipse.actf.visualization.gui/src/messages.properties
index b0a580e..fe8dea7 100644
--- a/plugins/org.eclipse.actf.visualization.gui/src/messages.properties
+++ b/plugins/org.eclipse.actf.visualization.gui/src/messages.properties
@@ -58,6 +58,7 @@
 msaa.no_title_for_table=No caption for table
 msaa.no_text_for_link=No text for hyperlink
 msaa.no_title_for_frame=No title for frame
+msaa.invisible_flash=Inaccessible Flash (wmode property is transparent or opaque). Confirm existence of accessible alternative or change wmode property.
 msaa.not_checked=not checked
 msaa.preference_description=GUI accessibility preferences
 msaa.progressbar=Progress bar
diff --git a/plugins/org.eclipse.actf.visualization.gui/src/messages_ja.properties b/plugins/org.eclipse.actf.visualization.gui/src/messages_ja.properties
index b343d53..f914a49 100644
--- a/plugins/org.eclipse.actf.visualization.gui/src/messages_ja.properties
+++ b/plugins/org.eclipse.actf.visualization.gui/src/messages_ja.properties
@@ -58,6 +58,7 @@
 msaa.no_title_for_table=\u30c6\u30fc\u30d6\u30eb\u306b\u30ad\u30e3\u30d7\u30b7\u30e7\u30f3\u304c\u3042\u308a\u307e\u305b\u3093
 msaa.no_text_for_link=\u30ea\u30f3\u30af\u306b\u30c6\u30ad\u30b9\u30c8\u304c\u3042\u308a\u307e\u305b\u3093
 msaa.no_title_for_frame=\u30d5\u30ec\u30fc\u30e0\u306b\u30bf\u30a4\u30c8\u30eb\u304c\u3042\u308a\u307e\u305b\u3093
+msaa.invisible_flash=\u30a2\u30af\u30bb\u30b9\u4e0d\u80fdFlash\u3067\u3059(wmode\u30d7\u30ed\u30d1\u30c6\u30a3\u304ctransparent\u3082\u3057\u304f\u306fopaque)\uff0e\u30a2\u30af\u30bb\u30b7\u30d6\u30eb\u306a\u4ee3\u66ff\u624b\u6bb5\u3092\u63d0\u4f9b\u3059\u308b\u304b\u3001wmode\u3092\u5909\u66f4\u3057\u3066\u4e0b\u3055\u3044\uff0e 
 msaa.not_checked=\u30c1\u30a7\u30c3\u30af\u306a\u3057
 msaa.preference_description=GUI\u30a2\u30af\u30bb\u30b7\u30d3\u30ea\u30c6\u30a3\u95a2\u9023\u306e\u8a2d\u5b9a
 msaa.progressbar=\u30d7\u30ed\u30b0\u30ec\u30b9\u30d0\u30fc
diff --git a/plugins/org.eclipse.actf.visualization.gui/src/org/eclipse/actf/visualization/gui/msaa/checker/MSAAProblemChecker.java b/plugins/org.eclipse.actf.visualization.gui/src/org/eclipse/actf/visualization/gui/msaa/checker/MSAAProblemChecker.java
index 47ee2f8..ae353a1 100644
--- a/plugins/org.eclipse.actf.visualization.gui/src/org/eclipse/actf/visualization/gui/msaa/checker/MSAAProblemChecker.java
+++ b/plugins/org.eclipse.actf.visualization.gui/src/org/eclipse/actf/visualization/gui/msaa/checker/MSAAProblemChecker.java
@@ -17,99 +17,118 @@
 import org.eclipse.actf.accservice.swtbridge.AccessibleObject;
 import org.eclipse.actf.accservice.swtbridge.IA2;
 import org.eclipse.actf.accservice.swtbridge.MSAA;
+import org.eclipse.actf.model.flash.util.FlashMSAAUtil;
 import org.eclipse.actf.visualization.gui.ui.views.MSAATreeContentProvider;
 
-
 public class MSAAProblemChecker implements MSAAProblemConst {
 
-    private AccessibleObject rootObject;
+	private AccessibleObject rootObject;
 
-    private static final MSAATreeContentProvider provider = new MSAATreeContentProvider();
+	private static final MSAATreeContentProvider provider = new MSAATreeContentProvider();
 
-    public MSAAProblemChecker(AccessibleObject accObject) {
-        this.rootObject = accObject;
-    }
+	public MSAAProblemChecker(AccessibleObject accObject) {
+		this.rootObject = accObject;
+	}
 
-    public MSAAProblem[] getProblems() {
-    	provider.setShowOffscreen(true);
-    	provider.setHideHtml(MSAATreeContentProvider.getDefault().isHideHtml());
-        return getProblem(provider.getElements(rootObject));
-    }
+	public MSAAProblem[] getProblems() {
+		provider.setShowOffscreen(true);
+		provider.setHideHtml(MSAATreeContentProvider.getDefault().isHideHtml());
+		return getProblem(provider.getElements(rootObject));
+	}
 
-    public MSAAProblem[] getProblem(Object[] children) {
-        List<MSAAProblem> problems = new ArrayList<MSAAProblem>();
+	public MSAAProblem[] getProblem(Object[] children) {
+		List<MSAAProblem> problems = new ArrayList<MSAAProblem>();
 
-        if (children != null) {
-            for (int i = 0; i < children.length; i++) {
-                AccessibleObject ao = (AccessibleObject)children[i];
-                if (ao == null)
-                    continue;
-                if (0 != (ao.getAccState() & MSAA.STATE_INVISIBLE))
-                    continue;
+		if (children != null) {
+			for (int i = 0; i < children.length; i++) {
+				AccessibleObject ao = (AccessibleObject) children[i];
+				if (ao == null)
+					continue;
+				if (0 != (ao.getAccState() & MSAA.STATE_INVISIBLE))
+					continue;
 
-                String accName = null;
+				String accName = null;
 
-                accName = ao.getAccName();
+				accName = ao.getAccName();
 
-                int role = ao.getAccRole();
-                switch( role ) {
-                    case MSAA.ROLE_SYSTEM_WINDOW:
-                    case MSAA.ROLE_SYSTEM_CLIENT:
-                    case MSAA.ROLE_SYSTEM_CELL:
-                    case MSAA.ROLE_SYSTEM_STATICTEXT:
-                    case MSAA.ROLE_SYSTEM_SEPARATOR:
-                    case IA2.IA2_ROLE_PARAGRAPH:
-                    case MSAA.ROLE_SYSTEM_TEXT:
-                    case MSAA.ROLE_SYSTEM_TITLEBAR: // Ignore
-                    case MSAA.ROLE_SYSTEM_STATUSBAR:// Ignore
-                    case MSAA.ROLE_SYSTEM_GRIP:     // Ignore
-                    case MSAA.ROLE_SYSTEM_TOOLBAR:         // Ignore
-                    case MSAA.ROLE_SYSTEM_PAGETABLIST:       // Ignore
-                    case MSAA.ROLE_SYSTEM_LIST:            // Ignore
-                    case MSAA.ROLE_SYSTEM_OUTLINE:            // Ignore
-                        break;
-                    default:
-                    {
-                        if (null == accName || 0 == accName.length()) {
-                            if (role == MSAA.ROLE_SYSTEM_PUSHBUTTON)
-                                problems.add(new MSAAProblem(MSAA_ERROR, MSAA_PROB_NO_ALT_BUTTON, ao));
-                            else if (role == MSAA.ROLE_SYSTEM_GRAPHIC)
-                                problems.add(new MSAAProblem(MSAA_WARNING, MSAA_PROB_NO_ALT_GRAHPIC, ao));
-                            else if (role == MSAA.ROLE_SYSTEM_COMBOBOX)
-                                problems.add(new MSAAProblem(MSAA_ERROR, MSAA_PROB_NO_ALT_FORM_CONTROL, ao));
-                            else if (role == MSAA.ROLE_SYSTEM_TABLE)
-                                problems.add(new MSAAProblem(MSAA_INFORMATION, MSAA_PROB_NO_TITLE_TABLE, ao));
-                            else if (role == MSAA.ROLE_SYSTEM_LINK) {
-                                String value = ao.getAccValue();
-                                if( null != value && value.length()>0 ) {
-                                    if (ao.getChildCount() == 0) {
-                                        problems.add(new MSAAProblem(MSAA_ERROR, MSAA_PROB_NO_TEXT_LINK, ao));
-                                    }
-                                    else {
-                                        AccessibleObject ao1 = ao.getChildren()[0];
-                                        if (ao1.getAccRole() == MSAA.ROLE_SYSTEM_GRAPHIC
-                                                && (ao1.getAccName() == null || ao1.getAccName().length() == 0))
-                                            problems.add(new MSAAProblem(MSAA_ERROR, MSAA_PROB_NO_TEXT_LINK, ao));
-                                    }
-                                }
-                            } else /*if (role != MSAA.ROLE_TEXT)*/ {
-                                String defaultAction = ao.getAccDefaultAction();
-                                if (null == defaultAction || 0 == defaultAction.length()) {
-                                    if (role == MSAA.ROLE_SYSTEM_PANE)
-                                        problems.add(new MSAAProblem(MSAA_WARNING, MSAA_PROB_NO_TITLE_FRAME, ao));
-                                    else
-                                        problems
-                                                .add(new MSAAProblem(MSAA_WARNING, MSAA_PROB_NO_ALT_NONCLICKABLE_OBJECT, ao));
-                                } else {
-                                    problems.add(new MSAAProblem(MSAA_ERROR, MSAA_PROB_NO_ALT_CLICKABLE_OBJECT, ao));
-                                }
-                            }
-                        }
-                    }
-                }
-                problems.addAll(Arrays.asList(getProblem(provider.getChildren(ao))));
-            }
-        }
-        return (MSAAProblem[]) problems.toArray(new MSAAProblem[problems.size()]);
-    }
+				int role = ao.getAccRole();
+				switch (role) {
+				case MSAA.ROLE_SYSTEM_WINDOW:
+				case MSAA.ROLE_SYSTEM_CELL:
+				case MSAA.ROLE_SYSTEM_STATICTEXT:
+				case MSAA.ROLE_SYSTEM_SEPARATOR:
+				case IA2.IA2_ROLE_PARAGRAPH:
+				case MSAA.ROLE_SYSTEM_TEXT:
+				case MSAA.ROLE_SYSTEM_TITLEBAR: // Ignore
+				case MSAA.ROLE_SYSTEM_STATUSBAR:// Ignore
+				case MSAA.ROLE_SYSTEM_GRIP: // Ignore
+				case MSAA.ROLE_SYSTEM_TOOLBAR: // Ignore
+				case MSAA.ROLE_SYSTEM_PAGETABLIST: // Ignore
+				case MSAA.ROLE_SYSTEM_LIST: // Ignore
+				case MSAA.ROLE_SYSTEM_OUTLINE: // Ignore
+					break;
+				case MSAA.ROLE_SYSTEM_CLIENT:
+					if (FlashMSAAUtil.isInvisibleFlash(ao.getPtr())) {
+						problems.add(new MSAAProblem(MSAA_ERROR,
+								MSAA_INVISIBLE_FLASH, ao));
+					}
+					break;
+				default: {
+					if (null == accName || 0 == accName.length()) {
+						if (role == MSAA.ROLE_SYSTEM_PUSHBUTTON)
+							problems.add(new MSAAProblem(MSAA_ERROR,
+									MSAA_PROB_NO_ALT_BUTTON, ao));
+						else if (role == MSAA.ROLE_SYSTEM_GRAPHIC)
+							problems.add(new MSAAProblem(MSAA_WARNING,
+									MSAA_PROB_NO_ALT_GRAHPIC, ao));
+						else if (role == MSAA.ROLE_SYSTEM_COMBOBOX)
+							problems.add(new MSAAProblem(MSAA_ERROR,
+									MSAA_PROB_NO_ALT_FORM_CONTROL, ao));
+						else if (role == MSAA.ROLE_SYSTEM_TABLE)
+							problems.add(new MSAAProblem(MSAA_INFORMATION,
+									MSAA_PROB_NO_TITLE_TABLE, ao));
+						else if (role == MSAA.ROLE_SYSTEM_LINK) {
+							String value = ao.getAccValue();
+							if (null != value && value.length() > 0) {
+								if (ao.getChildCount() == 0) {
+									problems.add(new MSAAProblem(MSAA_ERROR,
+											MSAA_PROB_NO_TEXT_LINK, ao));
+								} else {
+									AccessibleObject ao1 = ao.getChildren()[0];
+									if (ao1.getAccRole() == MSAA.ROLE_SYSTEM_GRAPHIC
+											&& (ao1.getAccName() == null || ao1
+													.getAccName().length() == 0))
+										problems.add(new MSAAProblem(
+												MSAA_ERROR,
+												MSAA_PROB_NO_TEXT_LINK, ao));
+								}
+							}
+						} else /* if (role != MSAA.ROLE_TEXT) */{
+							String defaultAction = ao.getAccDefaultAction();
+							if (null == defaultAction
+									|| 0 == defaultAction.length()) {
+								if (role == MSAA.ROLE_SYSTEM_PANE)
+									problems.add(new MSAAProblem(MSAA_WARNING,
+											MSAA_PROB_NO_TITLE_FRAME, ao));
+								else
+									problems
+											.add(new MSAAProblem(
+													MSAA_WARNING,
+													MSAA_PROB_NO_ALT_NONCLICKABLE_OBJECT,
+													ao));
+							} else {
+								problems.add(new MSAAProblem(MSAA_ERROR,
+										MSAA_PROB_NO_ALT_CLICKABLE_OBJECT, ao));
+							}
+						}
+					}
+				}
+				}
+				problems.addAll(Arrays.asList(getProblem(provider
+						.getChildren(ao))));
+			}
+		}
+		return (MSAAProblem[]) problems
+				.toArray(new MSAAProblem[problems.size()]);
+	}
 }
diff --git a/plugins/org.eclipse.actf.visualization.gui/src/org/eclipse/actf/visualization/gui/msaa/checker/MSAAProblemConst.java b/plugins/org.eclipse.actf.visualization.gui/src/org/eclipse/actf/visualization/gui/msaa/checker/MSAAProblemConst.java
index 4639249..54cfe20 100644
--- a/plugins/org.eclipse.actf.visualization.gui/src/org/eclipse/actf/visualization/gui/msaa/checker/MSAAProblemConst.java
+++ b/plugins/org.eclipse.actf.visualization.gui/src/org/eclipse/actf/visualization/gui/msaa/checker/MSAAProblemConst.java
@@ -34,6 +34,8 @@
     public static final int MSAA_PROB_NO_TEXT_LINK = 6;
 
     public static final int MSAA_PROB_NO_TITLE_FRAME = 7;
+    
+    public static final int MSAA_INVISIBLE_FLASH = 8;
 
     public static final String[] DESCRIPTIONS = { Messages.getString("msaa.no_alt_for_button"), //$NON-NLS-1$
             Messages.getString("msaa.no_alt_for_graphic"), //$NON-NLS-1$
@@ -42,6 +44,7 @@
             Messages.getString("msaa.no_alt_for_form_control"), //$NON-NLS-1$
             Messages.getString("msaa.no_title_for_table"), //$NON-NLS-1$
             Messages.getString("msaa.no_text_for_link"), //$NON-NLS-1$
-            Messages.getString("msaa.no_title_for_frame") //$NON-NLS-1$
+            Messages.getString("msaa.no_title_for_frame"), //$NON-NLS-1$
+            Messages.getString("msaa.invisible_flash")
     };
 }
diff --git a/plugins/org.eclipse.actf.visualization.lowvision/plugin.xml b/plugins/org.eclipse.actf.visualization.lowvision/plugin.xml
index 7905e24..5b2b603 100644
--- a/plugins/org.eclipse.actf.visualization.lowvision/plugin.xml
+++ b/plugins/org.eclipse.actf.visualization.lowvision/plugin.xml
@@ -12,6 +12,7 @@
   <extension
          point="org.eclipse.ui.views">
       <view
+            category="org.eclipse.actf.visualization.ui.views"
             class="org.eclipse.actf.visualization.lowvision.ui.views.LowVisionView"
             icon="icons/simulation16.gif"
             id="org.eclipse.actf.visualization.lowvision.ui.views.LowVisionView"
diff --git a/plugins/org.eclipse.actf.visualization.presentation/plugin.xml b/plugins/org.eclipse.actf.visualization.presentation/plugin.xml
index 79a7ca7..8a6e09e 100644
--- a/plugins/org.eclipse.actf.visualization.presentation/plugin.xml
+++ b/plugins/org.eclipse.actf.visualization.presentation/plugin.xml
@@ -5,9 +5,10 @@
    <extension
          point="org.eclipse.ui.views">
       <view
-            name="%adesigner.room.tab.title"
+            category="org.eclipse.actf.visualization.ui.views"
             class="org.eclipse.actf.visualization.presentation.ui.views.RoomView"
-            id="org.eclipse.actf.visualization.presentation.ui.views.RoomView">
+            id="org.eclipse.actf.visualization.presentation.ui.views.RoomView"
+            name="%adesigner.room.tab.title">
       </view>
    </extension>
 
diff --git a/plugins/org.eclipse.actf.visualization.ui.report/plugin.xml b/plugins/org.eclipse.actf.visualization.ui.report/plugin.xml
index f1d11fa..6de1d47 100644
--- a/plugins/org.eclipse.actf.visualization.ui.report/plugin.xml
+++ b/plugins/org.eclipse.actf.visualization.ui.report/plugin.xml
@@ -4,10 +4,12 @@
    <extension
          point="org.eclipse.ui.views">
       <view
+            category="org.eclipse.actf.visualization.ui.views"
             class="org.eclipse.actf.visualization.ui.report.views.DetailedReportView"
             id="org.eclipse.actf.visualization.ui.report.views.DetailedReportView"
             name="%detailed.view.title"/>
       <view
+            category="org.eclipse.actf.visualization.ui.views"
             class="org.eclipse.actf.visualization.ui.report.views.SummaryReportView"
             id="org.eclipse.actf.visualization.ui.report.views.SummaryReportView"
             name="%summary.view.title"/>
diff --git a/plugins/org.eclipse.actf.visualization/META-INF/MANIFEST.MF b/plugins/org.eclipse.actf.visualization/META-INF/MANIFEST.MF
index c421606..383d350 100644
--- a/plugins/org.eclipse.actf.visualization/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.actf.visualization/META-INF/MANIFEST.MF
@@ -1,7 +1,7 @@
 Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
 Bundle-Name: ACTF Visualization Plug-in (Incubation)
-Bundle-SymbolicName: org.eclipse.actf.visualization
+Bundle-SymbolicName: org.eclipse.actf.visualization;singleton:=true
 Bundle-Version: 0.0.1.qualifier
 Bundle-Vendor: Eclipse.org
 Export-Package: org.eclipse.actf.util.html2view,