Stuff & Nonsense Home

Where you’ll find designer, author and speaker Andy Clarke. The bastard.

Blogging And All That Malarkey

Designing around hAccessibility

At the moment I’m writing a script for a DVD tutorial on microformats  that I will be recording for New Riders at the end of February. While designing some shiny new examples for the hCalendar event microformat, I’ve been revisiting the problems and discussions of accessibility that surround the date design pattern and thinking about possible design solutions.

For me the appeal of microformats is as much about their structured, consistent markup as it is the possibilities for their applications. I love the way that using microformats encourages people to think in more structured ways about markup. I love the consistency and conventions that they encourage too, particularly in relation to standardized class attribute values. I have rarely written a page over the last few years that doesn't contain at least one microformat.

I'm also passionate about accessibility because I believe that when you make your content available to the widest possible audience, you're doing the job of web design right. So the conflict of interest between microformats propagation and accessibility that the date design pattern raises has been bothering me.

What is the date design pattern?

The date design pattern (and datetime design pattern) is intended to allow you to publish dates and times that are human readable [and] also formally machine readable. It combines a human readable date with a machine readable equivalent using a combination of an <abbr> element containing the human readable information and a title attribute where the value is the machine readable equivalent.

<div class="vevent">

<abbr title="2009-11-20">November 20th 2009</abbr>

</div>

<abbr>> makes it clear that what the tags contain is abbreviated from something longer or more precise. By combining this with the title attribute, you provide a fuller, more precise equivalent. You've probably been doing this for years with code such as <abbr title="Portable Document Format">PDF</abbr>.

Applying this approach to dates and times seems very logical. After-all, however you choose to refer to a date, you are essentially abbreviating it in some way or another.

Where does the machine readable date format you're seeing in the title come from? The International Organization for Standardization's (ISO) standard format for dates and times. Year, month, day followed by time in hours, minutes and seconds.

YYYYMMDDThh:mm:ss

You can also choose to hyphenate these values to make them slightly easier to read.

YYYY-MM-DDThh:mm:ss

hAccessibility

Unfortunately this date design pattern doesn't come without a little controversy and accessibility specialists have expressed concerns over how the ISO formatted date is read to people who use some screen-readers. So strong are these accessibility concerns that last year the BBC dropped the hCalendar format from their their programme listings. Why? Well as John Allsopp explained,

In some versions of some screen readers, there is an option (as far as I’m aware off by default) to enable the screen reader to read out the value of the title attribute of abbreviation elements.

For example the screen-reader Jaws helpfully tries to expand the numeric strings in a title attribute into human readable numbers. 2009 is read not as two-thousand-and-none thirty-four but as two zero zero nine — hardly something that people listening to content read audibly would find easy to understand the meaning of without explanation.

Now try to imagine what it must be like to hear a complete ISO formatted date. two zero zero nine dash one one dash two zero.

In his article John asks.

If the use of the abbr design pattern made content inaccessible, even for a small number of users, in real world contexts. I’d say that’s the end of the matter. But, I’m not sure that this is the case. It seems that a small percentage of advanced users of a subset of screen readers have an annoying (admittedly it would seem very annoying) experience when using pages that use the abbr design pattern for date/time data. So, the question is, when it comes to you making a decision about your use of hCalendar in your sites, are the benefits conveyed outweighed by this usability concern (and the related tooltip usability concern for sighted users)?

This argument has raged among specialists in accessibility and microformats for almost three years and it shows no sign of abating. While microformats and accessibility enthusiasts discuss semantics, alternatives to <abbr>> and possible changes to hCalendar, I think that it is time for a little intelligent design to work around the problem.

Creative accessibility solutions

Solving the specific problems that people with disabilities face when accessing web content has always involved workarounds and creative solutions from web designers and developers.

You might have expected that web browser and screen-reader vendors would have taken the lead in web accessibility. Instead it has been outside accessibility specialists and web professionals that have worked around accessibility problems by listening to, and watching, people with disabilities use the web and from there developing best practices for the ways that we write markup and style pages using CSS.

Web professionals have plugged the holes left by web browser and screen-reader vendors, even when accessibility was not their problem. Why else would accessibility conscious developers litter their markup with skip to content links?

I think that it is time to use that same creative approach and design ways around the apparent conflict caused by the abbr design pattern in general and hCalendar in particular.

I may be naive, but to me working on web accessibility involves three stages.

If you consider accessibility and include it in your planning and design process, you then help to enhance a person's experience by adding extra usability features and finally you provide alternative forms of content to cover most needs and situations, you've already gone a long way to help people with disabilities.

