Hatena::Groupweb

vantguarde

 | 

5.19

microformatsのValue Class Pattern

| 23:02

はいはい。ということで、microformatsに久しぶりに大きな動きがありました。

新しいパターンが追加されて、いろんな問題が解決されるよって話です。

I18n問題

microformatsのいくつかのフォーマットにはi18nに関する問題がありました。要素内容がプロパティの値として使われるものが、ローカライズできないんですね。たとえば tel とか adr のサブプロパティなどがそうです。

<span class="tel">
    <span class="type">Cell</span>:
    <span class="value">090-0000-0000</span>
</span>

この“Cell”の部分をたとえば「ケータイ」とかに変える事ができないわけです。なぜなら「ケータイ」はvCardのサブタイプではないから。とまあ、こういう頭おかしいデザインになっており、i18n的に問題があったわけです。

Value class patternを使うと、次のように書くことができます。

<span class="tel">
    <span class="type">
        <span class="value-title" title="cell"> </span>
        ケータイ
    </span>:
    <span class="value">090-0000-0000</span>
</span>

新たに.value-titletitleを含む要素を入れる事で、値をその要素のtitle属性値から取る事ができるっていうソリューションです。気味悪いですね。

datetime-design-patternも

これを使えば、datetime-design-patternのアクセシビリティに関する問題も回避する事ができるそうです。

<p class='dtstart'>
    <span class='value-title' title='2009-03-14T16:28-0600'> </span>
    March 14th 2009, around half-past four
</p>

.value-titleで”March 14th...”を囲っても構いませんが、BBCなんかはツールチップを問題視してたので、それも回避できることをアピールしたいのでしょう。

マークアップのふしぎ

半角スペースがなぜかある件なのですが、なんかうまく処理してくれない実装があるからとのこと。

ただ、スペースがあってもwhite-spaceとインラインボックスの処理が働いて、このスペースはレンダリングされません。なんというかですが、クレバーですね。。

雑感

telくらいならtel-cellとかでダメなのかなあと前から思っていたりもしますし、これらをまとめて「パターン」で解決するのも、なんとなく手段を間違えているような気がします。あくまで気がするレベルなのでどうでもいいんですが。彼らにとってはabbrの使い方といい、自然なんですかねえ。

「ほぼ空のspanは果たして意味的と言えるのか」っていう問題についてですが、例外なんですかね。まあ、visible metadataというものに固執しなかったのは好かったなあと思います。

ほかにも.valueがあったら、その内容がconcatされるとか、そういう事もいろいろ書いてあります。パターンというにはちょっと複雑かも。

 | 
Contact: @vant / lepetitcroissant@gmail.com.