On Fri, 17 Jul 2009 13:23:02 +0200, Ian Hickson <i...@hixie.ch> wrote:
On Fri, 17 Jul 2009, Steven Pemberton wrote:
On Fri, 17 Jul 2009 00:29:42 +0200, Ian Hickson <i...@hixie.ch> wrote:
> On Thu, 16 Jul 2009, Steven Pemberton wrote:
> > On Thu, 16 Jul 2009 10:50:52 +0200, Toby Inkster <t...@g5n.co.uk>
wrote:
> > >
> > > For the same reason, xmlns:foo attributes aren't allowed in HTML4
> > > either.
> >
> > Actually, to allow for future changes, the spec says: [...]
>
> So the following is valid HTML4?
Not valid, but permitted.
Woah. What's the difference between "valid" and "permitted"? Aren't they
both synonyms of "conforming"?
Not at all. Valid has a very well defined meaning, with respect to
schemata. I used 'permitted' in its English sense. A document with extra
attributes may be a valid according to some other schema, but it is still
permitted to send it to an HTML4 processor, because the spec says so.
> > "If a user agent encounters an attribute it does not recognize, it
> > should ignore the entire attribute specification (i.e., the
> > attribute and its value)."
> > http://www.w3.org/TR/html401/appendix/notes.html#notes-invalid-docs
> >
> > In other words, it should act as if it weren't there. So it is
> > allowed, but no meaning is defined.
>
> (I disagree with your interpretation of that text, by the way; it is a
> statement about user agents, not a statement about the conformance of
> HTML documents themselves. Requirements on user agents are not the
> same as requirements on documents.)
I agree entirely. In fact one of my main problems with the HTML5 spec is
that it seems to conflate the two, but considering your statement above,
the problem must just be that it entwines the two.
Requirements in HTML5 are organised by topic, not by conformance class,
if
that's what you mean, yes. This is generally speaking a pretty common way
of writing specs at the W3C (e.g. it's what CSS, SVG, and XML all do).
(If you have any feedback on the HTML5 spec, please send it to
public-html; any feedback would be very welcome.)
But the HTML4 spec defines a document type, and says the processor for
that document type must accept certain deviations from that in order to
allow for future change. In other words the spec anticipated that other
document types would be sent in the future.
Sure, future compatibility is a pretty standard part of any language. But
if you agree that the above quote is a statement about _user agents_, as
opposed to authors, I don't understand how you then conclude that it can
in any way affect document conformance (what authors are permitted to
do).
Suppose we define a new markup language, Accessible HTML, which includes
the role attribute and all the WAI ARIA attributes. It permits an author
to write a document that validates according to that new schema, and send
it to an HTML4 processor, with well-defined processing.
The author can also send it to an Accessible HTML processor, which can do
extra things with it, but it will still work with a legacy processor.
Best wishes,
Steven