It's obvious that the abbr design pattern causes some people either annoyance or hampers their use of microformat content. But it's also obvious that many more people can benefit from it. As with all aspects of accessibility, the solution should come from a balance of the two.

Finding a third way

I have started to approach the problem by providing both microformat rich content with an alternative, plain version and combining this approach with familiar skip links. For example, if you are marking up a vevent using an unordered list such as:

<ul>
<li class="vevent">
[...]
<abbr title="2008-11-20" class="dtstart">November 20th 2008</abbr>
</li>
</ul>

You can precede the list with a link to a non-microformat alternative.

<a href="events/plain/" class="skip">Using a screen-reader?</a>

If your events are presented using a <table>, you could use the <caption> element for the same purpose.

<table>
<caption><a href="events/plain/" class="skip">Using a screen-reader?</a></caption>
<tr class="vevent">
<td>[...]</td>
<td><abbr title="2008-11-20" class="dtstart">November 20th 2008</abbr></td>
</tr>
</table>

This is as simple as writing a modified template without microformats, all of five minutes work. You could choose to hide these skip links from sight in conventional ways using CSS.

If you are handy with scripting, why not go a stage further and use JavaScript to transform these links into triggers that remove the title attributes from elements that have class="dtstart", dtend or bday applied. Dynamically removing these from the DOM would prevent users of screen-readers from hearing the output from the titles. (I would love to see someone create a script or jQuery plugin.)

