このすみノート

Webエンジニアが技術や趣味を書くブログです。

Android Chrome 138 で、キーボード出現時のviewportの判定が変わった?

とあるWebアプリの開発で発生したトラブルです。

画面下のチャット入力欄が、キーボードの出現で隠れてしまう

画面下固定 ( position: fixed; bottom: 0; )のCSSで、画面下に表示しているチャット入力欄がtextareaであります。

これが、Android Chrome 138 において、textareaをタップでキーボード出現時に隠れるようになってしまいました。

最終的にどう対応したのか

viewportのメタタグに、viewport-fit=coverを追加しました。

例: https://igawa.co/memos/viewport-fitcover%E3%81%A7%E5%AF%BE%E5%BF%9C%E3%80%82iphone%E3%81%AEsafe-area%E5%95%8F%E9%A1%8C%E3%80%82/

viewport-fit=coverの有無による変化

viewport-fit=coverを指定すると、Androidでキーボード出現時に、画面下コンテンツがキーボードに隠れないようスライドします。 その結果、画面下固定のチャット入力欄が隠れないようになりました。

推測ですが、キーボードの裏側をコンテンツ表示領域とみなすか判定が、Chrome 138で変わったような挙動に思えました。

あとがき: Android Firefoxでも発生するから別問題の可能性あり

Android Chrome 138と書きましたが、Android Firefoxでも発生しました。

もしかしたら、Android Chrome固有ではなく、Android固有の問題である可能性があります。