Re: Validation error frequencies

<op.t5tk6cnyidj3kv@hp-a0a83fcd39d2.belkin>

Current votes: None.


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

>> 0099 / 400	Attribute =E2=80=9Ccellspacing=E2=80=9D not allowed on elem=
ent =E2=80=9Ctable=E2=80=9D from =20
>> namespace =E2=80=9Chttp://www.w3.org/1999/xhtml=E2=80=9D 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 =20
> work for most authors, yet.

border-collapse:collapse works in IE.


>> 0095 / 400	Attribute =E2=80=9Csize=E2=80=9D not allowed on element =E2=
=80=9Cinput=E2=80=9D from =20
>> namespace =E2=80=9Chttp://www.w3.org/1999/xhtml=E2=80=9D at this point.
>
> Common and can't emulate with CSS 2.1. Let's make this conforming for =20
> the relevant input types.

Agreed.


>> 0094 / 400	Text after =E2=80=9C&=E2=80=9D did not match an entity name.
>
> Using a markup-significant character in URLs was a bad design choice, =20
> but it is too late to change it. It would be great if the harmless case=
s =20
> could be made non-errors without making stuff like &copy turning into =20
> 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 ar=
e
    consumed, and nothing is returned.

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


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

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


>> 0084 / 400	Attribute =E2=80=9Cborder=E2=80=9D not allowed on element =E2=
=80=9Ctable=E2=80=9D from =20
>> namespace =E2=80=9Chttp://www.w3.org/1999/xhtml=E2=80=9D 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 =
=20
author specify border=3D'0' on tables. Perhaps because WYSIWYG editors po=
p =20
up a dialog with options for cellspacing, border, etc, when creating a =20
table, having 0 as default for all of those, and then including all =20
attributes even though they're not actually needed?

In any case, saying <table border> (or <table border=3D'1'>) is a conveni=
ent =20
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 =20
class...)


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

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


>> 0020 / 400	Bad value =E2=80=9C_top=E2=80=9D for attribute =E2=80=9Ctar=
get=E2=80=9D on element =E2=80=9Ca=E2=80=9D from =20
>> namespace =E2=80=9Chttp://www.w3.org/1999/xhtml=E2=80=9D: Bad browsing=
 context name: =20
>> Browsing context name started with the underscore and used a reserved =
=20
>> keyword =E2=80=9Ctop=E2=80=9D.
...
>> 0006 / 400	Bad value =E2=80=9C_new=E2=80=9D for attribute =E2=80=9Ctar=
get=E2=80=9D on element =E2=80=9Ca=E2=80=9D from =20
>> namespace =E2=80=9Chttp://www.w3.org/1999/xhtml=E2=80=9D: Bad browsing=
 context name: =20
>> Browsing context name started with the underscore and used a reserved =
=20
>> keyword =E2=80=9Cnew=E2=80=9D.
>
> Perhaps these should be conforming.

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


>> 0014 / 400	Element =E2=80=9Cacronym=E2=80=9D from namespace =20
>> =E2=80=9Chttp://www.w3.org/1999/xhtml=E2=80=9D not allowed in this con=
text. (The parent =20
>> was element =E2=80=9Cp=E2=80=9D from namespace =E2=80=9Chttp://www.w3.=
org/1999/xhtml=E2=80=9D.) =20
>> Suppressing further errors from this subtree.
...
>
> Perhaps <acronym> should be allowed but defined as a synonym of <abbr>.=
 =20
> As deployed, <acronym> isn't exclusively used for what dictionaries =20
> define as acronyms.

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


>> 0010 / 400	Attribute =E2=80=9Cname=E2=80=9D not allowed on element =E2=
=80=9Cmap=E2=80=9D from namespace =20
>> =E2=80=9Chttp://www.w3.org/1999/xhtml=E2=80=9D at this point.
>
> Let's make this conforming.

Agreed. =20
http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2007-April/010975.htm=
l


>> 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 =20
list... ;-)


>> 0005 / 400	Bad value =E2=80=9Csearch=E2=80=9D for attribute =E2=80=9Ct=
ype=E2=80=9D on element =E2=80=9Cinput=E2=80=9D =20
>> from namespace =E2=80=9Chttp://www.w3.org/1999/xhtml=E2=80=9D.
>> 0001 / 400	Attribute =E2=80=9Cplaceholder=E2=80=9D not allowed on elem=
ent =E2=80=9Cinput=E2=80=9D from =20
>> namespace =E2=80=9Chttp://www.w3.org/1999/xhtml=E2=80=9D at this point.
>
>
> Let's make these conforming.

Agreed, placeholder in particular.


--=20
Simon Pieters
Opera Software