This approach degrades gracefully as it provides meaningful content in the form of an alternative page (as opposed to a # link) with the added benefits and improved usability that scripting, when available, provides.

Three years is long enough

One side of this seemingly entrenched argument believes that accessibility concerns outweigh the wider opportunities offered by microformats. The other has spent three years discussing the severity of the problem and possible alternative semantics for the date design pattern. I don't believe that we can wait for a consensus between accessibility specialists and microformats enthusiasts. We should be designing solutions to the problem.

I am keen to see both accessibility best practice techniques and microformats continue to develop and I hope that as web professionals have done in the past, we can find creative solutions and workarounds that keep everybody happy.

Further reading

Leave your comment

patrick h. lauke

January 19 2009 @ 12:25pm #

switching from ABBR to a humble SPAN would alleviate the problem - it solves the screen reader issue anyway. simple and elegant…but doesn’t meet with the approval of some microformateers and is therefore rejected.

your third way seems quite over-engineered, to be honest.

also, if a script removes the title etc dynamically, i believe extensions like Operator and any similar “in-browser” solutions (bookmarklets, favelets, etc) will also be affected, as you’re pulling the DOM carpet from under their feet.

Nathan de Vries

January 19 2009 @ 12:30pm #

Sounds like a workable solution, although there’s definitely an overhead in providing non-microformated content, whether it’s via Javascript or another page.

I was thinking that this problem could also be solved by a little duplication. Screen readers don’t care about “display: none” elements, so why not hide the abbr.dtstart element, and supplement it with a plain old element containing the human readable date? I often hide parts of hCards that I don’t necessarily want to display, but might still be useful to those wishing to consume them. The same trick of hiding the abbr.dtstart element would work equally well.

Emily Lewis

January 19 2009 @ 12:34pm #

Very interesting idea. Personally, I tend to agree with Patrick regarding the WaSP’s proposed SPAN alternative.

However, refreshing to see someone thinking about the problem and suggesting solutions, rather than the current (not to mention ridiculous and unacceptable) state of stagnation on this issue.

patrick h. lauke

January 19 2009 @ 01:04pm #

ah, you meant the DOM change to be triggered when they activate the screenreader link, not on page load. in that case my previous comment re Operator and co can be ignored.

John Faulds

January 19 2009 @ 01:46pm #

“Applying this approach to dates and times seems very logical.”

I’ve always thought it illogical because the title attribute of <abbr> is supposed to expand the content of the tag, whereas the date design pattern in most cases is a contraction of the content of the tag, so I think Patrick’s solution is the best.

But as you say, it could be some time before a final solution is found, so much as you suggested for ways to use HTML5 semantics via classnames now rather than waiting, a little bit of extra markup might be necessary to satisfy as many people as possible.

John Faulds

January 19 2009 @ 01:49pm #

Sorry, I wrapped a <blockquote> around “Applying this approach to dates and times seems very logical.” but it looks as if it was me who said it. — Fixed.

Matt Barnes

January 19 2009 @ 02:01pm #

The abbr date design pattern is clever, but the semantics of it seem backwards at first glance. If the point of an abbr’s title attribute is to provide an expanded version of the abbreviated content, then saying that “2009-11-20” is short for “November 20, 2009” seems backwards to me. I’d be very interested to hear your thoughts on that. Thanks!

Nathan de Vries

January 19 2009 @ 03:16pm #

@Matt: If you are trying to mark up something like “yesterday”, or “3 hours ago”, then the contents of the title attribute *are* somewhat of an expansion of the content.

Cole

January 19 2009 @ 05:48pm #

I think it’s great that we are finally thinking about working round this issue. Never been entirely taken with the idea that the current implementation of vEvent is the best - locking a microformat to a particular HTML element and even then one that is perhaps stretching the boundaries of semantic markup (an ISO time may be an abbreviation but only in the sense that my National Insurance Number is an abbreviation for my name - i.e. technically related but pushing the semantics association a wee bit).

Anyway, onto your approach. Not entirely in agreement but that is mainly because it is addressing an issue with how microformats are currently implemented rather suggesting how they might be (or could better have been) structured in the first place. To me this solution is saying “this code is inaccessible, do you want to avoid it” rather than attempting to make the microformat accessible in the first place.  However, completely understand what you are proposing is a workaround for the current situation and its potential limitations.

Still, great these things are being thought about and discussed outwith the often confined discussions of the microformat and accessibility communities.

Jeremy Anderson

January 19 2009 @ 06:06pm #

Andy, this is the kind of thinking we really need. I think you’re really on to something with skip links and as a big fan of jQuery elegance, I particularly liked your idea there.

While this may not be an end-all solution, it’s simple and fits with other accessibility compromises.

@John Faulds Your remark about the <abbr> title pattern is debatable. While screen readers may not take kindly to ISO date format, technically speaking, it is much more precise than any way we may write it naturally, which carries loads of biases.

Andy Clarke

January 19 2009 @ 06:51pm #

@ Patrick Lauke: I don’t see this workaround as over-engineered. Compared to some of the things we do on the web everyday, it’s a piece of cake.

@ Nathan de Vries: “Screen readers don’t care about “display: none” elements, so why not hide the abbr.dtstart element, and supplement it with a plain old element containing the human readable date?” —  I think because that of the principles of microformats is that data shouldn’t be hidden.

@ John Faulds: “I’ve always thought it illogical because the title attribute of <abbr> is supposed to expand the content of the tag, whereas the date design pattern in most cases is a contraction of the content of the tag” — I don’t agree. The ISO date-time format in the title attribute is the most complete expression of a date, no matter how you express the human-readable text.

@ Matt Barnes: “The abbr date design pattern is clever, but the semantics of it seem backwards at first glance.” — he ISO date-time format in the title attribute is the most complete expression of a date, no matter how you express the human-readable text. As Nathan de Vries said too, “If you are trying to mark up something like “yesterday”, or “3 hours ago”, then the contents of the title attribute *are* somewhat of an expansion of the content.”

@ Cole: “To me this solution is saying “this code is inaccessible, do you want to avoid it” rather than attempting to make the microformat accessible in the first place.” — I’m suggesting that it’s not practical or our best interests to wait for any change in the microformats semantics. Otherwise more organizations like the BBC might abandon microformants.

Rather than saying that the content is ‘inaccessible” (it isn’t), I’m offering an alternative delivery type. This is no different to using alt text, adding captions to video or a transcript for people who are deaf. Providing alternatives in not perfect situations is what (to me at least) what accessibility is about.

Jeremy Keith

January 19 2009 @ 07:25pm #

Just to clarify, the BBC didn’t abandon hCalendar because of screen reader concerns, they abandoned it because of the tool tip. Their concerns were accessibility-related (specifically, people with cognitive disabilities) but not screenreader-related (most screenreaders don’t expand the title attributes on abbr by default). The BBC published a post to clarify that: http://www.bbc.co.uk/blogs/bbcinternet/2008/07/why_the_bbc_removed_microforma.html

Patrick, the issue with using span or any other element is that the title attribute has a different semantic meaning on those elements (as per the HTML spec). Also, remember that the abbr pattern is not limited just to datetimes. It also allows authors to write things like:

<abbr title=“Patrick Lauke” class=“fn”>Pat<abbr>

Replacing abbr with span or any other element wouldn’t account for situations where the title attribute is correctly used to provide supplementary information (which is exactly what it’s supposed to do on elements other than abbr and acronym):

<span title=“this is my name” class=“fn”>Patrick Lauke<span;>

Brian Suda

January 19 2009 @ 07:50pm #

Microformats are also an evolutionary process. HTML5 offers us the datetime attribute. Microformats are designed to work in HTML4 and up, but as new technologies such as HTML5 offer potentially better solutions those will be explored and used when possible.

The perceived issues with the date-time pattern should not be a barrier to adoption. As time progresses better solutions will become available depending on capabilities.

This is also an opportunity to take the opposite approach. Instead of casting stones and saying things like ‘If screen readers do X then we shouldn’t do Y’ we should try to invert the issue. We are doing Y, can we lobby screen readers to change the way they do X?

Offering semantic information in HTML is a benefit for screen readers. Imaging if they were microformats aware and would announce “There are 3 heading, 6 links and 2 events on this page”.

We should look to promote good semantic behaviours and educate older technologies and browsers to take advantage of them.

patrick h. lauke

January 19 2009 @ 08:33pm #

@Jeremy, so why not make a “title attribute” pattern that allows for the use of the most semantically appropriate element? span with title in cases like datetime, abbr when it *is* actually an abbreviation.

@Brian “The perceived issues with the date-time pattern should not be a barrier to adoption. As time progresses better solutions will become available depending on capabilities. “
It does present a barrier to adoption if it causes problems to certain users in the here and now. Design for humans first…and if those humans happen to use screenreaders or have issues with tooltips, then their needs take precedence. And how much more time needs to progress? It’s been far too long that this issue has been open. And lastly, microformats’ use of ABBR is a semantic stretch at best, a perversion in the worst case…and lobbying screenreader/AT manufacturers to adopt the same (re)interpretation of what the markup means won’t fly.

patrick h. lauke

January 19 2009 @ 08:38pm #

additionally @Jeremy “Patrick, the issue with using span or any other element is that the title attribute has a different semantic meaning on those elements (as per the HTML spec)”

and this is the crux of the argument…the staunch belief that it *has* to be ABBR or nothing else. that nothing else approaches the perfect semantic purity of the ABBR pattern, even in the face of noted problems and sensible potential alternatives (title pattern). it’s this fundamental chasm that we’ll never manage to cross…until screenreaders/AT cave in and adapt microformats’ “more better semantic” way.

Andy Clarke

January 19 2009 @ 09:09pm #

@ Patrick Lauke: I didn’t intend to reopen the whole semantics ‘can-o-worms’, but to try to find ways ‘around’ the problem.

@ Jeremy Keith: “Just to clarify, the BBC didn’t abandon hCalendar because of screen reader concerns, they abandoned it because of the tool tip.” — I read that too, but I didn’t want to defocus this entry too much.

Basing my point of view just on a personal opinion, gut feeling,  rather than any hard facts, evidence or research — I think that the tooltip issue is a red herring. The tooltip only appears if someone mouses over an element and unless abbrs are styled to look like links, the chances of that happening could be minimal.

I don’t want to appear crass or insensitive, but with so much on the web (content, interfaces)  for people with cognitive disabilities to deal with, surely the occasional ambiguous tooltip is the least of their worries?

Still, I do respect the people who work at the BBC but I would love to know if their decision because of the tooltip issue was based on personal opinion and gut feelings about usability or if it was based on real user research, testing or feedback? If it was, I’d love to read it.

patrick h. lauke

January 19 2009 @ 09:21pm #

Andy, sure…we can try and find ways around the problem, but it’ll always be a suboptimal bandaid compared with actually solving the problem itself. And it’s infuriating that the problem could be removed or at least mitigated quite easily if the microformats community stepped out of the ABBR-semantics-trench, rather than ignoring the issue, denying the issue, or basically saying that they’re right and all screenreaders/AT should follow *their* reasoning.

Anyway, I’ve said my piece again for this year, and I’ll exit stage left until same time next year.

Isofarro

January 19 2009 @ 09:32pm #

Microformats principle: “design for humans first, machines second”. Nice soundbite. Pity.

@Brian: “can we lobby screen readers to change the way they do X?” - so much for microformats supposed benefit/feature of working with the web that exists today.

It boils down to this: the title attribute is meant for human consumable content, just the same as the inner text of most of the HTML elements.

Everytime you put machine-formatted data into a container that is for human consumption, then you run the risk of it being exposed to a human being. In microformats this a ‘feature’, in accessibility this a ‘bug’.

In specific WCAG2 basis, the abbr datetime pattern causes issues of perceivability and understandability (not withstanding the point that in certain oft-used scenarios, the data is rendered to the site visitor in a way that is factually incorrect).

Unfortunately the stalemate is in the best interests of the Microformats crew, so it is no surprise about the lack of progress on this issue.

To be honest, the easiest approach right now is to say Microformats are inaccessible, and move along.

Robert O'Rourke

January 19 2009 @ 09:36pm #

// uFtoggle plugin v1.0 - toggle microformatted dates
(function($){
    $.fn.uftoggle = function() {
        var state = 0; // titles on
        var els = $(".dtstart,.dtend,.bday");
        els.each(function(){
            $(this).attr("ufdata",$(this).attr("title")); // storage
        });
        $(this).click(function(){
            if ( state == 0 ) {
                els.removeAttr("title");
                state = 1;
            } else {
                els.each(function(){ $(this).attr("title",$(this).attr("ufdata")); });
                state = 0;
            }
        });
    }
})(jQuery);

// Usage
// $("a.uf-toggle").uftoggle();
//
// <a class="uf-toggle" href="#">Using a screen reader? (Toggle microformatted dates on/off)</a>


// uFoff snippet v1.0 - remove microformatted dates
$("a.uf-off").click(function(){
    $(".dtstart,.dtend,.bday").removeAttr("title");
});

// Usage
// $("a.uf-off").ufoff();
//
// <a class="uf-off" href="#">Using a screen reader?</a>

That was fun - the first one could probably be done better but what the heck.


@ Jeremy Keith: “Just to clarify, the BBC didn’t abandon hCalendar because of screen reader concerns, they abandoned it because of the tool tip.” I’m pretty sure it’s possible to suppress the browser’s default title display when you hover on a link or abbr tag using javascript. I’ll post again if I find out.

Good article Andy :)

