faq: Difference between revisions
(→Q. ''How will microformat class names impact page size?'': - added links) |
AndyMabbett (talk | contribs) (→Class semantics: another answer) |
||
Line 173: | Line 173: | ||
===Q. ''How will microformat class names impact page size?''=== | ===Q. ''How will microformat class names impact page size?''=== | ||
A1. You probably won't notice any impact on page size when authoring with microformats. Our experience is that people use comparably sized class names, and [[semantic-class-names|semantic class names]] are now considered an industry best practice. Some sites are successfully publishing millions of microformats, and we haven't heard any complaints yet. You are more likely to gain space savings by more fully adopting [[microformats#the_microformats_principles|the principles of microformats]], and eliminating tables for layout. | |||
<span class="todo">''TODO: Consider creating a new section for web authoring tips? Or at least linking to another site that advocates good authorship.''</span> | <span class="todo">''TODO: Consider creating a new section for web authoring tips? Or at least linking to another site that advocates good authorship.''</span> | ||
A2. Possibly quite considerably, especially if your original data doesn't make use of, or only has few, class names. | |||
===Q. ''Can an element have more than one class''=== | ===Q. ''Can an element have more than one class''=== |
Revision as of 22:49, 18 October 2006
Microformats FAQ
This page document frequently asked questions about microformats. For frequently asked questions from the press, see press-faq.
Wiki specific questions
Q: How do I create a username? Why won't it let me use my preferred username?
A: First, read this: http://en.wikipedia.org/wiki/Wikipedia:Username . Second, real names are preferred to pseudonyms/handles etc. Real names encourage better transparency and accountability. Third, the most common problem creating a user name is forgetting to caplitalize the first letter of the user name. Try using a WikiCase version of your full name as username, e.g. RyanKing.
Email list
Q: I've joined the discussion mailing list but am not seeing my replies anywhere. Why?
A: There is no moderation on microformats-discuss, but it only accepts posts from subscribers. You MUST post to microformats-discuss using the email address you used to subscribe.
Basic Microformat Questions
Q: When should I use a microformat? What are they for?"
A: You are writing some HTML that contains useful human-readable information (such as a piece of contact information). You say to yourself: I would like to mark this up with some classes now for styling. You look up the relevant microformat, and you pull in the standard names. You don't have to make your own up, and now your page is machine-readable too. Bonus!
Microformats are designed to make the data you already publish for humans available to machines. It allows applications as simple as cut-and-paste or as complex as a seach engine to use your data effectively.
Q: Are microformats dependent upon (X)HTML?
A: Microformats are made to be embeddable. They can be embedded in (X)HTML, RSS, Atom or anywhere (X)HTML is allowed.
Q: Microformats sound great. How can I help?
A: Take a look at http://microformats.org/discuss to see some ways to join the conversations about microformats, and the to-do list for things to help out with.
Q: I'd like to make a donation to the microformat cause. How can I do this?
A: Thank you for your willingness to support microformats. We've only recently started this site and have decided that while we are figuring out exactly how to accept donations, we will be passing along donations to other good causes. Please consider donating to another cause like Red Cross, perhaps directed to help victims of recent natural disasters.
Q: Which microformats have been implemented?
A: See the implementations page.
Q: Which microformats should I implement?
A: Chances are you that your website already has data very similar to several microformats. For example, you probably have people and/or their contact information somewhere. That information could be marked up with hCard, see the hCard authoring page for step by step instructions. If you are publishing press releases, try using hAtom.
Q: Do you have any link badges I can add to my website/blog?
A: There are some buttons but we can certainly use more! Please contribute what you come up with!
Q. Are there any tools that support microformats?
A. Yes...tons... implementations.
Q. Is there a way to indicate that a given web page contains markup that conforms to one or more microformats?
A. The HTML HEAD element's 'profile
' attribute alerts applications to the potential presence of microformats. The W3C HTML Specification describes more about the profile attribute, and the XMDP description documents how it is used.
Q. What about using new URI schemes instead of class names, e.g. for geo information?
A. In general, it is more work, and less content-publisher friendly, to ask publishers to use URI schemes instead of class names.
Authors aren't publishing links to geo information.
They're publishing *visible text* of geo information.
So the easiest thing to do, for the author, is to leave it as visible text.
Thus, it makes the most sense to do the simple thing of just wrapping that visible text with a little bit of markup, rather than asking the author to move (or copy) it into an attribute, which may or may not require a reformatting of the data as well.
It would make sense from a usability persepective to hyperlink geo information to a maps page or something, so that clicking it actually does something. If you forced them to use a hypothetical "geo:" protocol instead, then that would interfere, since you can only hyperlink something to one destination.
Q: Who controls microformats?
A: An open community. Microformats are open standards licensed under Creative Commons Attribution. Much of the work here was begun on [Technorati's Developer Wiki], but Technorati has since divested control of these microformat standards to the open community here. The microformats.org domain is registered to Rohit Khare, CommerceNet is graciously hosting the servers, but claims no control over microformat standards. Anyone may follow the established process and contribute towards the development of microformat standards.
Q: Who is the registrar for microformats?
A: There is no central registry. Microformats are registered in a distributed manner using profiles. For more information on profiles see http://microformats.org/wiki/profile-uris and http://gmpg.org/xmdp/
Conflicts and interoperability are managed through social processes rather than a formal registry. Current microformat profiles can be found at http://gmpg.org, http://w3.org, and http://microformats.org.
Q: So multiple microformats with the same name can be valid?
A: Yes. The community at microformats.org can hopefully play a role in determining which is preferred by bringing interested folks together in one place and helping them resolve that question. As long as each microformat maintains a valid profile, each can be used effectively.
Q: How do I validate my microformated content?
A: Currently there is not an automatic general-purpose validator for microformats (See to-do). There are however some microformat specific tools listed on the implementations page.
Creating and Suggesting New Microformats
Q. I would like to author a new microformats open standards specification for my site/business. How do I get started?
A. The first thing to do before attempting a new microformat open standard is to make as much use of existing microformats open standards as possible in whatever site you are looking to markup with your new microformat, as a way of learning what is left to be done. That is, at a minimum first:
- Markup all people and organizations as hCards.
- Markup all events and time based things as hCalendar events.
- Markup all reviews as hReviews.
- etc.
Then join the microformats discuss list, and ask folks what they think of your use of the microformats and if it can be improved.
From that experience you will then be able to figure out what is left to be specified. Otherwise it is too hard to approach the "whole problem".
Once you have completed that, take a look at the microformats process for how to walk through the steps of creating a new microformat, and note the specific problem you are trying to solve to the microformats-discuss list. This will help you find more people to help you solve the problems you are trying to solve.
Q How do I know if an idea for a Microformat has already been suggested in the past?
A. Check the list of proposed and rejected microformats.
Specific Microformat Questions
If you have a question regarding a specific microformat, you may want to check the FAQ specific to that microformat.
- hatom-faq
- hcalendar-faq
- hcard-faq
- hreview-faq
- rel-faq
- rel-tag-faq
- xfn-faq
- xfolk-faq
- xmdp-faq
- xoxo-faq
Class interactions
Q. Are there issues with page styling when specific class values are used?
A. There might be. However, any such issues can be easily (trivially) worked around by using contextual selectors.
Q. How does the use of class values for semantics interact with the use of class values for attaching CSS styles?
A. The class attribute takes a space separated set of class names HTML4 reference. Thus both author and microformat defined class names may be used in the same class attribute. In addition, microformat class names provide the author with a consistent set of class names to use for styling. If the author is already using using specific class names, they can continue to do so, and include microformat class names. If the author is already using a class name that happens to also be a microformat class name, then the author may want to consider using contextual CSS class selectors to make sure that avoid any unintentional styling effects.
See also:
- A Touch Of Class
- Class For Meaning Not For Show
- Competant Classing, by Eric Meyer for discussion of choosing class names in (X)HTML
- Class attributes are about more than styling - Ryan King dispells common misconceptions about the HTML class attribute.
<div>
and <span>
semantics
Q. Is it semantically meaningless to use divs?
A. Yes, both <div>
and <span>
have nearly no semantics. <div>
can be used to represent a "division" of the page content. Similarly <span>
can be used to reperesent that that "span" of text has some meaning, but the specifics of what that meaning is undefined by the <span>
.
Q. Does the use of <div>
and <span>
elements add any semantics to web pages?
A. According to the spec, <div>
and <span>
"offer a generic mechanism for adding structure to documents." Their only meaning is in dividing documents into sections, and as such, their presence implies that the content within has a specific, but undefined by the element markup, semantic. Thus they are nearly semantic-free.
Q. Why do the examples on the wiki use <span>
and <div>
for nearly everything?
A. <span>
and <div>
are generic elements in HTML. When you use microformats, you should pick the most specific semantic element available for the semantics you are trying to express.
Class semantics
Q. How will microformat class names impact page size?
A1. You probably won't notice any impact on page size when authoring with microformats. Our experience is that people use comparably sized class names, and semantic class names are now considered an industry best practice. Some sites are successfully publishing millions of microformats, and we haven't heard any complaints yet. You are more likely to gain space savings by more fully adopting the principles of microformats, and eliminating tables for layout. TODO: Consider creating a new section for web authoring tips? Or at least linking to another site that advocates good authorship.
A2. Possibly quite considerably, especially if your original data doesn't make use of, or only has few, class names.
Q. Can an element have more than one class
A. Yes, the class attribute can contain a space delimited list of classes. For example:
<p class="todo idea">Write high quality and simple software.</p>
Add link to w3c.
Q. Do (X)HTML class names have semantics?
A. The HTML4 specification does not define any particular class values REF, nor does it define any particular semantic for class values REF, except that they "may be used for general user agent processing" REF. However, the " draft of "Hypertext Links in HTML", allows for a "profile" to define meanings for those classes. XMDP is a format for defining meta data profiles for (X)HTML, and thus an XMDP profile can be used to define the meanings of class names.
See also:
Q. I thought one of the main goals of CSS was to separate data from presentation. Isn’t this sneaking presentation back into data?
A. This is a quite commonly expressed objection to the way microformats uses class, but it's based on a misunderstanding of the way the class attribute in HTML was designed. Yes, class is very commonly,and appropriately used by web designers in conjunction with CSS to style pages, and in truth, it is often overused for that, but despite this, class, according to the HTML specification "has several roles in HTML", including "for general purpose processing by user agents".
Microformats utilize this second aspect of the class (and id) attribute, and do so legitimately. It is not an abuse of the class or id attribute to use it to add semantic context to a document. Nor is the use of class in and of itself presentational - in fact, it is an important mechanism for separating presentation from structured content.
For some more on using class semantically, here are some articles
- Competent Classing by Eric Meyer
- Use class with semantics in mind, W3C
- More about the class attribute, Tantek Çelik
Microformats and Spam
A. It is advisable not to hide information in your site, regardless of whether it is microformated or not. Microformats provide a mechanism for marking up visible content. Any mechanism for embedding invisible or hidden content risks being considered spam due to the fact that invisible (meta)data inevitably ends up being abused. Avoid invisible (meta)data. Publish visible data.
Design Patterns with Abbr & Title
Q. Why is ABBR being used when the title attribute is available on all HTML elements?
In the datetime design pattern the title attribute is used for the value of the property and the node value is used as the display value. <abbr title="value-here">Display-Here</abbr>.
A. The short answer is that <abbr> has the correct semantics.
The longer answer is that the value is often an abbreviated version of the formal value. Of course, if you don't want to use an <abbr>, you can use another element like this:
<abbr title="2006-12-31T12:59:59Z" class="dtstamp">New Year</abbr>
<span class="dtstamp">2006-12-31T12:59:59Z</span>
In addition, microformats encourage the content to be visible and thus prefer the text of an element rather than using the 'title' attribute or any other less visible alternative. The exception is made for datetimes and abbr due to the fact that microformats are for humans first, machines second. Thus the content of the abbr element is used to provide human visible content and the machine equivalent is placed in the less visible (but still easily verifiable) 'title' attribute.
Nesting of elements
Q. It seems that <span class="vcard fn org" id="club">...</span> should work. Why is this incorrect?
A. See [1]