The Missing Link: Connecting Boxes

There is one basic document functionality that none of HTML, CSS, nor SVG can do. None can represent one box, another box, and a link between the two.

Linking from box One to box Two

The most fundamental feature of HTML is the hyperlink, But while

〈a id="one" href="#two"〉Linking to #two〈/a〉 
〈a name="two"〉Linked to from #one〈/a〉

could be represented by the above graphic, a HTML hyperlink doesn’t represent this itself.

CSS is good at drawing boxes, but it can’t show relationships between boxes. Using CSS there would be something missing between boxes one and two.

SVG can draw the rectangles and with a little trouble an arrow between the two. However it will do this as three unconnected graphics, two boxes and one arrow. This doesn’t represent any relationship between the boxes. As far as SVG is concerned the middle graphic could just as well be a tiger between two rabbits.


HTML5 token support

One common situation when registering a new account with a service (say is that it requires email confirmation from you to activate that account. This is part of a handshake, where both parties present their credentials and confirm who the other one is. It is also a neat way for the service to make sure that the user has a valid email (to be blocked if a troll or spammer) which is also a universally unique identification. Two independent parties will never have the same email address while they could have the same username on different services (I am "jax" here, but on other sites someone else could have taken that username).

Unfortunately as often as not the confirmation request message to make sure that the user is not a spammer will itself end up in the user's spam folder since the mail program or service can't know that the email isn't from a spammer. …


Can HTML5 make accessibility usable?

Following up the discussion on Accessible drag and drop using WAI-ARIA, I think HTML5 may be a huge win for accessibility. HTML4 was filled with good intentions, HTML5 should be filled with good implementations.

HTML4 became a W3C standard 11 years ago. By now we should have plenty of implementation experience with the standard, user agents, web developers, and authoring tools and what has actually made the Web more or less accessible. Ideally there should be an audit of all the HTML4 features for their impact on accessibility, whether they were designed for the purpose or not.

We also have extensive implementation experience. Accessibility was central to the design of Opera from the very beginning and part of the company culture, but that doesn't mean every initiative was a success. Other browsers and tool makers should have learned something the last decade as well. Accessibility enjoys considerable goodwill among developers, most want the Web to be accessible, but to turn good will into good products first we need to make the implicit knowledge explicit, what failed as much as what succeeded and why it failed. …


Bending or breaking the tree: Extensibility in HTML

A link to the past

HTML is the Hypertext Markup Language. Hyperlinks is what made HTML special. When I came to the HTML Working Group, shortly after the browser war was over, the feud of the day was with XLink 1.0, which quickly had become a Recommendation through a flawed process. The HTML group wasn't happy about it, as they didn't think the specification fulfilled its design goals.

XLink had a complex history, originally it was meant to be an Extensible Linking Language to complement the Extensible Markup Language (XML). The specification ended up creating a number of attributes in the XLink namespace, 'link:type', 'xlink:href', 'xlink:role', 'xlink:arcrole', 'xlink:title', 'xlink:show', 'xlink:actuate', 'xlink:label', 'xlink:from', 'xlink:to'. The idea was that any XML language needing hypermedia functionality would mix in the appropriate XLink attributes.

When I left the HTML Working Group a few years later XLink was forgotten, but the HTML working group had made a very similar collection of floating attributes for XHTML2, 'xhtml:href', 'xhtml:role', 'xhtml:src', 'xhtml:about' and so on. The idea now was that any XML language needing hypermedia functionality would mix in the appropriate XHTML2 attributes. …


HTML5 — XML’s Stealth Weapon

Even after the death-of-XHTML2, syntax debate still dominates the day. Here is my contribution.

The XML story

In the beginning was SGML. There is a lot to be said about SGML so I won't. HTML was specified to be an application of SGML, but that never happened in practice. Among browsers Opera kept the pretence of supporting SGML for the longest time, causing us a lot of trouble because Opera behaved differently from every other browser. DocBook is another known SGML application, but in general SGML was no success.

About a decade ago a small group of people started a reformulation of the old SGML standard, First they did it outside of the W3C and later, when the success became apparent, within the W3C. The story of this simplified SGML, now known as XML, may be best told via the annotated XML, by Tim Bray, one of the principal authors. Essentially XML is angle brackets and a number of production rules on top of Unicode (for a fuller description see Comparison of SGML and XML). …


Image: A thumbnail view

Raster graphics (PNG, JPEG, and the rest) are used in a variety of contexts and a variety of resolutions, but most are come from a small number of sources, above all the digital cameras. Since the digital cameras still are marketed by the megapixel, and the lazy option is to publish the oversized photos unedited. This leads to unnecessary bits clogging up the Internet, slow downloads and excessive memory use.


Keyboard drag and drop: HTML and accessibility

Should-read article: Accessible drag and drop using WAI-ARIA

The keyboard-friendly design of Opera was one of the things that attracted me to the browser in the first place, and one I am disappointed with the slow progress with. Keyboard-wise Opera today isn’t substantially better today than Opera 3, or at least Opera 7. In some cases it is better (like spatial navigation when it works), in other cases it is worse (I still haven’t found how to recover the Alt+Z history view, one of Opera’s greatest inventions). I don’t think Opera does any keyboard-only or keyboard-augmented usability testing.

Opera’s lack of progress is one thing, but in the Web sphere things are actually getting worse. Early on you could do keyboard-only browsing most of the time. If the site used frames it was very awkward and it was better to use any mousing device available, and you had the occasional idiot who used ‘onclick’ functionality to recreate actual links, either because he didn’t like the colour or underline of links or simply because he could.


An XHTML 2 far

Before the weekend W3C announced that the XHTML2 Working Group would be discontinued. That hardly came as any surprise, and mixed with that feeling of relief and melancholy the death of a terminally ill patient may elicit. To me XHTML2 was the next HTML3, another ill-fated W3C spec discontinued at an early stage and superceded by a browser-supported spec, HTML 3.2. The difference was that I had an inside view of XHTML2. …


A little knowledge is a dangerous thing

This was a comment on a New Scientist piece, Linking genes to geography could revive race myth.

The concept of human races that most of us have grown up with has been shown to be at best simplified or misleading and at worst completely false. That hasn’t and won’t make racism go away. Furthermore this racial theory we have inherited is founded on Victorian science, and an enlightened project to classify and make sense of the world as they knew it then. The racial theory we know is far better founded than the theories at their time, but that wasn’t good enough.