Andy Clarke

January 19 2009 @ 09:47pm #

@ Patrick Lauke: “…it’ll always be a suboptimal bandaid compared with actually solving the problem itself.” — True, but when so much about web accessibility is a band aid (skip links) and so much technology inaccessible by default, I can’t see why people get hung up and can’t think up workarounds as they have so many times before.

I’ll bake a cake for the next birthday mate.

Andy Clarke

January 19 2009 @ 09:55pm #

@ Isofarro: “To be honest, the easiest approach right now is to say Microformats are inaccessible, and move along.” — And I suppose that same logic could be extended to video players? To audio files? Both are inaccessible if you can’t see or hear them, unless you provide alternatives. Much as I respect you, I think that an unwillingness to think about possible workaround solutions and saying “Microformats are inaccessible” helps no one. I’d like to see pragmatism, not ideology.

Isofarro

January 19 2009 @ 10:22pm #

“And I suppose that same logic could be extended to video players? To audio files?” - no, we have techniques and methods for improving the accessibility of this - take for example Christian Heilmann’s Easy YouTube interface that solves a number of accessibility issues for learning difficulties, and the ScriptingEnabled hackdays.

“I think that an unwillingness to think about possible workaround solutions and saying “Microformats are inaccessible” helps no one.”

There have been multiple efforts from the accessibility group to work with the microformats group. None of these efforts have resulted in forward progress, and this is not because they were being unreasonable. Why continue doing the same thing again and expect there to be a difference? It’s obvious the microformats community have no interest in fixing this problem because they don’t see it as a problem or enough of a problem to do anything about it.

