Chrome 118 Beta

Estilos com escopo para CSS, outros recursos de mídia, contêineres de rolagem com foco no teclado e muito mais.

Salvo indicação em contrário, as mudanças descritas se aplicam à versão mais recente do Canal Beta do Chrome para Android, ChromeOS, Linux, macOS e Windows. Saiba mais sobre os recursos listados aqui nos links fornecidos ou na lista em ChromeStatus.com. O Chrome 118 está na versão Beta desde 13 de setembro de 2023. Faça o download da versão mais recente em Google.com para computador ou na Google Play Store no Android.

CSS

Nesta versão, adicionamos quatro novos recursos CSS.

Estilos com escopo

Com a regra @scope, os desenvolvedores podem selecionar regras de estilo para uma determinada raiz de escopo e definir o estilo dos elementos de acordo com a proximidade dessa raiz.

Valores relativos de fluxo lógico de CSS

Adiciona os seguintes novos valores às propriedades CSS existentes:

  • float: inline-start
  • float: inline-end
  • clear: inline-start
  • clear: inline-end
  • resize: block
  • resize: inline

Essas palavras-chave direcionais relativas ao fluxo resultam em um valor físico, dependendo do modo de escrita ou direção do elemento ou do bloco que o contém.

Consultas de mídia: recurso "prefere-reduzir-transparência"

Adicionamos o recurso de mídia prefers-reduced-transparency, que permite que os desenvolvedores adaptem o conteúdo da Web às preferências selecionadas pelo usuário para reduzir a transparência no SO, como a configuração Reduzir transparência no macOS. As opções válidas são reduce ou no-preference.

Suporte a stroke-box, content-box e borda-box na propriedade CSS transform-box

Adicionar esse suporte permite mudar a forma como a caixa de referência da propriedade transform é calculada. Isso permite transformações adicionais ou efeitos gráficos. Por exemplo, rotação em torno de um ponto na caixa de conteúdo, em que a largura da borda de um elemento não influencia o resultado. Ou onde o traço de um elemento (SVG) precisa influenciar o resultado, por exemplo, ao girar uma forma traçada em torno de seu centro, incluindo o traço.

HTML

Contêineres de rolagem com foco no teclado

Melhora a acessibilidade tornando os contêineres de rolagem focalizáveis usando a navegação de foco sequencial. Antes dessa mudança, a tecla Tab não focava os controles de rolagem, a menos que tabIndex seja definido explicitamente como 0 ou mais. Ao tornar os controles de rolagem focalizáveis por padrão, os usuários que não podem (ou não querem) usar um mouse poderão acessar o conteúdo recortado usando as teclas Tab e de seta do teclado. Esse comportamento não se aplica a controles de rolagem que contêm elementos focalizáveis pelo teclado, porque eles já podem ser acessados pelo teclado.

Remover o comportamento do modo quirks para o atributo de marcador de opção

Os elementos de opção são compatíveis com um atributo label, que faz com que a opção seja renderizada com o texto dentro do atributo em vez do texto filho do próprio elemento de opção. Essa funcionalidade é desativada no modo quirks, em que o atributo do rótulo é ignorado e o texto filho é sempre renderizado. Essa mudança sempre vai usar o atributo de rótulo no modo padrão e no modo quirks.

APIs Web

Inscrição no Sandbox de privacidade (PSB)

À medida que as APIs de relevância e medição do Sandbox de privacidade começam a ser lançadas para disponibilidade geral, queremos garantir que essas tecnologias sejam usadas conforme o esperado e com transparência. As APIs incluem Attribution Reporting, API Protected Audience, API Topics, API Private Aggregate e API Shared Storage. O PSB está lançando um novo processo de inscrição de desenvolvedores para as APIs de relevância e medição do Sandbox de privacidade. O Chrome vai buscar a lista de sites registrados no servidor de registro (usando o atualizador de componentes) e a usará para limitar o acesso às APIs do Sandbox de privacidade.

