macOS Mojave 上のSafari バージョン14.0.1 (14610.2.11.51.10) で input type="file"が動かない


現象

macOS Mojave 上のSafari バージョン14.0.1 で

<input type="file">

が動作しなくなっています。

報告

原因

Safariのバグが原因のようです。どうやらファイルへのアクセス権限周りのバグの模様。

Catalinaでは動いているようです。

対策

解決策1

Safariに対してフルディスクアクセスの権限を与えることで解決した、という報告もあるようですが、僕の環境ではなおりませんでした。

解決策2

<input type="file" accept=".xls,.xlsx,.xlsb,.txt,.csv,.tsv"/>

のようにしてaccept属性を追加することで解決した、という報告がありました。

手元の環境で試してみたところ動作するようでした。

とりあえず全部のファイルを許可するのであれば、以下のようにしてワイルドカードで許可すればよいのかもしれません。

<input type="file" accept="*"/>

html的に意味があるのか、と言われればないと思うので、あくまで今回のバグ回避用かなとは思いますが。。。