If you want to see pragmatism in tackling this issue, then you have three years of microformats mailing list archives of regular attempts to fix this every one of them running into a stone wall of one sort or another.

Yet no-one criticises the Microformat’s community over their lackluster and basically inept handling of this issue. Three years with no progress - who’s running this, the W3C?

Andy Clarke

January 19 2009 @ 10:30pm #

Isofarro: I don’t want to turn these comments into a two-way conversation, but you just validated my point, right there.

Frankly, I don’t give a stuff who did what, who worked on what and who said what to whom. I don’t care about three years of bashing on about the same old problems. I’m interested in people coming up with ideas, as you mention Christian Heilmann did for video, but for microformats. Instead, I see the same old rants and talking points from both sides and little in the way of creative ideas to find ways that I can use microformats and still care about accessibility. Enough already.

Robert O'Rourke

January 19 2009 @ 10:34pm #

Better still:

// uFsuppress plugin v1.0 - suppress tooltips on uF dates
(function($){
    $.ufsuppress = function() {
        $(".dtstart,.dtend,.bday").hover(function(){
            $(this).attr("ufdata",$(this).attr("title"));
            $(this).removeAttr("title");
        },function(){
            $(this).attr("title",$(this).attr("ufdata"));
            $(this).removeAttr("ufdata");
        });
    }
})(jQuery);

// Usage
$.ufsuppress();

This method removes the title on hover only. Solves the BBCs problem to some extent.

Scott Plumlee

January 20 2009 @ 12:02am #

1.  Is it allowable to preface the ISO datatime data with an indication of what it is, to help with both the screenreader issue and the tooltip issue.  So we’d have title=“Datetime:YYDDMMTHH:MM:SS”.  If it’s destined to be parsed by a machine, it’s trivial for the machine to remove the beginning string.  I also realize it is not trivial for people to change exisiting microformats,, but at least it would be a step forward.  I would think that the tooltip issue is more of a problem in sheer numbers than the a11y issue.

