On 3/20/07, Paul Wilkins <[EMAIL PROTECTED]> wrote:
From: "Ara Pehlivanian" <[EMAIL PROTECTED]>
To: "Microformats Discuss" <[email protected]>
Sent: Monday, March 12, 2007 1:06 PM
Subject: [uf-discuss] An Inconvenient hCard


> I've got a bit of a problem with an hCard that I need to mark up and I
> was wondering if anyone could lend me a hand.
>
> I realize the syntax requires that a type be specified for telephone
> numbers ("voice", "fax", etc...) and that's where my problem lies.
> It's inconvenient to have the word "voice" appear in the markup
> because that's not how the convention (at least in this neck of the
> woods) is when writing out contact information. The final display
> should be:
>
> Tel.: (514) 123-4567
> Fax: (514) 123-4568
>
> Yet with the required "voice"/"fax" types it ends up like this:
>
> Voice Tel.: (514) 123-4567
> Fax Fax: (514) 123-4568
>
> or in the French version of the page:
>
> Voice Tél.: (514) 123-4567
> Fax Téléc.: (514) 123-4568
>
> I realize that it's simple enough to just hide the types via CSS, but
> being the strict standards advocate that I am, I don't like entangling
> the structural layer with the presentational one by making it
> dependent on it. The idea of superfluous words littering my markup
> without proper grammatical consideration doesn't sit well with me.
>
> I thought of doing something like this:
>
> Tel.: (514) 123-4567 (Voice)
> Fax: (514) 123-4567 (Fax)
>
> or in the French:
>
> Tél.: (514) 123-4567 (Voice)
> Téléc.: (514) 123-4568 (Fax)
>
> But it's redundant in English and nonsensical in French.
>
> So, dear Microformats community, please lend me a hand and help me
> unravel this conundrum of mine.

I have a creative solution here for you, inspired from
Fax Téléc.: (514) 123-4568

If the page is in a foriegn language, such as French, you really should mark
up non-French words with the appropriate language attribute
HTML - lang
XHTML 1.0 - lang and xml:lang
XHTML 1.1 - xml:lang
<span xml:lang="en">Fax</span>Téléc.: (514) 123-4568

Then you can use a stylesheet to hide the english word.
span [lang=en] {display: none;}

Let's take this one further. Markup the new code as a telephone microformat.

<p class="tel">
    <span class="type" xml:lang="en">Fax</span>
    Téléc.:
    <span class="value">(514) 123-4568</span>
</p>

And hide the english text inside the microformat
.tel [lang=en] {display: none;}


Thanks for the work you put into this solution but I've got two
problems with it. The first being what I mentioned in my initial
posting (though I may not have been overly clear about it), but hiding
content in CSS still means that the content is there for unstyled
viewing. Secondly, the attribute selector isn't widely supported
enough to make the solution viable on most browsers (in particular
IE).

Thanks though. :-/

A.
--
Ara Pehlivanian

Site: http://arapehlivanian.com/
Email & GTalk: [EMAIL PROTECTED]
MSN: [EMAIL PROTECTED]
Twitter: http://twitter.com/ara_p/

_______________________________________________
microformats-discuss mailing list
[email protected]
http://microformats.org/mailman/listinfo/microformats-discuss

Reply via email to