[html4all] HTML4All HTML (at http://html4all.org/wiki/index.php/HTML)

Robert J Burns rob at robburns.com
Thu Jan 8 11:30:42 PST 2009


Hello 4All,

I've been adding much summary information to the HTML page I started  
on the HTML4All wiki [1]. The page content has grown substantially,  
but I want it to be a quick stop to find this summary information and  
then provide more detailed information in:

1) separate wiki pages for each module
2) separate HTML4All HTML recommendation prose sections
3) DTD (this is for better backwards compatibility with existing UAs  
that handle DTDs)
4) other schema definitions for better forward compatibility (XSD,  
RelaxNG, etc.) The main objective in providing these schema  
definitions (lowercase 's' and 'd') is to give authors a way to check  
their conformance against the machine checkable portion of the  
recommendation.

We might break this main page into parts eventually also. I welcome  
anyone else to get involved with the editing. I've tried to follow all  
of the conversations of this group and the HTML WG, but I likely  
missed entire proposals and threads. I think at this stage we should  
be collecting together all of the proposals and only decide if or how  
to pare them down once we can look at all of the features side-by- 
side. Another improvement we can make over the WhatWG black-hole  
approach to deciding these matters.

Following the HTML5 draft, I expect to focus most of my attention on  
two chapters: 1) "Semantics and Structure of HTML Documents" and 2)  
"The Elements of HTML". I want to do that in a way that as much as  
possible is serialization independent. However, unlike the HTML5  
draft, it is not my goal to sweep under the rug the deficiencies in  
text/html. So whenever we simply cannot support a feature in text/ 
html, I will clearly state that, but don't want to therefore drop it  
from the XML (or any other) serialization.

There are other topics that have been raised here that do not relate  
specifically to the vocabulary of HTML that I think might be worth  
getting their own chapter, but they are lower priority in mind view.  
Some of these other chapters might include:

1) HTML over email
2) HTML visual editing
3) HTML accessibility guidelines
4) Interactive web browsing UAs
5) Common DOM interfaces (and also interfaces for document, window,  
node, etc.)

A few things to note about this exercise.

Backwards Compatibility:
It is remarkable that WhatWG ever claimed XHTML2 is not backwards  
compatible. There are far fewer proposals in XHTML2 that break  
backwards compatibility than those in HTML5 (aside form the text/html  
verses XML serialization issue, but if that's all they mean they  
should say so). Even the XHTML2 approach to globalize attributes would  
be much better adopted for the text/html serialization where newly  
introduced elements (as opposed to attributes) automatically break  
backwards compatibility.

Another thing I notice from putting all of these features in one place  
is that WebForms can be made to work much more like XForms (while  
still being backwards compatible with legacy HTML forms) and XForms  
can be handled in text/html by adding new elements, using existing  
HTML elements with new attributes and providing a new LINK rel type to  
the XForms back-end content model that cannot be handled in the HEAD  
element in legacy UAs.

Attribute Globalization:
On another topic, I note two of the, likely, more controversial pieces  
in this HTML specification:

• globalization of the href attribute providing activated hypertext  
linking on any arbitrary element
• globalization of the src attribute providing embedding on any  
arbitrary element (though this does provide better alt text  
capabilities within the text/html serialization)

I will be working to add these capabilities, as well as the others, to  
the open source rendering engines. They do not really degrade too  
gracefully in legacy browsers (depending on what the author wants to  
accomplish), but in the long-run we could be targeting only browsers  
that handled the features just fine.

Namespaces:
Adding default xmlns and xmlns:* declarations on the root HTML element  
ensures that many namespaces can be used with prefix only, easing the  
migration by authors to namespace aware documents. This means in  
HTML4All document could simply include the following:

<html>
<p aria:anariaattribute='anariavalue' >some content ...</p>
</html>

among other things. This makes the most common uses of namespace  
extensibility quite easy for authors to use and understand. There may  
be other namespaces we should include default prefixes for, that have  
slipped my mind. Of course in the short run, authors may need to add  
those prefix to namespace URI mappings manually for legacy support  
(including in the peculiar ways IE requires prior to IE8), but again  
our children will never have to deal with these complications.