2. Trying to guess how screenreader users use their software is a losing battle, so unless someone surveys screenreader users and gets hard numbers, the question of how many people are affected like by this is really unknown, isn’t it?  The vendors don’t release any data as far as I can tell.  I’d like to see some sort of usage stats collected and published by those vendors that tell us WHAT options people turn on and off in JAWS and other readers.  Let users opt in/out as they want, but give us some hard data saying X out of Y people use their reader with these options: optionA, optionB….....  Or publish some sort of profile database that could be analyzed.

3. 3 years is a ridiculous amount of time for any problem like this to persist.  So any effort at a solution is a good thing, but I am not a fan of creating separate content unless there is no other way for someone to get to the original content.  In this case, it’s more of an annoyance (I would guess, and that’s only a guess) that a real inability to get to the information.  I’ve only got ‘access’ to one person who uses a screenreader, so I’m going to ask and see what he says about this.  I’ll try to post back if he’s able to give me an opinion.

Andy Mabbett

January 20 2009 @ 12:45am #

@Andy C. - Em, hay, double-bee, ee, double-tee. Thank you.

The only reason why this issue has persisted for three years (which is, and you say, ludicrous) is because of denial of the issue by a few key players in the microformat community.

bruce

January 20 2009 @ 12:59am #

You’re right, Andy. Who said what when is immaterial. And yes, there is much too much ideology.

But ideology is the only reason that the span title=“big fat ISO date” isn’t adopted by the microformat people. *Nothing* is lost by doing that, except tooltips and potential problems for screenreader users who have set their software to expand abbreviations.

Andy Mabbett

January 20 2009 @ 01:37am #

@Emily Lewis - Some of us have been proposing solutions for over a year.

@Isofarro - “Yet no-one criticises the Microformat’s community over their lackluster and basically inept handling of this issue. ” - I have done so, vocally. Look where it got me…

Zeddammer

January 20 2009 @ 01:41am #

The suggested abbr workaround for Microformats is extra work, but is not the ultimate solution for the problem. My suggestion: a ‘transitional version’ of Microformats.

To me, Microformats are a useful mechanism to add machine-readable meaning to information on websites. The way it uses attributes is ingenious and has brought the use HTML to a higher level. The use of the abbr tag is an example of overstretching the usefulness.
Despite its ingenuity, I’ve always considered Microformats as a ‘temporary workaround spec’; to be used until something better comes along.

Since October 2008, RDFa is a W3C recommendation. It can do everything that can be done with Microformats, and more. In theory, that is.

[I know I’m risking a ‘de jure’  vs. ‘de facto’ standards dispute here, but I suggest it anyway]
Hasn’t the time come to start a transition to RDFa? And to develop a ‘transitional version’ of Microformats, to ensure the interoperability with other Semantic Web initiatives that will hit the web front-end in the near future? It’s better to join forces than to fight about who’s right and who isn’t.
In practice, especially governments will pick de jure over de facto when choices have to made and will certainly not choose both.

Alex Robinson

January 20 2009 @ 02:39am #

@andyc - Where does the machine readable date format you’re seeing in the title come from?

This seems to be the nub of the problem - the machine in the semantic ghost.

I assume that hCalendar uses the ISO date and only the ISO date because that’s vcalendar does. Fair enough, except that vcalendar is never meant for a human reader.

I agree with Andy Mabbett that something along the lines of an expanded title entry allowing for a human readable and/or a machine readable date would make this all a non-issue.

If mixing human and machine readable values in the title is unacceptable, why not allow dates to be expressed in formats which are acceptable in HTTP (as per RFC 2616 3.3) which are to all intents human readable? Actually, considering that we are talking about something that is going over HTTP, I’d argue that it’s a preferable format in any case.

That aside, nice work Andy - hopefully it will get the ball rolling again. Though even more hopefully rdfA can be rolled into HTML5…

Robert O'Rourke

January 20 2009 @ 03:58am #

Some interesting additions to this topic on the question I posted to stack overflow this morning.

Christoph mentions using the <var> tag to supply an alternative form of the date as per the specs:

VAR:

Indicates an instance of a variable or program argument.

Check the link above for his full suggestion.

James Craig

January 20 2009 @ 04:17am #

Removing the title attribute defeats (some of) the purpose of having Microformats in the page. True, it would still work for µF-aware search engines, but it would no longer work for browser plug-ins like Operator, which allows the user to save events or contact info directly from the web page.

Yes, new HTML 5 attributes may fix the problem, but the point of microformats is to be used now, in a backwards-compatible way, without major bugs as side effects.