Bloquear todos os cookies definidos em JavaScript que contenham caracteres de controle

Atualiza o tratamento dos caracteres de controle em cookies definidos por JavaScript. Especificamente, todos os caracteres de controle fazem com que todo o cookie seja rejeitado. Antes, um caractere NULL, um caractere de retorno de carro ou um caractere de feed de linha em uma linha de cookie fazia com que ela fosse truncada em vez de rejeitada totalmente, o que poderia ter ativado um comportamento malicioso em determinadas circunstâncias. Esse comportamento alinha o Chrome ao comportamento indicado pelos rascunhos mais recentes de RFC6265bis. Essa mudança pode ser desativada usando a política corporativa --disable-features=BlockTruncatedCookies ou BlockTruncatedCookies, que existirá por vários marcos, caso essa mudança cause alguma falha.

Tamanho mínimo e consistente da fonte em todos os idiomas

Alteramos a configuração padrão para que o Tamanho mínimo da fonte fique desativado por padrão em sete idiomas (árabe, farsi, japonês, coreano, tailandês, chinês simplificado e chinês tradicional) para melhorar a interoperabilidade e a acessibilidade. Antes dessa mudança, essa configuração ficava desativada por padrão em todos os idiomas, exceto nos sete listados. Essa alteração torna esses idiomas consistentes com os outros. Não se trata de alterar o recurso de tamanho mínimo da fonte em si. Ele vai estar disponível sem mudanças de acessibilidade e legibilidade.

Detectar transições do UA em navegações no mesmo documento

Transições visuais suaves à medida que os usuários navegam na Web podem reduzir a carga cognitiva ajudando os usuários a permanecer no contexto. No entanto, a experiência do usuário será ruim se o autor do site e o UA adicionarem essas transições: as transições podem entrar em conflito e causar confusão para o usuário. Essa API evita esses casos para garantir que apenas uma transição visual seja executada por vez. A API adiciona um booleano em PopStateEvent e NavigateEvent para indicar se o UA executou uma transição visual para essa navegação. Os desenvolvedores podem usar isso para pular a transição personalizada.

O analisador de URL não decodifica os caracteres ASCII de codificação percentual no caminho do URL

Essa alteração faz com que o analisador de URLs não decodifique caracteres ASCII codificados por porcentagem no caminho do URL, como "%41" ("A"). Antes dessa mudança:

const url = new URL("http://example.com/%41");
url.href "http://example.com/A" 

Depois dessa mudança:

const url = new URL("http://example.com/%41"); 
url.href "http://example.com/%41"

Segmentação negativa da API Protected Audience

Em leilões de anúncios on-line para espaços publicitários, às vezes é útil impedir a exibição de um anúncio para determinados públicos-alvo, um conceito conhecido como segmentação negativa. Por exemplo, não convém mostrar um anúncio para um novo cliente para clientes atuais. Esse é um requisito essencial das campanhas de aquisição de novos clientes. Atualmente, a API Protected Audience permite que os anúncios segmentem usuários que participaram de um determinado grupo de interesse devido a atividades anteriores na Web. Esse recurso amplia a API Protected Audience para ativar a segmentação negativa, permitindo que novos anúncios segmentem apenas usuários que não fazem parte de um determinado grupo de interesse. Dessa forma, permitimos que os anunciantes segmentem novos grupos de usuários usando os conceitos atuais de preservação da privacidade da API Protected Audience.

Remover requisito de ativação do usuário para pagamentos

Para ajudar os desenvolvedores a reduzir o atrito nos fluxos de solicitação de pagamento, estamos removendo o requisito de ativação do usuário nas solicitações de pagamento e na confirmação de pagamento segura. Mitigações de spam e clickjacking são implementadas para reduzir os riscos de segurança e privacidade com essa mudança.

WebUSB em service workers de extensão

