hcard-issues
hCard issues
These are externally raised issues about hCard with broadly varying degrees of merit. Thus some issues are REJECTED for a number of obvious reasons (but still documented here in case they are re-raised), and others contain longer discussions. Some issues may be ACCEPTED and perhaps cause changes or improved explanations in the spec. Submitted issues may (and probably will) be edited and rewritten for better terseness, clarity, calmness, rationality, and as neutral a point of view as possible. Write your issues well. — Tantek
See related hcalendar-issues.
Issues
- 2006-11-16 raised by AndyMabbett
- The "type" for "tel" lacks a "textphone" option (for the devices used by, e.g., people who are deaf or have speech difficulties. Example: Birmingham City Council (303 1119).
- 2006-10-21 raised by AndyMabbett
- there should be some way to say that the URL of an hCard or hCalendar event is the URL of the page itself, without having to include a redundant, and accessibility-damaging link to that page, on the page itself.
- 2005-06-21 raised by Hixie
- Issue H-1: This specification is lacking a user agent conformance section. There's basically nothing that says how hCards must be parsed, how to handle errors, and so forth. Is it defined in terms of the DOM? Is it defined in terms of a serialisation? How do you handle unexpected content or missing content?
- A: ACCEPTED RESOLVED. See hcard-parsing for how hCards must be parsed. For errors/unexpected content/missing content, please provide specific examples.
- Issue H-1: This specification is lacking a user agent conformance section. There's basically nothing that says how hCards must be parsed, how to handle errors, and so forth. Is it defined in terms of the DOM? Is it defined in terms of a serialisation? How do you handle unexpected content or missing content?
- 2005-06-30 raised by Jack L. Wolfgang II. Please feel free to move these to the FAQs if they are better suited there.
- Handling middle names and suffixes: How does one handle middle initials/names in the hCard format and suffixes that are not honorific suffixes (e.g. Jr., Sr., II, III, etc. as opposed to Ph.D., Esq., M.D., etc.)?
- A: ACCEPTED FAQ. By Brian Suda (2005-11-08 updated by Tantek) hCard is based of the RFC2426 spec. I you want to use a middle initial it can be expanded using the abbr element.
<abbr title="Middle Name" class="additional-name">M</abbr>
. Honorific Suffixes in the RFC include Jr. Esq. and other inherited suffixes, so i would just use<span class="honorific-suffix">Jr.</span>
etc.
- A: ACCEPTED FAQ. By Brian Suda (2005-11-08 updated by Tantek) hCard is based of the RFC2426 spec. I you want to use a middle initial it can be expanded using the abbr element.
- Handling different types of addresses: How does one handle the TYPE (e.g. postal, work, etc.) specification for addresses as specified in RFC 2426 Section 3.2.1?
- A: ACCEPTED FAQ. By Brian Suda (2005-11-08 updated by Tantek) If you want to add a type to certain elements, including address and telephone it may be done in the following manner:
- Handling middle names and suffixes: How does one handle middle initials/names in the hCard format and suffixes that are not honorific suffixes (e.g. Jr., Sr., II, III, etc. as opposed to Ph.D., Esq., M.D., etc.)?
<span class="adr"> <span class="type">work</span>: ... </span>
<span class="tel"> <span class="type">work</span>: <span class="value">123.456.7890</span> </span>
the TYPE needs to be a sub-element of the property (adr, tel, etc) NOTE: EMAIL does NOT have many TYPE attributes, only INTERNET and X400
- 2005-07-22 raised by DanConnolly
- ...in my cellphone/sidekick address book, I have a number of entries for companies. I wrote asHCard.xsl to convert the data from RDF to hCard, but I don't know what to do with entries for companies, since FN is mandatory in hCard.
- A: ACCEPTED FAQ. This should be an FAQ. "How do I write an hCard for a company?" The vCard specification is silent on this point (entries for companies). Thus there are two options as far as the hCard standard is concerned:
- Set "fn" and "org" to the same value. E.g.
<span class="fn org">W3C</span>
(recommended) - Set "org" as usual, and set "fn" explicitly to empty. E.g.
<span class="fn"></span><span class="org">W3C</span>
or- Simply have no "fn", and on the parsing side, if there is no "fn" present, but there is an "org" property, then duplicate the "org" value as "fn"
- Set "fn" and "org" to the same value. E.g.
- The last two options are effectively the same and are both not explicit and easily confusable with a "missing data" condition. Thus option 1 is preferred. For converting applications (hCard to vCard), they may consider using proprietary extensions to make the distinction explicit in generated vCards, based on either case 1 or 2 above. E.g. Apple's Address Book application supports the property:
X-ABShowAs:COMPANY
- We are looking for descriptions of how other vCard supporting applications treat "company" vCards differently from "person" vCards. Please provide descriptions here:
- Address Book / MacOSX.3:
- Export (e.g. drag & drop to desktop, view in text editor)
- Sets "FN" and "ORG" to the name of the company
- Sets proprietary
X-ABShowAs:COMPANY
- Import (e.g. edit in text editor, drag & drop from desktop)
- By setting "FN" and "ORG' to the same name (e.g. Banana Computers Inc.)
- And removing any proprietary properties (e.g. X-ABShowAs)
- Address Book user interface showed new vCard as a "company" contact rather an a person
- Export (e.g. drag & drop to desktop, view in text editor)
- Address Book MacOSX.4:
- same results as above -RyanKing
- The Danger Hiptop (aka T-Mobile Sidekick) addressbook:
- Export (e.g. email to a mailing list)
- Sets "FN" to the empty string and puts the company name in "ORG".
- Import - could not find a way to import a .vcf, by email, IM, or other means into the Sidekick.
- Export (e.g. email to a mailing list)
- Contacts / Outlook 2003 Windows
- Export (e.g. Highlight contact, File, Save As, vcard)
- Sets "N" and "ORG to the name of the company
- Sets "FN" to value in "File as:"
- Export (e.g. Highlight contact, File, Save As, vcard)
- Add another vCard app here.
- Address Book / MacOSX.3:
- A: ACCEPTED FAQ. This should be an FAQ. "How do I write an hCard for a company?" The vCard specification is silent on this point (entries for companies). Thus there are two options as far as the hCard standard is concerned:
- ...in my cellphone/sidekick address book, I have a number of entries for companies. I wrote asHCard.xsl to convert the data from RDF to hCard, but I don't know what to do with entries for companies, since FN is mandatory in hCard.
- 2005-07-23 raised by DanConnolly
- Are class names case sensitive or not? hcard says "If names in the source schema are case-insensitive, then use an all lowercase equivalent."
- A: ACCEPTED FAQ. Class names are case sensitive per the HTML4 specification. Hence hCard explicitly specifies the case of class name to use for source schema names that are case-insensitive.
- ...but I find example data with class="Given-Name"
- A: ACCEPTED RESOLVED. That is from an older preliminary version of the hCard spec which used mixed case class names. Such class names are no longer valid hCard. Please note which examples (URLs) are using the older class names and hopefully we can get them fixed.
- A: By Brian Suda I have fixed all the references in the hcard-brainstorming page to reflect the lower-case style, this is a hold-over from the original design, X2V has been updated.
- A: ACCEPTED RESOLVED. That is from an older preliminary version of the hCard spec which used mixed case class names. Such class names are no longer valid hCard. Please note which examples (URLs) are using the older class names and hopefully we can get them fixed.
- ..and code that supports it [data with class="Given-Name"].
- A: ACCEPTED RESOLVED. Any code supporting the older class name(s) is for backward compatibility only, and should be phased out. Any new hCard code SHOULD NOT support such mixed case class names.
- rfc2629xslt.html uses Street-Address, Family-Name, etc.
- A: By Julian Reschke Fixed rfc2629.xslt (2005-10-29)
- X2V Version 0.5.1 2005-07-08 supports Family-Name etc.
- A: By Brian Suda I agree that the upper-case class names can be removed from the code, this was a hold-over and will be trimmed.
- rfc2629xslt.html uses Street-Address, Family-Name, etc.
- A: ACCEPTED RESOLVED. Any code supporting the older class name(s) is for backward compatibility only, and should be phased out. Any new hCard code SHOULD NOT support such mixed case class names.
- The ul/ol stuff for multiple values of a property seems to be in the X2V code and in hcard-brainstorming but not in the hcard spec.
- A. ACCEPTED RESOLVED. This needs to be added to the spec. 2005-11-08 Update: the way multiple values has been updated to work much better and not require ul/ol.
- the hcard-profile says country-name but X2V and lots of the data I've seen says country
- A. ACCEPTED RESOLVED. RFC 2426 clearly says "country name" in both the prose and the grammar, thus "country-name" is the correct class name to use. If X2V uses just "country", it needs to be fixed to use "country-name", and any such examples as well. Please note which examples (URLs) are using the class name "country" and hopefully we can get them fixed.
- A: By Brian Suda I have fixed all the references in the hcard-brainstorming page to reflect the proper country-name, X2V will support this in the next iteration when i fix several bugs at once.
- A. ACCEPTED RESOLVED. RFC 2426 clearly says "country name" in both the prose and the grammar, thus "country-name" is the correct class name to use. If X2V uses just "country", it needs to be fixed to use "country-name", and any such examples as well. Please note which examples (URLs) are using the class name "country" and hopefully we can get them fixed.
- Are class names case sensitive or not? hcard says "If names in the source schema are case-insensitive, then use an all lowercase equivalent."
- 2005-08-12 raised by Jack L. Wolfgang II. Use of mailto transport functionality for the E-Mail address field.
- As stated in the hcard-brainstorming document, mailto is abused by spammers. As a result, many organizations have moved to form-based contacts as opposed to mailto's. According to RFC 2426, Section 3.3.2, "A non-standard value can also be specified." Does this refer to a non-standard e-mail address value or type value?
- A: ACCEPTED FAQ. Type value.
- As stated in the hcard-brainstorming document, mailto is abused by spammers. As a result, many organizations have moved to form-based contacts as opposed to mailto's. According to RFC 2426, Section 3.3.2, "A non-standard value can also be specified." Does this refer to a non-standard e-mail address value or type value?
- 2005-10-30 raised by Julian Reschke.
- Several implementations (Which ones? Please provide links.) seem to assume that any class attribute that contains the substring "vcard" indeed signals the presence of vcard information. Not so: there are examples (What examples? Please provide links.) of where a token in the class attribute indeed only starts with "vcard", in which it should be ignored. Implemenations using XPath (such as XSLT or Greasemonkey scripts) should be advised to do a
contains(concat(@class,' '),'vcard ')
.- REJECTED VAGUE. Which implementations? And which examples?
- (Note: the code
contains(concat(@class,' '),'vcard ')
is broken see parsing-microformats#Parsing_class_values for a correct example --Robert Bachmann)
- Several implementations (Which ones? Please provide links.) seem to assume that any class attribute that contains the substring "vcard" indeed signals the presence of vcard information. Not so: there are examples (What examples? Please provide links.) of where a token in the class attribute indeed only starts with "vcard", in which it should be ignored. Implemenations using XPath (such as XSLT or Greasemonkey scripts) should be advised to do a
- 2005-12-08 raised by Kenny Heaton.
- The specification gives no way to to declare a telephone extention, as in (800) 234-5678 ext. 101
- ACCEPTED FAQ. What is the best way to declare a telephone extension in a "tel" property? (also seems like it would be a vCard FAQ).
- The specification gives no way to to declare a telephone extention, as in (800) 234-5678 ext. 101
- 2006-01-21 raised by Ben Boyle.
- Have run into issues trying to use definition lists with hCard, specifically around nesting requirements for tel where the DT element takes a class "type" (e.g. Telephone, Facsimile) and the DD element marks the value. It is invalid to place any other elements within a DL that wrap around the DT/DD pairs so there is no available element to assign the class "tel" to. XHTML2 proposes a DI element that will resolve this issue. I am hoping for an interim solution for those that wish to use definition lists, perhaps that "any class that would be placed on the DI parent (in XHTML2) must instead be placed on the first DT element". I realise this will cause headaches for those implementing hCard parsers. I'd also like to note this may affect other (current or future) microformats and relates to the general hassle of definition lists in current (X)HTML recommendations. For your consideration - thanks!
- REJECTED WORKAROUND AVAILABLE. Either don't use definition lists in this manner (because the description of a defintion should go completely in the DD element, and thus you should be able to put the class on that), or use separate DLs in the cases where you would otherwise have needed a DI element.
- Have run into issues trying to use definition lists with hCard, specifically around nesting requirements for tel where the DT element takes a class "type" (e.g. Telephone, Facsimile) and the DD element marks the value. It is invalid to place any other elements within a DL that wrap around the DT/DD pairs so there is no available element to assign the class "tel" to. XHTML2 proposes a DI element that will resolve this issue. I am hoping for an interim solution for those that wish to use definition lists, perhaps that "any class that would be placed on the DI parent (in XHTML2) must instead be placed on the first DT element". I realise this will cause headaches for those implementing hCard parsers. I'd also like to note this may affect other (current or future) microformats and relates to the general hassle of definition lists in current (X)HTML recommendations. For your consideration - thanks!
- open issue! 2006-01-28 raised by Tantek on #microformats
- Is hCard is really appropriate for a named phone bridge, or do we need something else for a named phone numbers that are neither people nor organizations (the current two precise semantics that can be defined by hCard). For example see the "Zakim" hCard on http://www.w3.org/2005/12/allgroupoverview.html
- 2006-02-13 raised by Eron Wright
- Few systems contemplate the altitude component of a coordinate, yet it exists. Altitude becomes important when working with 3D mapping software such as Google Earth. Indeed, the geocoding service that Google Earth uses returns a three-dimensional coordinate. I suggest that hCard provide explicit support for altitude.
- REJECTED POSTPONED. Not in vCard. There is no "altitude" component in vCard (RFC 2426), and thus (certainly for now) there won't be any in hCard. If a new version of vCard were to come out with altitude, then we would add it to hCard. At some point we may also consider adding explicit extensions beyond vCard, but if we were to do so, we would capture them first on the hcard-brainstorming page.
- Few systems contemplate the altitude component of a coordinate, yet it exists. Altitude becomes important when working with 3D mapping software such as Google Earth. Indeed, the geocoding service that Google Earth uses returns a three-dimensional coordinate. I suggest that hCard provide explicit support for altitude.
- 2006-02-19 raised by Miika Mäkinen.
- Couldn't the types for tel numbers be specified in a class? Now, for a phone number one needs to add the type as "visible" text, which is not always preferred. For example, type "Work", many times more suitable label could be "Office" or similar and sometimes you might not want to display any type information at all.
- REJECTED TRIED ALREADY. Using class names for the "type" of a tel or adr was attempted, and failed in many situations. In addition, the "type" information is actual data, not just a property name, and thus deserves to be in the visible markup. Note that you can use abbreviations, e.g.
<abbr class="type" title="work">W:</abbr>
in order to present the type in a way that may better fit in with the rest of your presentation.
- REJECTED TRIED ALREADY. Using class names for the "type" of a tel or adr was attempted, and failed in many situations. In addition, the "type" information is actual data, not just a property name, and thus deserves to be in the visible markup. Note that you can use abbreviations, e.g.
- Couldn't the types for tel numbers be specified in a class? Now, for a phone number one needs to add the type as "visible" text, which is not always preferred. For example, type "Work", many times more suitable label could be "Office" or similar and sometimes you might not want to display any type information at all.
- 2006-02-23 raised by Jesse Skinner and Ben Buchanan.
- Are multiple URLs allowed? The Property List suggests not, whereas email and tel have multiple type/value pairs. However, the parsing page suggests multiple URLs are OK. Either way, it seems clear that a type cannot be associated with a URL. So how exactly does hCard deal with multiple URLs?
- RESOLVED FAQ: Multiple URLs are allowed. Some consuming agents (Apple's AddressBook.app among them) don't have an interface for producing multiple URLs, but they are still valid in vCard and therefore hCard. --RyanKing 17:58, 12 Jun 2006 (PDT)
- Are multiple URLs allowed? The Property List suggests not, whereas email and tel have multiple type/value pairs. However, the parsing page suggests multiple URLs are OK. Either way, it seems clear that a type cannot be associated with a URL. So how exactly does hCard deal with multiple URLs?
- open issue! 2006-03-07 raised by Tantek.
- Issue 1: In 99% of the cases I am finding the need to explicitly do "n" markup, the person has a three word fn which is in the form "given-name additional-name(or initial) family-name". Should we make three word fn's into another shorthand notation to make this easier for authors?
- 2006-04-06 raised by Evan.
- What is the relationship between the CATEGORY property and rel-tag? Can you add a tag to an hCard? How can you add a tag to a particular hcard on a page without tagging the other cards on a page?
- ACCEPTED. Categories can optoinally be represented as tags. The classname 'category' should always be used, but rel="tag" can optionally be used (in addition to the category classname). In the case that a rel-tag tag is used, the tag (as defined by rel-tag) is used for the category. Examples: (1)
<span class="category">food</span>
and (2)<a class="category" rel="tag" href="http://example.com/food">Food!</a>
. --RyanKing 15:16, 13 Jun 2006 (PDT)
- ACCEPTED. Categories can optoinally be represented as tags. The classname 'category' should always be used, but rel="tag" can optionally be used (in addition to the category classname). In the case that a rel-tag tag is used, the tag (as defined by rel-tag) is used for the category. Examples: (1)
- What is the relationship between the CATEGORY property and rel-tag? Can you add a tag to an hCard? How can you add a tag to a particular hcard on a page without tagging the other cards on a page?
- open issue! 2006-04-10 raised by Scott Reynen.
- When someone looks at the hcard pages, one sees no collection of real-world publishing of contact data nor discussion of the properties implied by such examples, I think it's far too easy to infer that microformats come from other formats more than actual behavior. There's nothing on the process nor the hcard pages explaining this discrepancy. I would argue that there should be an explanation, probably in both places.
Template
Please use this format (copy and paste this to the end of the list to add your issues):
- open issue! YYYY-MM-DD raised by YOURNAME.
- Issue 1: Here is the first issue I have.
- Issue 2: Here is the second issue I have.