Brian Suda wrote: “The perceived issues with the date-time pattern should not be a barrier to adoption. “

They are *real* issues, even if they are not *perceived* by everyone.

Bruce wrote: “But ideology is the only reason that the span title=“big fat ISO date” isn’t adopted by the microformat people. *Nothing* is lost by doing that, except tooltips and potential problems for screenreader users who have set their software to expand abbreviations.”

Only one other thing is lost. (Note, this next statement is not my argument, but comes from a vocal member of the µF communicty.)

“Allowing the abbr-design-pattern on abbr makes it easier for the programmers of µF parsers to write a script that expands titles. If the pattern was allowed on all elements, it would be harder for the script to determine when to use a title expansion.”

Sounds like we’ve got a new tagline for the datetime-design-pattern: Making the Web easier for machines by making it harder for humans, since 2005.

James Craig

January 20 2009 @ 04:18am #

s/Removing the title attribute defeats/Removing the title with JavaScript attribute defeats/

Robert O'Rourke

January 20 2009 @ 05:12am #

@James Craig “Allowing the abbr-design-pattern on abbr makes it easier for the programmers of µF parsers to write a script that expands titles. If the pattern was allowed on all elements, it would be harder for the script to determine when to use a title expansion.”

Sounds like we’ve got a new tagline for the datetime-design-pattern: Making the Web easier for machines by making it harder for humans, since 2005.

That’s not right. uF parsers only need to look for the class names .dtstart, .dtend, .bday.

Jeremy Anderson

January 20 2009 @ 05:32am #

Lets just clarify something. Microformats help people by semantically marking up content. The conventions for datetime pattern already preface the title expansion with class names .dtstart, .dtend, .bday.

Striclty speaking, unless a screen reader understands that a grouping of numbers is in fact a date or time, it will not know how to read this in a sensible way. For instance, 01/19/2009 is no better than the ISO format 2009-01-19.

What Microformats does is provide a standard way for machines, as well as people, understand what this is. If the makers of screenreaders would adopt support for Microformats, the could easily swap the expansion of datetime elements with the user defined format. In the end, this is the only means by which you overcome accessibility issues with both unfriendly number strings and localization. Looking to the Microformats community to fix this alone, is not that feasible. Regardless of expansion of abbr, a user using a screenreader is still subject to the authors localized datetime format.

For those who think it is wrong for developers to push browser makers and screenreader makers to change their way of doing things, where have you been for the last 20 years? That’s how it’s always been. Take Web Standards for instance.

patrick h. lauke

January 20 2009 @ 11:01am #

@Jeremy “If the makers of screenreaders would adopt support for Microformats, the could easily swap the expansion of datetime elements with the user defined format.”

but i thought microformats were meant for the here and now, and not for some hypothetical future where screenreaders behave differently. otherwise what’s the point of trying to stay within the confines of html4 in the first place? to make it work and workable in today’s web, no?

“Looking to the Microformats community to fix this alone, is not that feasible.”

but the microformats community is the only one actually defining the “standard” and blocking any proposed solutions.

“a user using a screenreader is still subject to the authors localized datetime format. “

just as sighted users are. so what are we proposing, that even sighted users should see the full ISO from now on? i know that uebergeeks like to have their blogs to actually display ISO instead of “normal” human readable date-times, but…i can count in binary with my fingers, but that doesn’t mean the general population does.

Ben Ward

January 20 2009 @ 11:50am #

So, completely separate to this blog post there has been active work on this. After a fairly intense bout of work, I’ve put together a test that we need assistance with.

The test is documented in full here, complete with introduction, sample tests, pattern documentation and so on. I’ve gone out of my way to try and ensure this is the only wiki page you need to get up to speed on this mark-up pattern, justifications and parsing rules, and the tests of course. I want it to be as accessible as possible to everyone, rather than needing to cross-reference multiple pages:

http://microformats.org/wiki/value-excerption-value-title-test

Please, take a look and contribute if you can spare a little time.

We had discussions last year about specifying the full parsing rules of value excerption from hCard into a more generic pattern (it’s already supported as such in some µf parsers). As part of that specification process we can do something that offers a solution to the inclusion of required machine formats like ISO dates and duration, and keywords like ‘cell’ and ‘fax’ in the telephone ‘types’ enumeration.

I regard all of that as part of the same problem; where sometimes it’s just not feasible to mark-up just the text content in the page, be it translation into other languages or the variance of writing style and formatting.

Now, because the impact of this pattern is so substantial and offers alternatives to such ‘popular’ issues like this, I’ve put together a testing effort beyond anything we’ve tried before. I’ve had feedback on similar mark-up being tested already by various people in the accessibility community, so I’m confident, but this an attempt to do as big a test in public as possible. I’d like to see results for all sorts of weird and wonderful combinations of browsers, assistive technology and publishing tools.

