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

原田です。

まず、いちユーザーとしての意見ですが、「IMEの入力モードが切り替わるだけ」であれば、
サイトやアプリケーション制作者には使用してほしくないと思っています。
理由は小久保さんの仰る「入力モードの齟齬」と「入力モードに対する許容性」双方で語ら
れている通りです。

ただし、長くなってしまったので先に結論を書きますが、仕様に入れる事自体は賛成です。
加えて inputmode で指定した入力モードから任意の入力モードに切り替えられる事を仕様に
明記すべきだと考えます。
(半角英数以外の入力を受け付けない等の挙動は認めない。)



2009年12月5日23:08 IWAI, Masaharu <iwaim.sub@gmail.com>:
> ユーザビリティ面からの話は、過渡期に発生する問題と捉えることができるんじゃないかな、
> というようには思います。

岩井さんの仰る「過渡期に発生する問題」を解決するために何が必要か考えてみました。
主にCSSの話題になりHTMLの話からは逸れますが、せっかくなので書いてみます。


■inputmodeにまつわる新機能

1. 現在の入力モードを表すCSSの疑似セレクタ

input:focus と似たような感じで現在の入力モードの状況を表す疑似セレクタを用意する。
「ひらがな」か「カタカナ」のどちらかを使用するなど、複数のモードを切り替える事
が可能な場合、現在のモードを視覚的に表現できます。

ブラウザに限らずテキストエディター等でも現在のモードが分からず一度試しに打って
から切り替えるような事は誰しもが経験しているかと思いますが、この疑似セレクタにより
ブラウザに関してはある程度回避する事が出来るんじゃないかと思います。
# input:focus-with-kana とか。。?かっこわるい。。
# もちろんIMEのモードを表せれば疑似セレクタでなくても良いです。



2. キャレットのアイコンを変更出来るようにする

マウスカーソルにはcursor:pointer;などでマウスオーバーした箇所が、クリック可能である
ように表現するなどが出来ますが、inputやtextareaに現れるキャレットは装飾する事が出来
ず、キャレット位置の表現しか出来ないです。

このキャレットの右上に現在の入力モードを表すアイコンが表示されたり、その項目が
求める情報(mailアイコンを表示してemail addressの入力を促す等)を表す事が出来れば
より使い勝手が良くなるのでは無いかと思います。
# キャレット位置しか出ないって勿体無いですよね。



3. validation(仮)属性を用意する

required属性[1]より一歩踏み込んで入力された項目を評価する属性を定義する。
validation="[あ-ん]" のように正規表現を値に入れ入力内容を評価します。
(サポートする正規表現の機能についてはパフォーマンス等の問題もあるので
検討が必要ですがそこまでは考えていません。)

この機能により input:valid , input:invalid のような疑似セレクタで装飾する、半角aしか許可
してないのに全角aが入力された場合人間の間違えとして解釈し半角にする等の処理を行う
事ができるようになります。
(処理に関してはjavascriptで行うかUA側で定義するかは要検討です。)

[1] http://dev.w3.org/html5/spec/Overview.html#the-required-attribute


4. oninputmodechange の定義

JavaScript 等で入力モードが切り替わったタイミングで発火するイベントを定義する。
これにより、視覚表現だけでなくscreenリーダー向けにも切り替えを告知したり、
視覚表現の幅を広げたり出来ないかと思っています。
(screenリーダーに関しては本来UAが行うべき挙動なので、すでに各種UAで実装されて
いるかもしれませんが、不勉強のため分かりません。どなたかご存知でしたら教えて
頂きたいです。)


■これらの機能が実現される事で

inputmodeの指定により勝手に入力モードが切り替わったとしても1と2を
うまく使う事でユーザーが齟齬を感じる場面が減るかと思います。

また、validation属性により入力モードを縛る必要が減るので、inputmode属性で入力
モードを切り替えた後、任意の入力モードに切り替えることを許容出来るんではないか
と考えます。
それにより辞書にメールアドレスを入れているようなユーザーも困らないかと思います。

ということで、私も岩井さんと同じく未来を見据えて inputmode 属性仕様に盛り込む
のはありだという結論に達しました。
ただし、inputmode 属性で指定された入力モードから他のモードに切り替えられるように
仕様で定義されるべきであると考えています。
# 切り替える事が出来ないようなら仕様から外すべきだとも思っています。


--
原田直貴
http://d.hatena.ne.jp/neotag
http://twitter.com/neotag



2009年12月5日23:08 IWAI, Masaharu <iwaim.sub@gmail.com>:
> 岩井です。
>
> 2009年12月4日3:46 Kotaro Kokubo <kotaro@hemiolia.com>:
>> これは便利かも、と思って自分でも使ってみたこともありますし、これらを使ったサイトを利用したこともあります。しかし、実際に導入してみるといくつかのユーザビリティ上の問題が浮上しました。
> (snip)
>> ということで、矢倉さんはinputmodeについて具体的な提案まで持って行けたら、というスタンスでの話題提起でしたが、以上のような理由から私はinputmode属性は無くて良いのでは、と考えています。みなさんはどのようにお考えでしょうか?
>
> ユーザビリティ面からの話は、過渡期に発生する問題と捉えることができるんじゃないかな、
> というようには思います。
>
> 入力モードとの齟齬は、そもそもユーザが明示的に切り替える必要があるということ自体が
> ユーザビリティ上の問題を孕んでいるような気はします。
> つまり、本来、OS全体として、コンテキストに応じて入力モードは切り替わるべきだと思います。
> # 実はまだあまり深く考えてはないけど。
>
> また、多様な入力方法に対する低い許容性についても、仰る問題はあるかとは思いますが、
> 本来は、例えばtype=emailなinput要素には、自分のメールアドレスが候補に挙がるべき
> だと思います。OS側でどこかにメールアドレスを登録する機能があって、そこにいれておくのを
> 想定しています。
> # たぶん、メールアドレスの登録云々は、MUAなんかと連動するといいんじゃないかな。
>
>
> ですから、私としては、今から将来に向けて仕様に織り込んでおくというのはあり。
> で、下手に使えば現状ユーザビリティ的な問題は発生するだろうけど、それは文書作成者が
> ちゃんと考えて使えよ、と。
>
>
>> 以下蛇足気味ですが、このようなUIに関する部分をHTML文書側で具体的に定義することはそもそも不適切だと思います。HTML文書は最終的に人間が利用するシーンにおいては非常に抽象度の高いデータであり、人間とのインターフェイス(境界面)からは遠いレイヤーにあるように思います。inputmodeのようにUIに関して具体的な言及をするのではなく、たとえばpattern属性の内容に応じて、スクリプトやブラウザやOSやハードウェアといったより人間に近いレイヤーで適切な補助を行うような形などの方が望ましいと思います。
>
> それは仰るとおりかも知れないですね。
> でも、HTML文書の仕様にいれちゃってもいいんじゃないかなー。
>
> --
> いわい
>

Received on Saturday, 5 December 2009 17:12:14 UTC