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

A regra @scope permite que os desenvolvedores definam o escopo das regras de estilo para uma determinada raiz do escopo e estilizem os elementos de acordo com a proximidade dessa raiz.

Valores lógicos de fluxo relativo de CSS

Adiciona os novos valores a seguir a propriedades CSS existentes:

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

Essas palavras-chave direcionais relativas a fluxo são resolvidas com um valor físico, dependendo do modo de escrita ou da direção do elemento ou do bloco que o contém.

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

Foi adicionado o recurso de mídia prefers-reduced-transparency, que permite aos desenvolvedores adaptar o conteúdo da Web às preferências selecionadas pelo usuário para transparência reduzida 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 ou efeitos gráficos adicionais. Por exemplo, a 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) deve 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 foca 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 do teclado, já que eles já podem ser acessados pelo teclado.

Remoção do comportamento do modo quirks para o atributo de rótulo 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 rótulo é ignorado e o texto filho é sempre renderizado. Essa mudança sempre vai usar o atributo 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á apresentando um novo processo de inscrição de desenvolvedores para 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 por meio do JavaScript que contêm caracteres de controle

Atualiza o tratamento dos caracteres de controle nos 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 ele fosse truncado em vez de rejeitado, o que poderia ter ativado um comportamento malicioso em determinadas circunstâncias. Esse comportamento alinha o Chrome ao comportamento indicado pelos rascunhos mais recentes do RFC6265bis. Essa mudança pode ser desativada usando a política corporativa --disable-features=BlockTruncatedCookies ou BlockTruncatedCookies, que existirão por vários marcos caso essa mudança cause alguma falha.

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

Muda a configuração padrão de Tamanho mínimo da fonte para sete idiomas (árabe, farsi, japonês, coreano, tailandês, chinês simplificado e tradicional) por padrão para melhorar a interoperabilidade e a acessibilidade. Antes dessa mudança, essa configuração ficava desativada por padrão para todos os idiomas, exceto os sete listados. Essa mudança torna essas linguagens consistentes com outras. Observe que não se trata de alterar o recurso de tamanho mínimo da fonte. Ele vai ficar disponível sem mudanças na acessibilidade e na 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 se manterem 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 esse recurso para pular a transição personalizada.

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

Essa mudança faz com que o analisador de URL não decodifique os 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" 

Após essa mudança:

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

Segmentação negativa de públicos-alvo protegidos

Em leilões de anúncios on-line para espaços publicitários, às vezes é útil evitar a exibição de um anúncio para determinados públicos-alvo. Esse é um conceito conhecido como segmentação negativa. Por exemplo, talvez você não queira exibir um anúncio para novos clientes para os clientes atuais. Na maioria das vezes, isso é um requisito essencial nas campanhas de aquisição de novos clientes. No momento, a API Protected Audience permite que os anúncios segmentem usuários que participaram de um determinado grupo de interesse por meio de atividades anteriores na Web. Esse recurso amplia a API Protected Audience para ativar a segmentação negativa, permitindo que os novos anúncios segmentem apenas os usuários que não participam de um determinado grupo de interesse. Dessa forma, os anunciantes podem segmentar novos grupos de usuários usando os conceitos atuais que preservam a 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, removemos o requisito de ativação do usuário na solicitação de pagamento e na confirmação de pagamento seguro. Mitigações de spam e clickjacking são implementadas para reduzir os riscos de segurança e privacidade com essa mudança.

WebUSB em workers de serviços de extensão

Permite que os desenvolvedores da Web usem a API WebUSB ao responder a eventos de extensão, expondo a API WebUSB aos service workers registrados por extensões do navegador. No momento, essa API não está exposta a Service Workers registrados por sites.

Os documentos XML mesclam seções outras consecutivas em um único nó

Devido a um bug na libxml, as seções CDATA em um documento HTML podem, às vezes, produzir de maneira incorreta vários nós, dependendo do tamanho do documento e da posição da seção Categories no documento. Quando uma única seção adb abrange vários blocos do analisador de entrada, o libxml armazena em buffer e emite a entrada de CDATA em execuções de 300 bytes. De maneira inesperada, isso transforma uma única seção CDATA em vários nós (se o comprimento do bloco de entrada for maior que 300 bytes). Essa alteração faz com que os nós da seção CDATA irmãos sejam mesclados em uma única seção Jinja durante a análise. Isso corrige o bug de libxml durante a análise, mas também mescla nós separados de autoria, por exemplo: <![CDATA[foo]]><!CDATA[bar]]> Produzirá um único nó gcr DOM 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, solicitar a caixa de diálogo de cancelamento. Se event.returnValue for uma string vazia, não exibir a caixa de diálogo de cancelamento.

Testes de origem em andamento

No Chrome 118, você pode ativar o novo teste de origem a seguir.

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

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

  • Enviar dados que foram codificados anteriormente.
  • Envio de dados que foram recebidos em formato codificado.
  • Recebimento de dados em formato codificado e encaminhamento.

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

Inscreva-se no teste de origem do RTCEnencodedFrameSetMetadata.

Descontinuações e remoções

Esta versão do Chrome apresenta as suspensões de uso e remoções listadas abaixo. Acesse ChromeStatus.com para consultar as listas de descontinuações planejadas, suspensõ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 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 um 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 são aceitas, 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

Observe que o valor slider-vertical não será removido como parte desse patch, ele é usado para permitir a indústria <input type=range>. Ele vai ser removido assim que o modo de gravação 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á mostrado, mas a palavra-chave será reconhecida como um valor válido.