- From: Alex Jitianu <alex_jitianu@sync.ro>
- Date: Wed, 07 Dec 2011 14:47:10 +0200
- To: www-validator-css@w3.org
- Message-ID: <4EDF604E.9020508@sync.ro>
Hi,
Here are some possible problems I've detected on the CSS Validator:
1. If a CSS3 attribute selector has a prefix, the validator doesn't
recognize it. Ex:
@namespace foo "http://www.example.com";
*[foo|att=val] { color: blue }
2. Validating each of the 2 properties below will result in a NPE (wich
is represented as Parse Error [empty string]):
text-shadow: 0.1em 0.1em rgba(0, 0, 0, 0.5);
box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.5);
I believe the cause is that function "rgba" is not recognized as valid
COLOR values.
The next property fails with a ClassCastException. It should give the
error "0 is not a color value ":
box-shadow: 3px 3px 5px 0;
I believe both problems can be solved if the code from
org.w3c.css.properties.css1.CssColor will be used to validate the COLOR
part in org.w3c.css.properties.css3.CssBoxShadow.java and
org.w3c.css.properties.css3.CssBoxShadow.java
3. Resource CSS3Properties.properties has an invalid entry:
text-overflow : org.w3c.css.properties.css3.CssTextOverflowCSS3
I think it should be:
text-overflow : org.w3c.css.properties.css3.CssTextOverflow
4. in org.w3c.css.parser.CssPropertyFactory, whenever throwing a
"noexistence" exception the profile should also be passed through
translations :
"pfsOk.toString()" replaced with
"ac.getMsg().getString(pfsOk.toString())"
5. org.w3c.css.properties.css1.CssBackgroundMob. The NULL check from
line 121 should be moved before line 117 otherwise a NPE could arrise.
6.In org.w3c.css.util.ApplContext.isNamespaceDefined(URL, String),
reference "namespaces" can be null (is lazy created on method
"setNamespace") so the call "namespaces.get(url)" can throw a NPE.
Suggestions :
1. In class org.w3c.css.css.StyleSheetParser a new parse method over a
reader can be useful :
public void parse(ApplContext ac, Reader inputReader, URL url,
String kind, String media, int origin)
2. In class org.w3c.css.parser.CssFouffa a new constructor over a reader
can be useful :
public CssFouffa(ApplContext ac, Reader reader, URL file, int
beginLine)
3. In org.w3c.css.parser.CssFouffa.handleImport(URL url, String file,
boolean is_url, AtRuleMedia media), the following block is a problem if
you invoke the validator for local CSSs:
//if it's not permitted to import... (direct input)
if (url.getProtocol().equals("file")) {
ac.getFrame().addWarning("unsupported-import");
return;
}
Hope it helps,
Alex
Received on Thursday, 8 December 2011 13:14:11 UTC