Com o lançamento gradual do Chrome 116, a opção Permitir desta vez será adicionada aos comandos de permissão. Nosso objetivo é facilitar o uso de recursos avançados da Web do jeito que elas quiserem. A opção Permitir esse tempo inicialmente estará disponível no computador para algumas das permissões mais comuns: geolocalização, câmera e microfone. As solicitações de permissão para outros recursos e na Web para dispositivos móveis não foram alteradas por enquanto, mas podem mudar no futuro.
Se você é proprietário de um site, analise Impacto e recomendações e teste a demonstração.
Uma nova UX para permissões
UX de permissões antes do Chrome 116
![Solicitação de permissão mostrando apenas "Bloquear" e "Permitir".](https://developer.chrome.com/static/blog/one-time-permissions/images/permission-prompt-showing-4cfa5caa7d33f.png?authuser=19&hl=pt)
Os usuários têm três opções:
- Allow: permissão persistente.
- Bloco: bloco persistente.
- Clicar no botão x: bloqueio temporário. O site pode enviar uma nova solicitação ao usuário, no máximo três vezes.
As permissões podem ser gerenciadas pelos Controles do site na barra de endereço ou pelas Configurações do site.
Nova UX de permissões do Chrome 116
![Solicitação de permissão com a nova opção de uso único.](https://developer.chrome.com/static/blog/one-time-permissions/images/permission-prompt-the-o-b78a728d235c9.png?authuser=19&hl=pt)
Os usuários têm quatro opções:
- Permitir desta vez: permissão temporária.
- Permitir em todos os acessos: permissão persistente.
- Não permitir: bloco persistente.
- Clicar no botão x: bloqueio temporário.
Quando o usuário seleciona Permitir desta vez, a permissão concedida é temporária, também chamada de permissão única. A duração dele é limitada à interação em andamento com um aplicativo da Web.
Benefícios para o usuário e design da UX de "Permitir desta vez"
Permitir desta vez oferece aos usuários:
- Maior controle. Uma pesquisa com usuários do Chrome mostrou que muitas vezes os usuários não estão prontos para tomar uma decisão persistente sobre permissões de sites, tentando avaliar se recebem valor em troca da concessão de permissões. Essa opção atende a essa necessidade e torna o acesso menos arriscado.
- Mais clareza. As opções explícitas Permitir desta vez e Permitir em todos os acessos deixam claro que uma delas é temporária, enquanto a outra é persistente.
Permissões únicas em outros navegadores
Na Web, as permissões de uso único são compatíveis com vários navegadores, incluindo Safari e Firefox. Para acessar como eles funcionam no seu dispositivo, faça um teste com https://permission.site/one-time. Teste as permissões de geolocalização, câmera e microfone, porque elas podem ter comportamentos específicos.
Exemplo:
- No Safari 16 para computadores, a geolocalização é uma única vez por padrão (até a próxima navegação). O usuário pode marcar uma caixa de seleção para optar por manter o acesso por 24 horas.
- No Firefox 115 para computador, as permissões de geolocalização, câmera e microfone são únicas por padrão. O usuário pode optar pelo acesso persistente por meio de uma caixa de seleção.
Impacto e recomendações
Impacto de permissões únicas:
- A introdução de permissões únicas não afeta as permissões que os usuários concederam anteriormente de forma persistente.
- Quando um usuário decide sobre uma solicitação de permissão, o estado da permissão é "concedido" ou "negado" durante a visita. As permissões únicas não fazem diferença nesse sentido.
- No entanto, se o usuário selecionar Permitir desta vez, ele vai receber uma solicitação de permissão novamente na próxima visita.
Para acomodar permissões únicas, recomendamos que os proprietários de sites façam o seguinte:
- Verifique se a implementação segue as práticas recomendadas sobre permissões. Consulte as Práticas recomendadas.
- Entenda quando as permissões únicas expiram. Saiba mais em Validade de permissões únicas.
- Entenda como a API Permissions se comporta para permissões únicas e como observar a expiração. Confira os detalhes na API Permissions.
Práticas recomendadas
Permitir esse tempo pode aumentar a probabilidade de as pessoas concederem permissões para testar recursos, mas também pode reduzir a disposição delas de conceder acesso permanente. Por isso, é ainda mais importante seguir as práticas recomendadas.
- Forneça o contexto necessário antes de solicitar permissões. Explique aos usuários por que eles se beneficiarão de um recurso.
- Solicita permissões em um momento apropriado e esperado. O ideal é permitir que os usuários expressem a intenção de usar um determinado recurso no próprio ritmo.
- Durante a visita do usuário, ofereça a mesma experiência, independentemente de o usuário ter selecionado a opção única ou persistente.
Consulte mais orientações em UX de permissão.
Expiração de permissões únicas
Por padrão, todas as permissões da Web estão vinculadas a uma origin, que pode ser considerada um app próprio. Com Permitir desta vez, o usuário concede uma permissão única a uma origem. Basicamente, as permissões únicas expiram quando o usuário para de interagir ativamente com essa origem por algum tempo. Isso significa que o site pode continuar a usar o recurso se o usuário mudar brevemente para outra página da Web em uma guia diferente, mas depois voltar.
Mais detalhes, concessões de permissão única expiram assim que qualquer uma das seguintes condições é atendida:
- A página foi fechada, saiu da página ou foi descartada. Isso inclui o fechamento do Chrome.
- Passaram-se 16 horas desde a concessão da permissão.
- O usuário revoga a permissão manualmente (por exemplo, nos Controles do site) ou ela é substituída por uma política corporativa.
- A página está em segundo plano por pelo menos cinco minutos, exceto se o recurso tiver permissão para ser executado em segundo plano, como uma câmera ou um microfone. Nesse caso, se o site usar o recurso, o Chrome mostrará um indicador de barra de guias e não iniciará o timer de cinco minutos até que a página pare de usar o recurso. Observe que o timer de 16 horas ainda está em execução.
Guia em segundo plano
Uma guia do navegador está em segundo plano quando não está em primeiro plano. Uma guia está em primeiro plano quando é visível em uma janela do navegador não minimizada.
No Chrome, alguns recursos, como a geolocalização, só podem ser executados na guia em primeiro plano. Eles não podem ser executados em uma guia em segundo plano. Outros, como câmera e microfone, podem ser executados em uma guia em segundo plano.
Indicador de barra de guias
Os recursos que continuam em execução quando a guia está em segundo plano têm um indicador de barra de guias. Por exemplo, a câmera tem um indicador de barra de guias.
![Uma guia com um ponto vermelho.](https://developer.chrome.com/static/blog/one-time-permissions/images/a-tab-a-red-dot-ffdcc0b012d03.jpg?authuser=19&hl=pt)
A geolocalização não precisa de um indicador de barra de guias, porque o acesso à geolocalização é pausado assim que a página fica em segundo plano.
Exemplos
- Geolocalização: o usuário está no
example.com
e concede acesso único à geolocalização. O usuário alterna para outra guia. Isso faz com queexample.com
seja uma guia em segundo plano. O acesso à geolocalização é pausado imediatamente porque o Chrome não permite acesso à geolocalização em segundo plano, mas a permissão única ainda é válida. Se o usuário voltar para aexample.com
em até cinco minutos, a página poderá retomar o acesso à geolocalização, e o timer de cinco minutos será redefinido. Caso contrário, a permissão única vai expirar. - Câmera/microfone: o usuário está no
example.com
e concede acesso único à câmera. O usuário alterna para outra guia. Isso faz com queexample.com
seja uma guia em segundo plano. O acesso à câmera pode continuar porque o Chrome permite que o acesso à câmera continue em segundo plano. O Chrome continua mostrando o indicador de barra de guias da câmera enquanto ela está em uso para manter o usuário informado. Em algum momento, o site pode decidir interromper o acesso à câmera. Nesse caso, o timer de expiração de cinco minutos é iniciado. A permissão única expira após cinco minutos sem acesso à câmera.
API Permissions
Para consultar o status das permissões da API, use a API Permissions:
- Se o usuário escolher Permitir desta vez, o status da API Permission será definido como
granted
. Isso significa que uma permissão única não expirada e uma permissão persistente são indistinguíveis e têm o mesmo status:granted
. - Quando a permissão única expirar, o status será definido novamente como
prompt
. - Para observar a expiração de uma permissão única, registre um manipulador de eventos
PermissionStatus.onchange
.
Demonstração
- Abra o Chrome 116 ou versão mais recente em um computador desktop.
- Abra
chrome://flags/#one-time-permission
e selecione Ativar. Reinicie o Chrome. Esta etapa força a ativação de permissões únicas caso elas ainda não tenham sido implementadas no navegador Chrome. - Abra https://permission.site/one-time.
- Clique no botão Geolocalização.
- Observe a nova solicitação de permissão única.
- Escolha Permitir desta vez.
- Abra os Controles do site. É possível gerenciar a permissão única.
- Feche a guia https://permission.site/one-time. Verifique se nenhuma outra guia para essa origem está aberta.
- Abra https://permission.site/one-time em uma nova guia.
- Abra os Controles do site. Acesse as Configurações do site.
- A permissão de geolocalização voltou ao estado inicial: Ask (default).
Conclusão e feedback
As permissões únicas oferecem mais opções aos usuários, e a nova interface de permissões do Chrome oferece uma experiência de permissão mais consistente em navegadores e plataformas.
Se você encontrar problemas com as permissões únicas, registre um novo problema do crbug para as solicitações de permissão.
Agradecimentos
Agradecemos a Rachel Andrew, Serena Chen, Balazs Engedy, Marian Harbach, Florian Jacky e Thomas Steiner pela revisão deste artigo.