Permite que os desenvolvedores Web usem a API WebUSB (link em inglês) ao responder a eventos de extensão, expondo a API WebUSB a service workers registrados por extensões do navegador. No momento, esta API não está exposta para service workers registrados por sites.

Documentos XML mesclam seções CDATA consecutivas em um único nó

Devido a um bug no libxml, seções CDATA em um documento HTML muitas vezes podem produzir vários nós de maneira incorreta, dependendo do tamanho do documento e da posição da seção CDATA no documento. Quando uma única seção CDATA abrange vários blocos do analisador de entrada, o libxml armazena em buffer e emite a entrada CDATA em execuções de 300 bytes. Isso transforma inesperadamente uma única seção CDATA em vários nós (se o comprimento do bloco de entrada for maior que 300 bytes). Essa mudança faz com que os nós de seção CDATA irmãos sejam mesclados em uma única seção CDATA durante a análise. Isso corrige o bug do libxml durante a análise, mas também mescla nós separados criados, por exemplo: <![CDATA[foo]]><!CDATA[bar]]> produz um único nó DOM de CDATA com conteúdo "foobar": CDATA "foobar".

Alterar a condição da caixa de diálogo do gerenciador beforeunload

Há duas novas mudanças na forma como a caixa de diálogo de cancelamento é solicitada para o evento beforeunload.

Se event.preventDefault() for chamado, a caixa de diálogo de cancelamento será exibida. Se event.returnValue for uma string vazia, não exiba a caixa de diálogo de cancelamento.

Testes de origem em andamento

No Chrome 118, é possível ativar o novo teste de origem a seguir.

Transformação codificada pelo WebRTC: modificar funções de metadados

Adiciona recursos à API WebRTC Encoded Transform que permitem a manipulação de metadados de frames de áudio e vídeo. Vários casos de uso foram identificados e exigem a manipulação de mídia codificada em WebRTC sem decodificação. São eles:

  • Enviar dados que foram codificados anteriormente.
  • Envio de dados que foram recebidos em formato codificado.
  • Receber e encaminhar dados em formato codificado.

Em particular, queremos oferecer suporte ao caso de uso de encaminhamento sem falhas de mídia proveniente de várias conexões de peering redundantes que fornecem os mesmos payloads de mídia, mas com metadados diferentes.

Inscreva-se no teste de origem RTCEncodedFrameSetMetadata.

Descontinuações e remoções

Esta versão do Chrome apresenta as descontinuações e remoções listadas abaixo. Acesse ChromeStatus.com para conferir listas de descontinuações planejadas, descontinuações atuais e remoções anteriores.

Esta versão do Chrome remove o seguinte recurso.

Remoção de algumas palavras-chave com aparência fora do padrão

No Chrome 118, as palavras-chave não padrão do appearance com o menor uso serão desativadas. Depois que o recurso for desativado, a propriedade de aparência será ignorada se usar essa palavra-chave como valor. As palavras-chave desativadas no Chrome 118 são aquelas com menos de 0,001% de uso:

  • media-slider
  • media-sliderthumb
  • media-volume-slider
  • media-volume-sliderthumb
  • sliderthumb-horizontal
  • sliderthumb-vertical

Contexto

Como apenas as palavras-chave appearance padrão devem ser compatíveis, estamos removendo as palavras-chave appearance (e -webkit-appearance) que não são padrão. Confira a lista completa:

  • inner-spin-button
  • media-slider
  • media-sliderthumb
  • media-volume-slider
  • media-volume-sliderthumb
  • push-button
  • searchfield-cancel-button
  • slider-horizontal
  • sliderthumb-horizontal
  • sliderthumb-vertical
  • square-button

O valor slider-vertical não vai ser removido como parte é usado para permitir a indústria <input type=range>. Será removido quando o modo de escrita vertical dos controles de formulário for totalmente adotado.

Antes de ser desativada, se você usar qualquer uma das palavras-chave acima, um aviso do console será exibido, mas a palavra-chave será reconhecida como um valor válido.