From Microformats Wiki
abbr-design-pattern /
Revision as of 10:41, 11 October 2005 by DavidJanes (talk | contribs) (Added examples, rules for use, added discussion information)
Jump to navigation Jump to search

Abbr design pattern


How to use it

  • enclose the human-friendly text that you want to make machine readable with <abbr>
  • as per the class-design-pattern, add the appropriate class attribute to the abbr element
  • add a title attribute to the abbr element with the machine readable data as the value


The Datetime Design Pattern formally encodes (the notoriously unparsable) datetimes into an abbr element.


The party is at 10 o'clock on the 10th.


The party is at 
<abbr class="dtstart" title="20051010T10:10:10-0100">10 o'clock on the 10th</abbr>.


This discussion is culled from here. Consider two possible uses for the abbr design pattern:

  1. using ABBR to encode machine readable data around human readable data
    <abbr class="dtstart" title="20051010T10:10:10-0100">10 o'clock on the 10th</abbr>
  2. using ABBR to encode more formal human data around something less formal
    <abbr class="author" title="Danny Ayers">Danny</abbr> 

Use #1 is encouraged if there's a reasonable need for it. Use #2 is discouraged under the Don't Repeat Yourself principle (we need a link here), as: "#2 is a case of *more* information being invisibly present, namely, the last name in this case. If someone is not willing to make some information visible, then we shouldn't be encouraging them to store that information invisibly, for all the same reasons that invisible metadata is bad/futile in the first place."

I'd like to delete this below, as the points are covered above

  • Theoretically, this could be done with almost any HTML element. But is it a good idea? If it's not, is abbr the only one? User:DavidJanes
  • abbr-design-pattern should be avoided, if possible. RobertBachmann
    • why, or under what circumstances? For example, it is quite useful with datetimes. Should there not be other potentially analogous situations? User:DavidJanes

See Also