このTagsの登録数:1件 表示 : 1 - 1 / 1
木達さんのブラウザだらけの討論大会の告知を読んでいたところ以下の文が目にとまりました。
以下、開催概要です(microformatsのhCalendarを使って記述しているので、Operatorのような処理系を利用している方には情報を取り出すのに便利かもしれません)。
そこで早速 Firefox 2 に Operator 0.8 をインストールして試してみました。が、残念ながら Operator は hCalendar を見つけてくれませんでした 。
そこで、Operator のソース (Microformats.js)を見たところ、title 属性を拾っているのは abbr 要素だけという悲しい事実がわかりました。木達さんの記事では abbr 要素ではなく sapn 要素を使っているので hCalendar を検出できていませんでした。
Microformats.js
title
abbr
sapn
ということで、プロファイルディレクトリの /extensions/{95C9A302-8557-4052-91B7-2BB6BA33C885}/chrome/operator.jar の中の content/Microformats/Microformats.js の該当部分を書き換えます。書き換え前のコードは以下の通り
/extensions/{95C9A302-8557-4052-91B7-2BB6BA33C885}/chrome/operator.jar
content/Microformats/Microformats.js
defaultGetter: function(propnode, parentnode, datatype) { if (((((propnode.localName.toLowerCase() == "abbr") || (propnode.localName.toLowerCase() == "html:abbr")) && !propnode.namespaceURI) || ((propnode.localName.toLowerCase() == "abbr") && (propnode.namespaceURI == "http://www.w3.org/1999/xhtml"))) && (propnode.getAttribute("title"))) { return propnode.getAttribute("title"); } else if ...
書き換え後のコードは以下のとおり。
defaultGetter: function(propnode, parentnode, datatype) { if (((((propnode.localName.toLowerCase() == "abbr" || propnode.localName.toLowerCase() == "span") || (propnode.localName.toLowerCase() == "html:abbr" || propnode.localName.toLowerCase() == "html:span")) && !propnode.namespaceURI) || ((propnode.localName.toLowerCase() == "abbr" || propnode.localName.toLowerCase() == "span") && (propnode.namespaceURI == "http://www.w3.org/1999/xhtml"))) && (propnode.getAttribute("title"))) { return propnode.getAttribute("title"); } else if ...
これで木達さんの記事でも hCalendar を検出できるようになりました 。
とはいえ、弊害もあるかもしれませんのでご注意ください。
あるいは、処理する要素の要素型名に関係なく title 属性を持っていたら title 属性の内容を優先する方がより良いのかもしれません。
追記: Bugzilla@Mozilla に Bug 394626 として報告したところ、Operator 開発者の Michael Kaply さんのコメントがつきました。内容は以下の通りです。
あなたのパッチに感謝します。 人々がこの変更を提案してきましたが、microformats コミュニティは、これが dtstart/dtend のアクセシビリティへの正しい解決策であるとは同意していません。 現在のところ、まだ abbr は title (属性) を読むべき唯一のタグです。 さらなる議論に関しては、microformats メーリングリストを参照してください。
あなたのパッチに感謝します。
人々がこの変更を提案してきましたが、microformats コミュニティは、これが dtstart/dtend のアクセシビリティへの正しい解決策であるとは同意していません。
現在のところ、まだ abbr は title (属性) を読むべき唯一のタグです。
さらなる議論に関しては、microformats メーリングリストを参照してください。
ということで、今すぐ Operator が対応するということはなさそうです 。
microformats のメーリングリストでは 8 月に [uf-discuss] Simple solution to abbr-D-P accessibility concerns: 'Title Trigger' から始まる熱い議論があったみたいですね。
あるいは HTML 5 の time 要素に期待?
time
詳細検索
random Hatena Ring svg
random Hatena Ring firefox
random Hatena Ring pblog
木達さんのブラウザだらけの討論大会の告知を読んでいたところ以下の文が目にとまりました。
そこで早速 Firefox 2 に Operator 0.8 をインストールして試してみました。が、残念ながら Operator は hCalendar を見つけてくれませんでした
。
そこで、Operator のソース (
Microformats.js)を見たところ、title属性を拾っているのはabbr要素だけという悲しい事実がわかりました。木達さんの記事ではabbr要素ではなくsapn要素を使っているので hCalendar を検出できていませんでした。ということで、プロファイルディレクトリの
/extensions/{95C9A302-8557-4052-91B7-2BB6BA33C885}/chrome/operator.jarの中のcontent/Microformats/Microformats.jsの該当部分を書き換えます。書き換え前のコードは以下の通りdefaultGetter: function(propnode, parentnode, datatype) { if (((((propnode.localName.toLowerCase() == "abbr") || (propnode.localName.toLowerCase() == "html:abbr")) && !propnode.namespaceURI) || ((propnode.localName.toLowerCase() == "abbr") && (propnode.namespaceURI == "http://www.w3.org/1999/xhtml"))) && (propnode.getAttribute("title"))) { return propnode.getAttribute("title"); } else if ...書き換え後のコードは以下のとおり。
defaultGetter: function(propnode, parentnode, datatype) { if (((((propnode.localName.toLowerCase() == "abbr" || propnode.localName.toLowerCase() == "span") || (propnode.localName.toLowerCase() == "html:abbr" || propnode.localName.toLowerCase() == "html:span")) && !propnode.namespaceURI) || ((propnode.localName.toLowerCase() == "abbr" || propnode.localName.toLowerCase() == "span") && (propnode.namespaceURI == "http://www.w3.org/1999/xhtml"))) && (propnode.getAttribute("title"))) { return propnode.getAttribute("title"); } else if ...これで木達さんの記事でも hCalendar を検出できるようになりました
。
とはいえ、弊害もあるかもしれませんのでご注意ください。
あるいは、処理する要素の要素型名に関係なく
title属性を持っていたらtitle属性の内容を優先する方がより良いのかもしれません。追記: Bugzilla@Mozilla に Bug 394626 として報告したところ、Operator 開発者の Michael Kaply さんのコメントがつきました。内容は以下の通りです。
ということで、今すぐ Operator が対応するということはなさそうです
。
microformats のメーリングリストでは 8 月に [uf-discuss] Simple solution to abbr-D-P accessibility concerns: 'Title Trigger' から始まる熱い議論があったみたいですね。
あるいは HTML 5 の
time要素に期待?