Re: Validation error frequencies

On Thu, 31 Jan 2008 22:50:52 +0100, Henri Sivonen <hsivonen@iki.fi> wrote:

>> 0099 / 400 Attribute “cellspacing” not allowed on element “table” from  
>> namespace “http://www.w3.org/1999/xhtml” at this point.
>
> See border. Let's make "0" conforming.
>
> Also, border-spacing doesn't work in IE7, so leaving this to CSS doesn't  
> work for most authors, yet.

border-collapse:collapse works in IE.


>> 0095 / 400 Attribute “size” not allowed on element “input” from  
>> namespace “http://www.w3.org/1999/xhtml” at this point.
>
> Common and can't emulate with CSS 2.1. Let's make this conforming for  
> the relevant input types.

Agreed.


>> 0094 / 400 Text after “&” did not match an entity name.
>
> Using a markup-significant character in URLs was a bad design choice,  
> but it is too late to change it. It would be great if the harmless cases  
> could be made non-errors without making stuff like &copy turning into  
> the copyright sign pass silently.
>
> I don't have a concrete suggestion at this time, though.

    If no match can be made, then this is a parse error. No characters are
    consumed, and nothing is returned.

s/this is a parse error. N/n/


>> 0092 / 400 Attribute “xml:lang” not allowed on element “html” from  
>> namespace “http://www.w3.org/1999/xhtml” at this point.
...
>
> It seems that many people have copied XHTML boilerplate, but only few  
> docs use xml:lang on non-root elements.
>
> Perhaps we should allow xml:lang as a talisman in text/html if lang is  
> present and they have the same value. This isn't going to fun for libs  
> that map HTML5 to XML, though.

I think lang='' should be conforming in XHTML5.


>> 0084 / 400 Attribute “border” not allowed on element “table” from  
>> namespace “http://www.w3.org/1999/xhtml” at this point.
>
> See <img> border. Let's make "0" conforming.

No border on tables is the default in browsers. It's not clear to me why  
author specify border='0' on tables. Perhaps because WYSIWYG editors pop  
up a dialog with options for cellspacing, border, etc, when creating a  
table, having 0 as default for all of those, and then including all  
attributes even though they're not actually needed?

In any case, saying <table border> (or <table border='1'>) is a convenient  
way to get data tables readable. Equivalent with CSS would be:

    table { border:1px outset silver }
    th, td { border:1px inset silver }

(But then that affects all tables, so you'd probably need to use a  
class...)


>> 0040 / 400 Last error required non-streamable recovery.
>
> Surprisingly common.

There are some ways to make the parser streamable in more cases without  
breaking stuff. e.g. don't move <title>s to head; ignore </head>.


>> 0020 / 400 Bad value “_top” for attribute “target” on element “a” from  
>> namespace “http://www.w3.org/1999/xhtml”: Bad browsing context name:  
>> Browsing context name started with the underscore and used a reserved  
>> keyword “top”.
...
>> 0006 / 400 Bad value “_new” for attribute “target” on element “a” from  
>> namespace “http://www.w3.org/1999/xhtml”: Bad browsing context name:  
>> Browsing context name started with the underscore and used a reserved  
>> keyword “new”.
>
> Perhaps these should be conforming.

_top already is, but _new and _blank aren't. I think _new and _blank  
should be conforming in order to avoid javascript hacks that are harder to  
discover and disable for users who don't want new windows...


>> 0014 / 400 Element “acronym” from namespace  
>> “http://www.w3.org/1999/xhtml” not allowed in this context. (The parent  
>> was element “p” from namespace “http://www.w3.org/1999/xhtml”.)  
>> Suppressing further errors from this subtree.
...
>
> Perhaps <acronym> should be allowed but defined as a synonym of <abbr>.  
> As deployed, <acronym> isn't exclusively used for what dictionaries  
> define as acronyms.

I'm not sure which is worse: having authors who move to HTML5 replace  
their <acronym>s with <abbr>s, or having people arguing endlessly about  
which one to use.


>> 0010 / 400 Attribute “name” not allowed on element “map” from namespace  
>> “http://www.w3.org/1999/xhtml” at this point.
>
> Let's make this conforming.

Agreed.  
http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2007-April/010975.html


>> 0009 / 400 reference to undeclared general entity copy
>
> Fun with XML parsers that don't process external entities...

Let's add a bunch of default entities to XML. Oh wait, wrong mailing  
list... ;-)


>> 0005 / 400 Bad value “search” for attribute “type” on element “input”  
>> from namespace “http://www.w3.org/1999/xhtml”.
>> 0001 / 400 Attribute “placeholder” not allowed on element “input” from  
>> namespace “http://www.w3.org/1999/xhtml” at this point.
>
>
> Let's make these conforming.

Agreed, placeholder in particular.


-- 
Simon Pieters
Opera Software

Received on Friday, 1 February 2008 00:33:58 UTC