As a follow-up to “The Missing Link“, I’ve written a fairly lengthy document that presents a number of alternatives for creating a more flexible and robust linking mechanism. The important core of the piece comes first, identifying a generic problem and covering some pros and cons of various ways to address the problem.
After that comes a much longer section which presents reasons to add linkability to various elements in the HTML5 specification. I did not consider WebForms elements, but instead the list of 91 elements found in the primary list in Simon Pieters’ excellent HTML5 Elements and Attributes guide.
The important thing in that long list is not the exact mechanism I propose, but that I was able to find use cases for 30 HTML5 elements. Each one is described briefly and accompanied by one or two markup examples. Another 18 (listed at the end of the document) seemed initially to be good candidates, but I failed to find reasonable use cases for them. The remaining 43 elements weren’t even considered, since they all seemed to be obviously poor choices. One example is
video, which would likely suffer if it were a hyperlink– resolving what to do when a user clicks on the video controls was completely unclear to me.
Now, as to why I’m blogging this instead of taking it to one or another of the relevant mailing lists: I’m looking for community input in order to strengthen the document. Did I miss any alternative solutions in that first section? Are there more pros and cons for the various alternatives? What use cases did I miss in that last list of 18; or, for that matter, what are some strong use cases for the list of 30 that I didn’t include? Are there any elements among the 43 I omitted that do, in fact, have strong use cases for being linkable?
I’ll do my best to keep up with comments. Have at it, folks!
Update 11 Jun 08: I’ve updated the document to incorporate ideas from commenters, and added a few extra bits of information at the end of the document. It’s worth another look, especially since I’ve gotten some semi-official encouragement to submit the proposal to the HTML Working Group.