Chrome での 1 回だけのアクセス許可

Chrome 116 から段階的に展開され、権限プロンプトに [今回のみ許可] オプションが追加されます。Google の目標は、ユーザーが強力なウェブ機能を自分のペースで簡単に利用できるようにすることです。[今回は許可] は、当初はパソコンで、最も一般的なアクセス許可(位置情報、カメラ、マイク)の一部で利用可能になります。他の機能やモバイルウェブの権限プロンプトは、今のところ変更されていませんが、今後変更される可能性があります。

サイト所有者の方は、影響と推奨事項を確認し、デモをお試しください。

権限に関する新しい UX

Chrome 116 より前の権限 UX

ブロックと許可のみが表示される権限に関するメッセージ。
Chrome 116 より前の権限プロンプト。

ユーザーには次の 3 つのオプションが表示されます。

  • 許可: 永続的な許可。
  • Block: 永続的なブロック。
  • [x] ボタンをクリック: 一時的なブロック。サイトは後でユーザーに再度プロンプトを表示できます(最大 3 回)。

権限は、アドレスバーの [サイト コントロール] または [サイトの設定] で管理できます。

Chrome 116 の新しい権限 UX

新しい 1 回限りのオプションを含む権限プロンプト。
新しい 1 回限りのオプションを含む権限プロンプト。これは、位置情報、カメラ、マイクに関するデスクトップの新しいアクセス許可プロンプトです。

ユーザーには次の 4 つのオプションが表示されます。

  • 今回のみ許可: 一時的に許可します。
  • すべてのアクセスで許可: 永続的な許可。
  • 許可しない: 永続的なブロック。
  • [x] ボタンをクリック: 一時的なブロック。

ユーザーが [今回のみ許可] を選択すると、付与される権限は一時的なものとなり、「1 回だけのアクセス許可」とも呼ばれます。期間は、ウェブ アプリケーションとの現在の進行中のやり取りに限定されます。

1 回限りの権限は、他の権限と同様に、[サイトのコントロール] または [サイトの設定] で管理できます。

「今回のみ許可」のユーザーのメリットと UX デザイン

[今回のみ許可] を選択すると、ユーザーは次の操作を行えます。

  • 制御の強化。Chrome のユーザー調査によると、ユーザーはウェブサイトの権限について永続的な決定を下す準備ができていないことが多く、権限を付与する見返りとして価値が得られるかどうかを評価しようとしています。1 回限りの [許可] オプションを提供することで、このニーズに対応し、アクセスを許可するリスクを軽減できます。
  • 説明の明確化。[今回のみ許可] と [すべてのアクセスで許可] のオプションを明示的にすることで、一方のオプションは一時的で、もう一方のオプションは永続的であることが明確になります。

他のブラウザでの 1 回だけのアクセス許可

ウェブでは、Safari や Firefox など、多くのブラウザで 1 回限りの権限がサポートされています。デバイスでの動作を確認するには、https://permission.site/one-time をお試しください。位置情報、カメラ、マイクの権限は、特定の動作をする可能性があるため、必ず試してください。

次に例を示します。

  • パソコン版 Safari 16 では、位置情報の取得はデフォルトで 1 回のみ(次のナビゲーションまで)となります。ユーザーは、チェックボックスを使用して、24 時間アクセスを保持するようにオプトインできます。
  • デスクトップ版 Firefox 115 では、位置情報、カメラ、マイクのアクセス許可はデフォルトで 1 回限りになります。ユーザーはチェックボックスを使用して、永続的なアクセスを有効にできます。

影響と推奨事項

1 回だけのアクセス許可の影響:

  • 1 回限りの権限の導入は、ユーザーが以前に永続的に付与した権限には影響しません。
  • ユーザーが権限プロンプトで決定を行うと、そのユーザーのサイト訪問中は、権限の状態が許可または拒否のいずれかになります。1 回だけのアクセス許可は、この点では違いはありません。
  • ただし、[今回のみ許可] を選択した場合は、次回アクセスしたときに権限のプロンプトが再び表示されます。

1 回限りの権限に対応するため、サイト所有者は次のことを行うことをおすすめします。

  • 実装が権限に関するベスト プラクティスに沿っていることを確認します。ベスト プラクティスを確認します。
  • 1 回限りの権限がいつ期限切れになるかを確認します。詳しくは、1 回限りの権限の有効期限をご覧ください。
  • 1 回限りの権限に対する Permissions API の動作と、有効期限を監視する方法を理解する。詳細は、Permissions API をご覧ください。

ベスト プラクティス

[この時間のみ許可] を選択すると、ユーザーが機能を試すために権限を付与する可能性は高まりますが、永続的なアクセス権を付与する意欲は低下する可能性があります。そのため、ベスト プラクティスに従うことがさらに重要になります。

  • 権限をリクエストする前に、必要なコンテキストを提供します。ユーザーがその機能を利用するメリットを説明します。
  • 適切なタイミングで権限をリクエストします。理想的には、ユーザーが特定の機能を使用する意向を自分のペースで表明できるようにします。
  • ユーザーが一時的なオプションと永続的なオプションのどちらを選択したかにかかわらず、ユーザーのサイト訪問中は同じエクスペリエンスを提供します。

権限の UX でその他のガイダンスを確認してください。

1 回だけのアクセス許可の有効期限

