2013-03-05 4 views
5

Ich verwende RDFa, um verknüpfte Daten zu meiner Webseite hinzuzufügen. Ich verwende auch gelegentlich das Attribut rel in verschiedenen Tags für nicht-semantische Zwecke, z. B. zum Auslösen eines Javascript-Tooltips. Ich frage mich, ob ich etwas tun kann, um die Verwendung zu unterscheiden.Umgang mit nicht-semantischen Verwendungen von "rel" in RDFa

Zum Beispiel, ich habe RDFa um meine soziales Netzwerk Ikonen wie so:

<a rel="foaf:account" alt="twitter" href="https://twitter.com/cboettig"><i class="icon-twitter" rel="tooltip" title="follow me on twitter (reading, discussing)"></i></a> 

<a rel="foaf:account" alt="github" href="https://github.com/cboettig"><i class="icon-github" rel="tooltip" title="follow me on Github (code, research)"></i></a> 

Wo rel im Anker-Tag semantisch verwendet wird, aber rel das Symbol Tags wird von twitter-Bootstrap Javascript verwendet, um einen Tooltip hinzufügen . Magisch, in diesem Beispiel ignorieren Werkzeuge wie http://any23.org Intelligenty das rel in dem Symbol. Wenn jedoch eine rel="tooltip" in einem span-Element zu begegnen (verwendet, um einen Tooltip mit einer Schaltfläche hinzugefügt werden):

<span rel="tooltip" title="switch to dark theme"> 
    <a onclick="switch_style('dark');" class="btn btn-mini"></a> 
</span> 

Dies schafft eine meist sinnlos ntriple wie:

<http://any23.org/tmp/> <http://any23.org/tmp/tooltip> <http://any23.org/tmp/> . 

Natürlich ist es kein großer Problem, aber ich bin mir nicht sicher, warum dies mit den Span-Elementen passiert und nicht die anderen Beispiele, oder wie man es vermeidet.

+0

Verwandte Frage für eine * gültig * (daher keine Duplikate) Verwendung des Attributs 'rel': [Rich Snippets: rel = "nofollow" und RDFa] (http://stackoverflow.com/q/25488662/1591669) – unor

Antwort

2

Es ist immer eine gute Idee, nicht-semantische Verwendungen von Attributen zu vermeiden, insbesondere rel. Eine Möglichkeit, dies zu vermeiden, ist die Verwendung einer Klasse (möglicherweise class="tooltip") anstelle einer rel.

+0

Okay, guter Punkt, das ist eine einfache Lösung für mein Problem. Ich bin immer noch ein bisschen verwirrt, wie ich das obige Verhalten erklären kann, wobei 'rel' manchmal nur als semantisch von Apache's http://any23.org erkannt wird. – cboettig

+0

Aus Gründen, die ich nicht verstehe, zerstört die Verwendung der Klasse statt rel die Anzeige der Symbole (ob die Klasse zu einem Bereich um sie herum hinzugefügt wird oder direkt zu dem Symbol). – cboettig

+0

Es macht nichts, meine Probleme wurden verursacht, weil die "Tooltip" -Klasse an anderer Stelle in Twitter-Bootstrap definiert ist, ich brauche einfach einen eindeutigen Klassennamen. – cboettig