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

Maud Nalpas
Maud Nalpas

Chrome 116 以降、権限プロンプトに [この回だけ許可] オプションが段階的に追加されます。Google は、ユーザーが強力なウェブ機能を自分の条件で簡単に使用できるようにすることを目指しています。[今回は許可] は、最初はデスクトップで、位置情報、カメラ、マイクなど、最も一般的な権限に対して使用できます。他の機能やモバイルウェブでの権限プロンプトは現時点では変更されていませんが、今後変更される可能性があります。

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

権限の新しい UX

Chrome 116 より前の権限の UX

ブロックと許可のみが表示される権限プロンプト。
Chrome 116 より前の権限プロンプト。

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

  • 許可: 永続的に許可します。
  • ブロック: 永続的なブロック。
  • [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 回限りのオプションと永続的なオプションのどちらを選択したかにかかわらず、ユーザーの訪問中は同じエクスペリエンスを提供します。

権限の UX でその他のガイダンスを確認します。

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. [位置情報] ボタンをクリックします。
  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 様に感謝いたします。