Adoption
While embracing W3C recommendations is radical enough compared to the  
WhatWG approach to try to dumb down HTML, the actual backwards  
compatibility issues involved with HTML4All introduced elements are  
small indeed. The HTML4All HTML introduces about as many new elements  
(10) as it recommends WhatWG not introduce (10). However in every case  
except one (SUBTEXT), these elements degrade gracefully in non- 
supporting browsers. In other words they provide nice new features for  
authors and users in supporting browsers but they are perfectly usable  
on their own (without wrapping them in other elements or adding  
scripting functionality) in non-supporting UAs. The one exception –  
the SUBTEXT element – would require a delayed adoption by authors or  
the use of a DIV or SPAN element wrapped around the SUBTEXT element  
(and some author provided CSS) until IE support materialized (which is  
the only browser where it won't work today with CSS alone). The other  
proposals that have been made (and I have tried to track them all) do  
not involve new elements and so they degrade gracefully on their own.

It is also remarkable that when one approaches the enhancement of HTML  
from authors' and users' needs rather than implementors' needs, most  
of the changes WhatWG proposes simply don't make the cut (and the  
proposals WhatWG cuts are the features authors and users need; though  
the FIGURE element does stand out as an exception and an excellent new  
WhatWG proposed element meeting the needs of authors and users).

This is only focussing on HTML4all originating proposals. There are  
adoption issues with other newly proposed elements for text/html  
serializations: in particular the XForms, HTML5/WhatWG, and XHTML2  
proposed elements. These have far greater problems than the HTML4All  
proposed elements in terms of correct and consistent parsing in legacy  
browsers using the text/html serialization. The introduction of  
namespaces might address this problem by, for example, introducing  
XForms as a namespaced extension to HTML for proper parsing in IE  
(plugins already exist once it is parsed correctly). I include the  
prefix 'x' as a default XForms prefix so that any XForms element can  
be included for proper namespaced parsing such as x:select1. Other  
transitional options exist (such as the proposal for a legacy- 
bridging  interim markup[2]).

While the differences between WhatWG HTML and HTML4All are small in  
the actual number of elements and attributes introduced into the  
vocabulary, the benefits for authors and users (including disabled  
users) are immense.

Next Steps:
I plan to get these summaries linked up with other pages in the coming  
weeks to provide more detail. For those of you who have been following  
these discussions over the last few years, you might already be  
familiar enough with these proposals to make sense of it from the  
summary alone. While many of these proposals have been authored  
largely by only a few of us, many other HTML4All members have been  
involved in the conversations that shaped the proposals (on this list,  
on the public list, within the HTML WG and in many private  
conversations). So I think of this as very much a group effort.

My main focus will be on the pars of HTML that differ from HTML5 (data  
module, phonetic attributes module, mandatory alt and role, etc.).  
This includes the specification of a DTD and other schema definitions  
for HTML. It might even be worthwhile to rework Henri's open source  
conformance checker to work with HTML4All's HTML. Incidentally the  
specification of a real DTD means also that HTML4All HTML also solves  
the XSLT DocType problem that has consumed unwarranted debate within  
the HTMLWG, though authors would also be free to use the <!DOCTYPE  
html> when the specificity was unnecessary.

I think we have it in our power to produce this specification and make  
at least one UA (or even a few) work for our specification. Whether  
the World adopts what we do here is not up to us and we can't really  
do anything about that: anymore than the HTML WG  or WhatWG can  
control it for their recommendations. As I'm sure many of us share the  
same outlook, what I think we want is an HTML that we can make use of  
in our own communities. If that's usable on the world wide web than  
all the better. But if it only works correctly in the best of breed  
browsers and degrades gracefully in all of the others than that's OK  
too (from my point of view, at least).

Take care,
Rob

[1]: <http://html4all.org/wiki/index.php/HTML>
[2]: <http://esw.w3.org/topic/HTML/InterimLegacyBridgingMarkup>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://wilbur.bytowninternet.com/pipermail/list_html4all.org/attachments/20090108/036ce75b/attachment-0002.html>


More information about the List_HTML4all.org mailing list