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

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

もずはっく日記(2015年3月)

2015年3月2日

ime-modeの標準仕様からの削除について
初回投稿日時: 2015年03月02日13時03分57秒
最終更新日時: 2015年03月02日13時10分43秒
カテゴリ: CSS Firefox IE Windows
SNS: (list)

CSS3-UIの仕様書からime-modeの定義が削除され、各ブラウザベンダは直ちに実装を中止し、サポート済みのブラウザも実装を削除すべきだという文言に変更されました

スラッシュドットでも取り上げられてて、多くのコメントが寄せられてました。参照されてる記事読まずに、書かれたコメントも多くて非常にアレではありますが、それはさておき、情報が混乱してるのは確かな訳なので、軽くまとめてみようかと。

ime-modeは本当に削除されていくのか?

あくまで私見ですが、少なくとも短期的にはあり得ないと思っています。そのような話がbugzillaで出てきても、Firefox (Gecko)からの削除は私自身が反対します。

その最も大きな理由は、代替技術が存在しないということです。次に、ime-modeを利用して、入力を効率化しなくてはいけないシステムというものが日本には存在し続けていると考えているからです。

ime-modeはWindowsのIMEの挙動を基にした、決して綺麗ではない定義になっています。ですので、Windows版以外のFirefoxでは問題を色々と抱えています。しかし、逆に言えば、Windowsでは期待通りに動いてくれるのです。

ここで、ime-modeが必要だと考えてるターゲットが誰なのか、ということが重要です。これを実装した私自身は、企業内のイントラネットで使われているWebブラウザ上で動作する社内システムでの利用を前提にしています(おそらくMicrosoft側もそうだと思います)。

私自身はMozillaで働き出して、もう10年近くが経過しているので、最近の日本企業によるシステム構築の際の要求事項に明るくありません。しかし、私が前職で得た知見では、間違いなく、IMEの状態を管理したいという要求があり、それはおそらく現在でも変わることはないだろうということです。

ime-modeについての一番大きな誤解は、これを利用することで、システムの発注側は入力できる内容を絞り込みたいんだということです。実際には、それは違います。彼らは、IMEのオン・オフや、ひらがな固定、カタカナ固定、漢字混在、半角英数での入力といったIMEのモード管理という、本来の業務から、システム利用者(普通は社員もしくはそれに近い人)を解放し、効率化したいのです。そういった要求が変化しているとは考えられません(クライアントが非Windows環境になっていればまた別ですが)。

そういったユーザが想定される状況下で、代替技術もなく、Webブラウザが実装を削除してしまうというのはWebブラウザをシステムを動かすプラットフォームとして選択してくれた、ブラウザベンダ側からすると有り難いことこの上ないユーザを切り捨てるでしょうか? あり得ません。

IMEの入力状態はユーザ自身で管理しないと混乱を生むだけだからime-modeは悪だ!

あなたが一日に数回程度以下しか利用しないWebページのフォームについてこう言っているのであれば、それは正しい意見だと思います。

ですが、ime-modeの利用シーンはより過酷な状況を想定しています。

社内システムで決まったフォーマットの情報を入力する業務では、一日に何十回、何百回と同じフォームにデータを入力することも考えられます。一回のフォームでの入力で、IMEを5回、オン、オフしないといけない場合を考えてみてください。1日に100回、そのフォームを利用しなくてはいけない場合、1日で500回、IMEのオン、オフを切り替えていることになります。これが一週間、5日で2500回、年間だとおそろしい回数の無駄な作業が発生します。

何らかの同じ作業をPCでこなそうとするときに、「なんでこの機能が自動化されていないんだ」とか、ちょっとした開発が可能な人なら、「面倒なので自動化しよう」と思ったことはありませんか?

つまり、利用者側が自動でIMEの状態を管理して欲しい場合には、無くてはならない機能でもあるのです。

逆に、通常のWebページ(例えば顧客が使うページ等)で利用すると、そのような同意がシステム設計者とユーザの間で得られてないので、ime-modeは不快感を与えてしまうため、使うべきではないのです。

標準仕様がime-modeを否定したんだから、やっぱり削除すべきでは?

それがWebブラウザを利用しているほとんど全ての人にとって有益であればそうすべきです。また、他のWeb標準仕様と整合性がとれなくなるのであれば、ケースバイケースですが、原則的にはそうすべきです。

しかし、上述のように、これを必要と考えているであろうユーザが簡単に推測できてしまいます。そのようなユーザを切り捨てるには、メンテナンスコストがかかりすぎるなど、それなりのメリットが必要ですが、それを見いだすことは私にはできません。現状、サポートをやめることの方がデメリットが大きいのです。

仕様書が実装から削除されるべきと言及するのは間違っているのでは

私もそう思いましたので、代替案込みでW3Cに意見をポストしていますime-modeの削除に否定的な人が、何故行動を起こさないのか、不思議で仕方ないですね。特に、日本語の事情を全然考慮してくれていないとか言ってる人は論外でしょう。こういう時こそ、冷静に要求を入れていかないといけないのですから。私の意見はあくまで想像に基づいた私見でしかないので、企業ユーザの前提が間違っていると考えるのであれば、是非、W3CのMLでご自分の意見を表明してください。

私の意見は、ime-modeを置き換えるAPIやCSSプロパティが標準化、実装されるまで、ブラウザはime-modeをサポートしていても良い、という文章に書き換えるべきだという内容です。

ime-modeはやはり標準化されるべきでは?

ime-modeはやはり仕様書で標準化され、全てのブラウザで利用できるようになるべきだと考える人も居るかもしれません。

また、そこまで積極的ではなくても、ブラウザが引き続きime-modeをサポートするのであれば、標準仕様がそれを標準化しておくべきだと考える人も居るかもしれません。

ですが、私はime-modeの標準策定には反対です

上述のように、ime-modeはWindowsのIMEの挙動をコントロールすることのみを考えた、スマートではない定義になっています。Macでは、IMEが無効化された後、有効化されても、入力モードは復元されません。Linuxでは、そもそも、アプリからIMEのオン・オフは切り替えられないので、実装が不完全です。

また、最近のトレンドでは、IMEのフレームワークが拡張され、タッチスクリーンからの入力、スピーチ入力も一元的に取り扱うようになってきています。このような状況下で、額面通りにIMEを無効にすることを許可する訳にはいきません。

非常に長い時間がかかると思いますが、まったく新しいAPIの形を考えるべきでしょう。それまでは、グレーゾーンに存在し続けるという今までの状況が、誰にとっても都合が良いのです。

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

関連するかもしれないエントリを発見できませんでしたが、無いとは限りません。