LoginSignup
3
1

More than 1 year has passed since last update.

Chromeはデスクトップのinputmodeで入力制限しない

Posted at

inputmodeとは

htmlのinpputmode属性は、バーチャルキーボードの入力で「ユーザーがコンテンツを入力する際に最も参考になる入力メカニズムの種類を指定」してくれる大変便利な属性です。特に数値入力の際はアルファベットを入力できなくなるので、無効な入力をするリスクを減らしてくれるので助かります。

しかしこの属性には弱点があり、それは物理的なキーボードの入力を制限しないことです。変なJSを組まなくても、ブラウザ側で検証と入力制限を肩代わりしてくれる機能があっていいものですが。

デスクトップ版Chromeで対応済みとなっているけど…?

デスクトップ版Chromeではinputmodeはバージョン65で対応済みとなっておりますが、上記の通り物理キーボード入力を一切フィルタリングしません。
しかし、なぜ対応済み扱いとなっているのでしょうか。

なお、FirefoxはフラグをOnにしないと使えず、safariは対応していません。

Googleの(つれない)返答

この点に関してChromeのMonorailで提案したところ、以下の様な回答が返ってきました。

Inputmode is a hint for the type of input that is expected that may be used to determine which virtual keyboard is appropriate. It does not restrict what keys can be entered. Verified that the selected virtual keyboard changes based on inputmode. No VK appeared with inputMode=none. A numeric keypad appeared for decimal and tel, etc. Verified by enabled the onscreen keyboard in the accessibility settings for ChromeOS.

日本語訳すると以下の通りです。

inputmodeは入力型が期待している値のヒントで、どのバーチャルキーボードが適切かを判断する際に使われることがあります。入力するキーを制限しません。選択したバーチャルキーボードがinputmodeにより変更されるかどうかで検証されました。inputMode=noneならキーボードが表示されない、decimalならテンキーが表示されるといった具合です。ChromeOSのアクセシビリティ設定で画面上にキーボードを表示して検証されました。」

確かにChromeOSのPCを持っていない私としては盲点です。ただ、Windowsのスクリーンキーボードでは残念ながらinputmodeが動作しませんでした。Macは実物が手元にないので分かりません。

WHATWG側の反応

この例に似たような主旨の提案(CSSのime-modeをHTML属性として復活させるべきではないか)をWHATWGに投げかけたところ、

This is what inputmode is for, no?
(そのためのinputmodeじゃないの?)

That kind of feature used to be in the spec as an inputmode, I believe, but there was no implementer interest (and according to @dtapuska was "not possible to implement in current virtual keyboard implementations") so it was removed in #3260.
In particular there used to be "kana" (full-width kana or romaji), "kana-name", "katakana" (full-width), "half-width-katakana", and "full-width-latin". I'm not sure if that exactly maps to what's requested here.
(そのような仕様はinputmodeにあったはずですが、実装者の興味が無く(また、@dtapuskaいわく「現在のバーチャルキーボードの実装では不可能」なため)、(プルリクの)#3260で削除されました。
(当時検討されていた仕様では)kana (全角カナおよびローマ字)、kana-namekatakana (全角)、half-width-katakanafull-width-latinというものがありました。要求に沿っているものかはわかりかねますが。)

モバイルファースト一辺倒で本当に良いのか

ということで、PCに対する熱意はWeb仕様を作ったり、実装する側も持ち合わせていないようです。

PCユーザーはまだまだたくさんいる(特に仕事の現場で)のに、世の中はモバイルファーストだからと言って、スマートフォンを重視しすぎだと感じます。

そうでなくとも、ブラウザ界隈では(W3Cなどで活躍する日本人も多く、皆さん尊敬しておりますが)英語圏の発言力が圧倒的に大きいのが現状です。2020年のシェアを見る限り日本語は8位とかなりつかわれている言語ですが、要望に応えられていないのが現状です。無効な入力に関しては、2位の中国語圏の方も似たような悩みがあるのではと愚考しております。皆さんも声を上げて、変革してみませんか、とやたら大きい述語でこの記事を締めます。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1