[289739,323933] WCAG 2.0/JIS support
diff --git a/plugins/org.eclipse.actf.visualization.engines.lowvision/src/messages.properties b/plugins/org.eclipse.actf.visualization.engines.lowvision/src/messages.properties index 9de3f9b..13735b0 100644 --- a/plugins/org.eclipse.actf.visualization.engines.lowvision/src/messages.properties +++ b/plugins/org.eclipse.actf.visualization.engines.lowvision/src/messages.properties
@@ -28,6 +28,7 @@ ProhibitedBackgroundColorProblem_The_background_color_is_not_allowed_by_the_design_guideline__1=The background color is not allowed by the design guideline. ContrastRatio = Contrast Ratio TargetString = Corresponding Texts +BackgroundImage = (If background image is turned off, the contrast ratio might not be enough.) # # lowvision.ScoreUtil #
diff --git a/plugins/org.eclipse.actf.visualization.engines.lowvision/src/messages_ja.properties b/plugins/org.eclipse.actf.visualization.engines.lowvision/src/messages_ja.properties index e90b376..0fb6d03 100644 --- a/plugins/org.eclipse.actf.visualization.engines.lowvision/src/messages_ja.properties +++ b/plugins/org.eclipse.actf.visualization.engines.lowvision/src/messages_ja.properties
@@ -28,6 +28,7 @@ ProhibitedBackgroundColorProblem_The_background_color_is_not_allowed_by_the_design_guideline__1 = \u80cc\u666f\u8272\u306b\u30ac\u30a4\u30c9\u30e9\u30a4\u30f3\u3067\u8a31\u3055\u308c\u3066\u3044\u306a\u3044\u8272\u304c\u4f7f\u308f\u308c\u3066\u3044\u307e\u3059 ContrastRatio = \u30b3\u30f3\u30c8\u30e9\u30b9\u30c8\u6bd4 TargetString = \u5bfe\u8c61\u6587\u5b57\u5217 +BackgroundImage = (\u3082\u3057\u80cc\u666f\u753b\u50cf\u304c\u975e\u8868\u793a\u306b\u3055\u308c\u305f\u5834\u5408\u3001\u6587\u5b57\u8272\u3068\u80cc\u666f\u8272\u306e\u30b3\u30f3\u30c8\u30e9\u30b9\u30c8\u6bd4\u306b\u554f\u984c\u304c\u3042\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002) # # lowvision.ScoreUtil #
diff --git a/plugins/org.eclipse.actf.visualization.engines.lowvision/src/org/eclipse/actf/visualization/internal/engines/lowvision/Messages.java b/plugins/org.eclipse.actf.visualization.engines.lowvision/src/org/eclipse/actf/visualization/internal/engines/lowvision/Messages.java index bb1bffb..99b980d 100644 --- a/plugins/org.eclipse.actf.visualization.engines.lowvision/src/org/eclipse/actf/visualization/internal/engines/lowvision/Messages.java +++ b/plugins/org.eclipse.actf.visualization.engines.lowvision/src/org/eclipse/actf/visualization/internal/engines/lowvision/Messages.java
@@ -42,6 +42,7 @@ public static String ImageDumpUtil_TrueColor; public static String ContrastRatio; public static String TargetString; + public static String BackgroundImage; static { NLS.initializeMessages(BUNDLE_NAME, Messages.class);
diff --git a/plugins/org.eclipse.actf.visualization.engines.lowvision/src/org/eclipse/actf/visualization/internal/engines/lowvision/PageElement.java b/plugins/org.eclipse.actf.visualization.engines.lowvision/src/org/eclipse/actf/visualization/internal/engines/lowvision/PageElement.java index f7e2c4d..617ae45 100644 --- a/plugins/org.eclipse.actf.visualization.engines.lowvision/src/org/eclipse/actf/visualization/internal/engines/lowvision/PageElement.java +++ b/plugins/org.eclipse.actf.visualization.engines.lowvision/src/org/eclipse/actf/visualization/internal/engines/lowvision/PageElement.java
@@ -12,6 +12,8 @@ package org.eclipse.actf.visualization.internal.engines.lowvision; +import java.util.ArrayList; +import java.util.List; import java.util.StringTokenizer; import java.util.Vector; @@ -179,7 +181,7 @@ return (new LowVisionProblem[0]); } - ColorProblem cp = null; + List<ColorProblem> cp = new ArrayList<ColorProblem>(); try { cp = checkColors(_lvType); } catch (LowVisionException e) { @@ -187,9 +189,7 @@ + this.id); e.printStackTrace(); } - if (cp != null) { - problemVec.addElement(cp); - } + problemVec.addAll(cp); FixedSizeFontProblem fsfp = null; try { @@ -271,26 +271,30 @@ return (problemArray); } - private ColorProblem checkColors(LowVisionType _lvType) + private List<ColorProblem> checkColors(LowVisionType _lvType) throws LowVisionException { + + List<ColorProblem> result = new ArrayList<ColorProblem>(); + if (!isTextTag()) { - return (null); + return (result); } try { if (style.hasDescendantTextWithBGImage()) { - ColorProblem result = new ColorProblem(this, _lvType, 0); - result.setElement(style.getElement()); - result.setHasBackgroundImage(true); - result.setTargetStrings(style.getDescendantTextsWithBGImage()); + ColorProblem cp = new ColorProblem(this, _lvType, 0); + cp.setElement(style.getElement()); + cp.setHasBackgroundImage(true); + cp.setTargetStrings(style.getDescendantTextsWithBGImage()); + cp.setIsWarning(true); + result.add(cp); + } + + if (!style.hasChildText()) { return (result); } - if (!style.hasChildText() - || (style.getComputedBackgroundImage() != null && !style - .getComputedBackgroundImage().equalsIgnoreCase( - "none"))) { - return (null); - } + boolean hasBgImage = (style.getComputedBackgroundImage() != null && !style + .getComputedBackgroundImage().equalsIgnoreCase("none")); ColorIRGB fgOrg = new ColorIRGB(foregroundColor); ColorIRGB bgOrg = new ColorIRGB(backgroundColor); @@ -298,16 +302,17 @@ W3CColorChecker w3c = new W3CColorChecker(fgOrg, bgOrg); double contrast = w3c.calcContrast(); if (contrast < 7) { - ColorProblem result = new ColorProblem(this, _lvType, + ColorProblem cp = new ColorProblem(this, _lvType, w3c.calcSeverity()); - result.setElement(style.getElement()); - result.setContrast(contrast); - result.setTargetStrings(style.getChildTexts()); - return (result); + cp.setElement(style.getElement()); + cp.setContrast(contrast); + cp.setTargetStrings(style.getChildTexts()); + cp.setHasBackgroundImage(hasBgImage); + result.add(cp); } } catch (LowVisionProblemException e) { } - return (null); + return (result); /* * if (!(_lvType.doChangeColors())) { //TODO ColorIRGB fgSim = null; @@ -381,8 +386,8 @@ short type = fontSizeType(fontStr); if (type == FONT_SIZE_FIXED) { // not include "pt" try { - FixedSizeFontProblem problem = new FixedSizeFontProblem(this, _lvType, - PageElement.SEVERITY_FIXED_SIZE_FONT); + FixedSizeFontProblem problem = new FixedSizeFontProblem( + this, _lvType, PageElement.SEVERITY_FIXED_SIZE_FONT); problem.setElement(style.getElement()); return (problem); } catch (LowVisionProblemException e) { @@ -486,8 +491,8 @@ if (fixedFlag) { try { - FixedSizeFontProblem problem = new FixedSizeFontProblem(this, _lvType, - PageElement.SEVERITY_FIXED_SIZE_FONT); + FixedSizeFontProblem problem = new FixedSizeFontProblem(this, + _lvType, PageElement.SEVERITY_FIXED_SIZE_FONT); problem.setElement(style.getElement()); return (problem); } catch (LowVisionProblemException e) {
diff --git a/plugins/org.eclipse.actf.visualization.engines.lowvision/src/org/eclipse/actf/visualization/internal/engines/lowvision/problem/ColorProblem.java b/plugins/org.eclipse.actf.visualization.engines.lowvision/src/org/eclipse/actf/visualization/internal/engines/lowvision/problem/ColorProblem.java index 9a5250f..c03aa38 100644 --- a/plugins/org.eclipse.actf.visualization.engines.lowvision/src/org/eclipse/actf/visualization/internal/engines/lowvision/problem/ColorProblem.java +++ b/plugins/org.eclipse.actf.visualization.engines.lowvision/src/org/eclipse/actf/visualization/internal/engines/lowvision/problem/ColorProblem.java
@@ -76,6 +76,9 @@ public String getAdditionalDescription(){ StringBuffer tmpSB = new StringBuffer(); + if(hasBackgroundImage&&problemType==LOWVISION_COLOR_PROBLEM){ + tmpSB.append(Messages.BackgroundImage); + } if(targetStrings!=null && targetStrings.length>0){ tmpSB.append("("+Messages.TargetString+" = "); for(String tmpS : targetStrings){ @@ -99,17 +102,20 @@ return( backgroundColor ); } - public boolean isHasBackgroundImage() { + public boolean hasBackgroundImage() { return hasBackgroundImage; } public void setHasBackgroundImage(boolean hasBackgroundImage) { this.hasBackgroundImage = hasBackgroundImage; - if(hasBackgroundImage){ + } + + public void setIsWarning(boolean isWarning){ + if(isWarning){ problemType = LOWVISION_BACKGROUND_IMAGE_WARNING; }else{ problemType = LOWVISION_COLOR_PROBLEM; - } + } } public double getContrast() {