Das bisher wohl größte Problem bei der Verwendung von Microformats ist (oder besser wahr) die Accessibility durch die etwas zweckentfremdete Verwendung des <abbr />-Tags.

Das so genanntes abbr-design-pattern diente hauptsächlich dazu (es gibt noch einige andere Anwendungsfälle), ein für den Menschen lesbares Datum auch für die Maschine lesbar zu machen und ist Bestandteil von Mikroformaten wie z.B. hCalendar, hAtom oder hReview.

Ein Beispiel: <abbr class="dtstart" title="2009-05-12">heute</abbr>

SelfHTML über das abbr-Element:

zeichnet einen Text aus mit der Bedeutung „dies ist eine Abkürzung“

Selbst wenn man davon ausgeht, dass das Wort heute eine Abkürzung für das volle Datum 2009-05-12 ist, gibt es ein großes Problem mit Screen-Readern. Die meisten Screen-Reader sind so konfiguriert, dass sie statt der Abkürzung, das im title-Attribut angegebene, vollständige Wort lesen.
Im Falle der abbr-design-pattern im oben genannten Beispiel wäre das 2009-05-12 (gelesen „Zweitausendneun minus Fünf minus Zwölf“), also viel missverständlicher als heute.

Das gerade angekündigte value-class-pattern soll dieses (und einige andere) Problem jetzt beheben.

Ein Datum, wie im Beispiel oben, würde mit dem value-class-pattern folgendermaßen aussehen:

<span class='dtstart'>
  <span class='value-title' title='2009-05-12'> </span>
  heute
</span>

Erklärung:

  • dtstart gibt immer noch an, dass es sich bei dem folgenden um ein Datum handelt
  • Die folgende Klasse: value-title gibt an, dass sich dtstart auf das title-Attribut des spans bezieht
  • Im title steht der maschinen-lesbare text

Das neue Pattern beschreibt aber noch eine ganze Reihe an anderen Anwendungsfällen, am besten ihr überfliegt die Seite einfach mal selbst: http://microformats.org/wiki/value-class-pattern

…es sind übrigens alle Microformats-Nutzer aufgerufen, ihre Seiten und Parser auf das neue Pattern umzustellen, also viel Spaß dabei 🙂

Naja, nicht wirklich aber immerhin hat es RDFa bis dato nicht in die HTML5 Spezifikation geschafft. Es gibt zwar einen Milestone

The HTML WG is encouraged to provide a mechanism to permit independently developed vocabularies such as Internationalization Tag Set (ITS), Ruby, and RDFa to be mixed into HTML documents.

…aber wer weiß wie lange das noch dauert. Das heißt wohl, dass die Microformats noch eine gewisse Zeit lang als Übergangslösung her halten müssen. Aber das ist ne andere Geschichte…

Eigentlich wollte ich auf zwei HTML5 – Elemente eingehen, die eine schicke Alternative zu den bisherigen (in vielen Microformats verwendeten) abbr-design-pattern bietet.

Der <time />-Tag

Das time Element ermöglicht das kennzeichnen eines Datums in z.B. Blogposts o.Ä.

The primary use cases for these elements are for marking up publication dates e.g. in blog entries, and for marking event dates in hCalendar markup.

Also:

<time datetime="2006-09-23">a Saturday</time>

statt:

<abbr title="2006-09-23">a Saturday</abbr>

Ein hCalendar könnte dann so aussehen:

<div class="vevent">
  <span class="summary">event title</span>
  <time datetime="2006-09-23" class="dtstart dtend">a Saturday</time>
</div>

Custom data attributes (data-)

Ein custom data attribute ist ein frei benutzbares Attribut um Elemente mit Metadaten anzureichern. Die einzige Vorgabe ist, dass es mit data- beginnen muss. Ein Beispiel:

<div class="monkey" data-arms="2"
     data-legs="2" data-race="chimp">
  Cheetah
</div>

Ideal auch als <abbr />-Ersatz bei z.B. dem Geo-Microformat.

Also:

<div class="geo" data-latitude="49.5483" data-longitude="8.6661">Weinheim</div>

statt:

<abbr class="geo" title="49.5483;8.6661">Weinheim</abbr>

Fazit

(X)HTML (egal ob XHTML2 mit RDFa oder X/HTML5) wird also definitiv ein semantisches Feuerwerk, ganz im Sinne von Tim Berners Lee…

Ich freu mich 🙂

Was ist eigentlich Fire Eagle?

Fire Eagle is a site that stores information about your location. With your permission, other services and devices can either update that information or access it. By helping applications respond to your location, Fire Eagle is designed to make the world around you more interesting!

Man kann Fire Eagle natürlich auch über ein Webfrontend oder per Dopplr/Places aktualisieren… aber das kann ja jeder 🙂

Der twitter-firebot

Um den Fire-Bot testen zu können muss man ihm zuerst folgen und ihn um eine Einladung bitten (falls man noch keinen Invite hat).

  • d firebot invite

Nach der Einladung erfolgt die Authentifizierung des Bots.

  • d firebot auth

Der Bot antwortet (mir hat er leider noch nicht geantwortet) mit einem Authentifizierungs-Link über welchen der Firebot für Fireeagle freischaltet wird.

Danach kann man seine Location bequem über Twitter ändern:

  • d firebot u Weinheim, Germany
  • d firebot u Ettlingen
  • d firebot u 69469
  • etc

(via)

Der IRC-firebot

Die Jungs von #geo haben sich einen ganz ähnlichen Fireeagle-Bot für ihren Channel gebaut.

Nachdem man den Bot auf sich aufmerksam gemacht hat…

[19:02] pfefferle: fireup, help?
[19:02] fireeagle: pfefferle: I have just sent you a URL in privmsg, please click on it to authorize.

…bekommt man eine Private-Message mit einer Authentifizierungs-URL…

fireeagle: Try Again! You must authorize first: https://fireeagle.yahoo.net/oauth/authorize?oauth_token=XXXXX

…(gleiches Prinzip wie bei Twitter) und man kann seinen Status auch über IRC ändern.

[19:23] pfefferle: fireup Weinheim, Germany
[19:23] fireeagle: Updating pfefferle to Weinheim, Deutschland

Zur Kontrolle nochmal im Fire Eagle nachschaun:

Fire Eagle last spotted you about 1 hour ago in Weinheim, Deutschland using Fire Eagle GeoIRC bot. If you’ve gone somewhere else, then you should update your location!

(via)

Seit letzter Woche ist es möglich, das Location-Feld (rechts oben im Profil) über die Twitter-API zu ändern.

Updates the location attribute of the authenticating user, as displayed on the side of their profile and returned in various API methods. Works as either a POST or a GET.

Mal schaun wann es den ersten Twitter-Dienst gibt, der die Location über das L: – nanoformat anpasst, oder wann es eine schöne fireeagle-Anbindung gibt.

(via)

geo:truc ist ein neuer Geo-Service, basierend auf der Google-Maps API. Ähnlich wie bei anderen Diensten ist es auch hier möglich den Längen- und Breitengrad (Longitude, Latitude) anhand einer Adresse oder durch das markieren des Punktes auf der Karte mit der Maus zu ermitteln.

Zusätzlich bietet geo:truc die ermittelten Geodaten in den Verschiedensten Formaten über die Webseite und auch als Webservice an: Links (Hinzufügen zu verschiedenen Social Bookmarking Tools), Triple tags, Geo (microformat), GeoJSON, GeoRSS (GML), GeoRSS (simple), HTML <meta>, KML und W3C Geo.

Mehr dazu im Weblog des Entwicklers…

via microformatique