Slides by Steven Pemberton, CWI, Amsterdam and W3C
(original here)
Additional errors inserted by Micah Dubinko, Brain Attic, L.L.C.
XHTML is a family of XML-based markup languages being designed.
Currently it consists of:
The new member of the XHTML family is in our minds the real XHTML.
Our aims are:
In fact, many of these things are intertwined.
By 'generic XML' we mean: if a facility exists in XML technologies, and it is suitable, use it and not a special-purpose XHTML facility. Try to get missing functionality added to XML.
Advantages: less variability; more interoperability; much of XHTML 2 works already; opportunity to make a cleaner break.
Remove all presentation-only markup.
Use stylesheets to define presentation.
Advantages: possible to author once, and display on different devices; better presentation possibilities; device presentation not hardwired; CSS has support for devices; more accessibility.
The power of CSS is currently seriously underappreciated.
(Note: doesn't require CSS to be implemented; just uses its model)
Add more semantically-oriented markup to make documents richer.
Examples: <l> element instead of <br>. <section> and <h> elements instead of <h1> <h2> etc
Not
I think that I shall never see<br> A poem lovely as a tree
but
<l>I think that I shall never see</l> <l>A poem lovely as a tree</l>
Advantages: more presentational opportunities (folding,
marquee, numbering)
[More shortly]
Forrester Research did research on why people go back regularly to some sites and not others. They found only 4 important reasons:
(the rest is noise: 14% and lower)
More usability for: the author, the surfer
As an example of poor usability, current frames are a disaster! We are currently defining XFrames, a replacement for Frames.
One day we will all be grateful for accessible websites. Maybe even today.
The Kiss of the Spiderbot:
"Google is, for all intents, a blind user. A billionaire blind user with tens of millions of friends, all of whom hang on his every word. I suspect Google will have a stronger impact than [laws] in building accessible websites."
Karsten M. Self
Examples: more structure, navigation lists, better reatment of images
<h2>Chapter 1</h2> ... <h3>Section 1</h3> ...
is now:
<section> <h>Chapter 1</h> .... <section> <h>Section 1</h> ... </section> </section>
More structure gives more accessibility.
In designing XHTML 2 we decided to do away with a separate concept of an image altogether. Now we just say that there is an equivalence between an external resource and an internal one. For instance
<table src="temperatures.png"> <caption>Average monthly temperatures</caption> <tr> <th>Jan</th> <th>Feb</th>.... <tr> <td>0</td> <td>-4</td>... </table>
A browser that can do images will display the image; others will display the table.
Advantages: device independence, accessibility, and even usability (since if the image is unreachable the document is still useful.)
Observe how scripting is currently used.
Identify missing markup/functionality.
Add it where possible; try to cover 80% mark
Examples: menus for navigation; forms data checking; folding presentation.
Advantages: more devices, more presentational variations, better search, better accessibility
With an aim to single authoring
E.g.
XML Events addresses these.
<a onClick="...javascript..." ...>
becomes
<a ev:event="activate" ev:handler="#hdlr" ...>
No more pressing forms into service for navigation!
<nl xml:base="http://xformsinstitute.com/essentials/browse/"> <label>Table of Contents</label> <li href="ch01.php">Introduction to Web Forms</li> <li href="ch02.php">XForms Building Blocks</li> <li href="ch03.php">XPath in XForms</li> ... </nl>
<meta property="keywords">vacation, Phoenix, sunshine</meta>
<link rel="identifier" type="text/plain" resource="http://rfc.org/rfc3236.txt"/>
<link rel="dc:copyright" resource="http://www.bbc.co.uk"> <meta property="dc:location">London</meta> </link>
The Model contains a number of things:
Data that is being used, manipulated, and/or submitted by the Form
May be in the XForms document, or external.
Any XML document
Data types can be checked on the client; better usability, less trips to the server.
Values can be calculated without resorting to scripting
Submission is as an XML document (plus legacy formats)
The User Interface binds into data in an instance.
The XForms set of UI controls are abstract controls, representing the intent of the control, not its look. You can then use CSS etc., for generating a presentation.
This means (amongst other things) that you can generate different presentations for different devices from the same form.
For instance a select1
represents the notion of selecting a
single value from a list. It can then be rendered as
You can even use different presentations for different devices.
XForms is a W3C Recommendation, with a large number of complete and in-progress implementations.
HTML was originally designed as a structure description language, not a presentational language.
The design of XHTML is truly 'radical': taking HTML back to its roots.
Device independence, accessibility and usability are surprisingly closely related.
Even though website builders may not yet know it, device independence, accessibility and usability have a major economic argument in their favour. Spread the word!