勝手にスクリーンキーボードが立ち上がる

勝手にスクリーンキーボードが立ち上がる

Android の Chrome で入力画面でもないのに勝手にスクリーンキーボードが立ち上がるようになってしまいました。

01Android の Chrome だけの症状

こんな感じです。

当サイトの記事ページを読み込んだときの状態をキャプチャしたものです。

この症状が出るようになったのはつい最近であり、Firefox ではスクリーンキーボードは立ち上がりません。ですので、Chrome のバグだろうと放っておいたんですが、一向に解消されません。さすがにこれじゃダメだと調べてみましたら検索の input 要素に設定している autofocus 属性が原因でした。

<form class="p-search__form" name="searchform" method="get" action="https://imuza.com/">
<input class="p-search__input" type="text" id="searchform-input" name="s" placeholder="Search" value="" autofocus>
<input class="p-search__submit" type="submit" value="Search">
</form>

この autofocus ですね。最近設定したものではありませんので Chrome の方で仕様変更があったということでしょうか。

02MDN:HTML autofocus グローバル属性

あらためて MDN の autofocus 属性を見てみましたらちゃんと書かれていました。

autofocus 属性を使用する際には、アクセシビリティに十分配慮してください。コントロールに自動的にフォーカスが当たると、読み込む際にページのスクロールが発生する可能性があります。また、タッチ端末によっては、フォーカスが動的なキーボードを表示させることもあります。
MDN:HTML autofocus グローバル属性

ということで autofocus を削除しましたら、スクリーンキーボードが勝手に立ち上がる症状が解消されました。