デフォルトでは、すべてのウェブ権限はオリジンにバインドされます。これは、独自のアプリと考えることができます。[今回のみ許可] を選択すると、ユーザーはオリジンに 1 回だけのアクセス許可 を付与します。基本的に、ユーザーがしばらくの間オリジンを操作しなくなると、1 回限りの権限は期限切れになります。つまり、ユーザーが別のタブで別のウェブページに一時的に切り替えてから戻ってきた場合、サイトは引き続きこの機能を使用できます。

詳しくは、次のいずれかの条件が満たされると、1 回だけのアクセス許可は期限切れになります。

  • ページが閉じられたか、別のページに移動したか、破棄された。これには Chrome を閉じることも含まれます。
  • 権限を付与してから 16 時間が経過した。
  • ユーザーが手動で権限を取り消す(サイトの制御など)、または企業ポリシーによって権限がオーバーライドされる。
  • ページが 5 分以上バックグラウンドになっている(カメラやマイクなど、バックグラウンドでの実行が許可されている機能を除く)。この場合、サイトがこの機能を使用している間は、Chrome にタブバー インジケーターが表示され、ページがこの機能の使用を停止するまで 5 分間のタイマーは開始されません。16 時間のタイマーは引き続き実行されています。

[背景] タブ

ブラウザタブがフォアグラウンドにない場合、そのタブはバックグラウンドにあります。タブがフォアグラウンドにあるとは、最小化されていないブラウザ ウィンドウで表示されているタブのことです。

Chrome では、位置情報などの一部の機能はフォアグラウンド タブでのみ実行できます。バックグラウンド タブでの実行は許可されていません。カメラやマイクなどの他の機能は、バックグラウンド タブでの実行が許可されています。

ブラウザ ウィンドウのスクリーンショット。アクティブなフォアグラウンド タブと非アクティブなバックグラウンド タブがハイライト表示されています。

タブバー インジケーター

タブがバックグラウンドにあるときに実行され続ける機能には、タブバーのインジケーターが表示されます。たとえば、カメラにはタブバー インジケーターがあります。

赤いドットが付いたタブ。
カメラへのアクセスを示すタブ インジケーターは赤い点です。

ページがバックグラウンドになるとすぐに位置情報へのアクセスが一時停止されるため、位置情報にはタブバー インジケーターは必要ありません。

  • 位置情報: ユーザーが example.com を使用しており、位置情報への 1 回限りのアクセスを許可しています。ユーザーが別のタブに切り替えます。これにより、example.com がバックグラウンド タブになります。Chrome ではバックグラウンドでの位置情報へのアクセスが許可されていないため、位置情報へのアクセスはすぐに一時停止されますが、1 回だけのアクセス許可は引き続き有効です。ユーザーが 5 分以内に example.com に戻ると、ページは位置情報へのアクセスを再開できます(5 分の有効期限タイマーはリセットされます)。許可しない場合、1 回だけのアクセス許可は期限切れになります。
  • カメラ/マイク: ユーザーが example.com を使用しており、カメラへの 1 回限りのアクセスを許可しています。ユーザーが別のタブに切り替えます。これにより、example.com がバックグラウンド タブになります。Chrome ではバックグラウンドでのカメラへのアクセスが許可されているため、カメラへのアクセスは継続されます。Chrome は、カメラが使用されている間、タブバーのインジケーターを表示し続け、ユーザーに通知します。サイトがカメラへのアクセスを停止すると、5 分の有効期限タイマーが開始されます。カメラへのアクセスが 5 分間ないと、1 回だけのアクセス許可は期限切れになります。

Permissions API

API 権限のステータスをクエリするには、Permissions API を使用します。

  • ユーザーが [今回のみ許可] を選択すると、Permission API のステータスは granted に設定されます。つまり、期限切れでない 1 回だけのアクセス許可と永続的な権限は区別できず、同じステータス(granted)になります。
  • 1 回だけのアクセス許可の有効期限が切れると、ステータスは prompt に戻ります。
  • 1 回だけのアクセス許可の有効期限を監視するには、PermissionStatus.onchange イベント ハンドラを登録します。

デモ

  1. デスクトップ パソコンで Chrome 116 以降を開きます。
  2. chrome://flags/#one-time-permission を開き、[有効にする] を選択します。Chrome を再起動します。この手順では、Chrome ブラウザでまだ展開されていない場合に、1 回だけのアクセス許可を強制的に有効化します。
  3. https://permission.site/one-time を開きます。
  4. [Geolocation] ボタンをクリックします。
  5. 新しい 1 回だけのアクセス許可のプロンプトが表示されます。
  6. [今回のみ許可] を選択します。
  7. [サイトのコントロール] を開きます。1 回だけのアクセス許可を管理できることを確認します。
  8. https://permission.site/one-time のタブを閉じます。そのオリジンの他のタブが開いていないことを確認します。
  9. 新しいタブで https://permission.site/one-time を開きます。
  10. [サイトのコントロール] を開きます。[サイトの設定] に移動します。
  11. 位置情報権限が初期状態の [確認(デフォルト)] に戻っていることを確認します。

結論とフィードバック

1 回限りのアクセス許可により、ユーザーはより多くの選択肢を得られます。また、Chrome の新しいアクセス許可 UI により、ブラウザやプラットフォーム全体でアクセス許可に関するユーザー エクスペリエンスの一貫性が向上します。

1 回限りの権限で問題が発生した場合は、権限プロンプトに関する新しい crbug の問題を報告してください。

謝辞

この記事のレビューにご協力いただいた Rachel Andrew、Serena Chen、Balazs Engedy、Marian Harbach、Florian Jacky、Thomas Steiner に感謝いたします。