この日記はMozillaのプロダクトへの貢献者としての私の成果を中心に、気になったバグやWeb界隈の話題について書いていますが、 断り書きがある場合を除き、いかなる団体のオフィシャルな見解ではありません。あくまでも個人的なものです。 Mozilla Foundation、Mozilla Corporation、及び関連企業の公式情報ではないことに注意してください。

現在、XHTML 1.0 (もどき)から、HTML5なコンテンツに修正中です。古い日記は修正が完了していませんので表示が崩れます。 順次、修正していく予定ですのでしばらくお待ちください。

もずはっく日記(2009年1月)

2009年1月19日

Bug 6459 [ChatZilla] intl.menuitems.alwaysappendaccesskeys を true にするとアクセスキーが二重に表示される
初回投稿日時: 2009年01月19日05時42分18秒
カテゴリ: Mozilla Core
SNS: (list)

XULの仕様に関する問題です。現在のXULの仕様で、chatzillaをそのままローカライズすると、メニューのキャプションがコピー(C)(C)と表示されてしまいます。

XULではキャプションを表示する際に(X)という文字列を自動的に付加するのですが、chatzillaはキャプションを指定するリソース内で&を利用してアクセスキーを指定する、という手法を用いています。このため、リソース内でコピー(&C)と、無理矢理アクセスキーを含める必要があり、これがアクセスキーの表示の二重化の原因となっています。

XULの現在の仕様(挙動)からすると、アクセスキーはキャプションに関係無く指定できるメカニズムが無くてはいけませんが、現在のchatzillaはそのような仕様になっていないのが問題です。

もし既に、このようにchatzillaと同じような拡張が多々存在していて、この手法が拡張作者の間で市民権を得てしまっているのであれば、XUL側の仕様を変更し、キャプションの末尾が(X)の場合にはアクセスキーを自動的に付加しない、という処理を入れるべきでしょう。しかし、現状では、Gecko 1.9.1の仕様は原則として既に凍結されているという問題がひとつ。そして、そのような拡張がどの程度あるのかが全く情報が無いという問題があるため、仕様を変更する訳にはいきりません。

拡張のローカライズをやっている方で、この問題に困っている方が居たら、bugzilla-jpか、本家bugzillaの方で情報をください

関連するかもしれないエントリ

bug 6459を含むエントリ