If you think you can help us out with a little bit of time to run some tests, I for one would be tremendously grateful.

I know it looks pretty bad that it’s taken so long to offer new options, but please don’t dismiss that some of us have poured a lot of effort into the problem at various points.

James Craig

January 20 2009 @ 12:12pm #

Jeremy Anderson wrote: “If the makers of screenreaders would adopt support for Microformats, the could easily swap the expansion of datetime elements with the user defined format.”

This is a fundamentally flawed argument. I agree that it will be great, if and when it happens (probably with HTML 5, but probably not with Microformats) but you’re setting a double standard for adoption: Microformats can break existing use of web standards if and when it pleases the µF group. This is not what web standards are about.

It doesn’t look like you’ve read the original hAccessibility article, so I’ll quote the relevant part from:
http://www.webstandards.org/2007/04/27/haccessibility/

Accessibility, “in the wild.”

The Microformats group is vehemently opposed to hypothetical situations as the basis for a Microformat change. Real-world examples are often requested, or as they commonly phrase it, examples “in the wild.”

We remind the Microformats group that real-world screen reader implementations existed, according to spec and “in the wild,” long before the Microformats design patterns, and we encourage the group to respect those real-world implementations, rather than focusing on hypothetical situations such as:

  “In the future one could imagine a CSS rule and perhaps a CSS property or two that would automatically transform and present such ISO8601 dates from ‘title’ attributes of abbr elements into whatever datetime format the user preferred…”

Jeremy Anderson also wrote: “For those who think it is wrong for developers to push browser makers and screenreader makers to change their way of doing things, where have you been for the last 20 years?”

This isn’t a fair argument. I’m not one of the dinosaurs that’s trying to keep longdesc around. Using the datetime-design-pattern on abbr is contrary to the HTML specification and results in an experience that breaks real and demonstrated usage by real humans.

Browser and screen reader vendors are being pushed by standards bodies on specs like HTML 5 and ARIA. It is a deliberative process that is tedious at times, but it works because all the involved parties agree on standards and resolve serious issues (like this one) with open discussion when raised within the group.

This type of problem cannot be resolved within the Microformats group because there is no official group process. Even when real issues like this one are raised, certain individuals within the core group respond with stubborn hostility instead of a willingness to acknowledge and address the problem with an alternative solution.

Jeremy Anderson

January 20 2009 @ 01:22pm #

@patrick h. lauke “but i thought microformats were meant for the here and now, and not for some hypothetical future”

They are indeed. My point is not that the current datetime pattern does not present issues in the here and now. It does, hence Andy’s proposed workaround.

My point is, the accessibility concerns around dates are not uniquely tied to Microformats and with this proposed workaround and the addition of the javascript workaround @Robert O’Rourke proposed, the Microformat datetime pattern wouldn’t present any access concerns outside of those presented by dates and times themselves. Moreover, the semantics of Microformats provides an opportunity for browser makers and screenreader makers to better serve their users, by adopting Microformats.

I would also like to mention that my reference to localized time formats was geared towards screenreaders, not normal browsers. User having a date read to them by a screenreader, as apposed to reading it themselves, would benefit more from being able to set a localization preference. Or at least that would be my assumption. Adopting Microformat support would allow for this.

Lastly, I would like to point out that there is a new proposal on the table, to address this concern. I encourage anyone who is seriously interested to check it out. While it doesn’t sit with me as well, on a strictly semantic front, it does seem to solve the concerns we all have.

http://microformats.org/wiki/value-excerption-value-title-test

patrick h. lauke

January 20 2009 @ 07:14pm #

@Jeremy Anderson “User having a date read to them by a screenreader, as apposed to reading it themselves, would benefit more from being able to set a localization preference.”

webpages with dates and screenreaders have been around a long time, and screenreader users have had to listen and understand dates/times before the advent of microformats (and indeed will still have to, until everybody uses them). i can understand the well-meaning sentiment (microformats with localisation in user agent could make it even easier for these users), but the “reality on the ground” is that it’s in fact making it worse at the moment for a certain section of that user group.

Commenting is not available in this channel entry.
Hardboiled Web Design

Hardboiled Web Design by Andy Clarke

How the latest technologies and techniques will make your websites more creative, flexible and adaptable. Get hardboiled in all formats from Five Simple Steps. Digital formats also available at Amazon.com, Amazon.co.uk and the iBooks store.

We’ve deconstructed this site to focus on content while we restyle. Expect wonkiness during the transition.