入力モード (inputmode) について

はじめまして。小久保と申します。
Information Architects, Inc.( http://informationarchitects.jp/
)でインターフェイスデザイナーをやっています。

私は実際のところHTML5に関してはあまり最新事情も追いかけておらず、これまでの経緯を把握できてるわけでもないのですが、そんな自らを省みて何とかキャッチアップできればということでMLに参加させていただきました。よろしくお願いします。

さて、そんな事情に暗い身ではありながら矢倉さんからお題を頂いたinputmodeについて思うところがあったのでポストさせていただきます。まずは矢倉さんのポストのinputmodeについての箇所を転載します。

> 2. 入力モード (inputmode)
>
> HTML5ではフォーム機能が拡張されていますが、入力モード(ひらがなや英数、カタカナの)については仕組みが存在していません。フォーム機能がまだWeb
> Forms 2.0という別の仕様だったときには、XFormsより inputmode
> という属性が取り込まれていたのですが、現在のHTML5には存在しません。-wap-input-format というWAP
> CSSのプロパティがあるからという理由でしたが、これを実装するデスクトップブラウザがあるかどうかは分かりません。
>
> XHTML Basic 1.1にも inputmode 属性が持ち込まれていますが [5]、こちらも同様に実装があるかどうかは不明です。
>
>    [5] http://www.w3.org/TR/xhtml-basic/#s_inputmode
>
> というわけで、以下のことができないか考えています。
>  * 入力モードを指定する機能が便利と思われるユースケースを考える
>  * ユースケースの文書化を行う
>  * inputmode属性の定義を簡略化し、HTML5に提案する
>
> (最後については、少し欲を出してみました。)

一部のブラウザではime-modeというCSSプロパティが実装されており、適用した要素のIMEの振る舞いを制御するというinputomode属性と同じような機能が提供されています。またこれと同様の機能を他のブラウザでも提供するためにFlash経由で同じくIMEの状態をコントロールするライブラリもあります。

これは便利かも、と思って自分でも使ってみたこともありますし、これらを使ったサイトを利用したこともあります。しかし、実際に導入してみるといくつかのユーザビリティ上の問題が浮上しました。


1. ユーザーが認識している入力モードとの齟齬

一般的に、複数の入力モードを持ちそれを切り替えて使うようなシステムのユーザーは一定の入力が続くようなシーンではカレントのモードを常に意識していると考えられます。しかし通常能動的に行うこのモード切り替えが外部から強制的に行われ、そのことがわかりやすく通知されない場合、ユーザーが認識しているモードと実際に選択されているモードの状態に齟齬が発生します。

Windows版ATOKなど一部のIMEソフトは入力箇所の近くに入力モードを表示してくれるためそれなりにストレスは軽減されますが、もちろんこれはHTML文書やブラウザの外のソフトウェアに頼った解決(?)であるため、文書側から入力モードを操作することによる問題の本質的な解決ではないのは言うまでもありません。モードの変更をユーザーに明確に通知することまでも仕様に含めて担保しない限りはこの問題は不可避であるように思えますが、それがマークアップ言語の仕様がカバーする範囲なのか、という疑問はあります。(とか言い出すとForm関連全体が、という話にもなりかねないかもしれませんが…)


2. 多様な入力方法に対する低い許容性

たとえば、メールアドレスの入力欄だから英数字に限定しよう、なんてやってしまうと、IMEの単語登録で「メール」をメールアドレスに展開するような使い方をしている人はこれが出来なくなってしまいます。IMEが必要な場合だけでなく、アルファベット圏のユーザーももしかしたら入力したabbreviationを展開するようなソフトを使っているかもしれません。

ユーザーインターフェース(UI)デザインの基本は「入り口は広く、出口は狭く」です。この考えに照らすと、ユーザーからの入力を受け付ける最初期段階で何らかの制限を加えるべきはないと思います。ユーザーからの入力は許容性を持たせ、クライアント側のスクリプトやサーバー側での後処理でそれを可能な限り正規化し、それでも不都合がある場合に初めてユーザー側に対応を求めるのがUIとしてはより良いデザインと言えそうです。


ということで、矢倉さんはinputmodeについて具体的な提案まで持って行けたら、というスタンスでの話題提起でしたが、以上のような理由から私はinputmode属性は無くて良いのでは、と考えています。みなさんはどのようにお考えでしょうか?


以下蛇足気味ですが、このようなUIに関する部分をHTML文書側で具体的に定義することはそもそも不適切だと思います。HTML文書は最終的に人間が利用するシーンにおいては非常に抽象度の高いデータであり、人間とのインターフェイス(境界面)からは遠いレイヤーにあるように思います。inputmodeのようにUIに関して具体的な言及をするのではなく、たとえばpattern属性の内容に応じて、スクリプトやブラウザやOSやハードウェアといったより人間に近いレイヤーで適切な補助を行うような形などの方が望ましいと思います。

-- 
小久保 浩大郎 (Kotaro Kokubo)
http://hemiolia.com/
http://twitter.com/kotarok

Received on Friday, 4 December 2009 08:38:19 UTC