Pessoal,
O Live Announcer é uma boa e funcionou bem aqui no meu exercício, mas como eu conseguiria fazer o leitor enxergar e ler o conteúdo dessa section sem programar nada na classe:
{{ livrosResultado.totalItems }} resultados encontradosObrigado
Pessoal,
O Live Announcer é uma boa e funcionou bem aqui no meu exercício, mas como eu conseguiria fazer o leitor enxergar e ler o conteúdo dessa section sem programar nada na classe:
{{ livrosResultado.totalItems }} resultados encontradosObrigado
Olá, Eduardo.
Tudo bem?
Os leitores de tela, como NVDA ou JAWS, conseguem ler o conteúdo HTML de forma automática, sem a necessidade de programação adicional. No seu caso, o atributo aria-label
já está sendo usado para descrever o conteúdo da seção, o que é uma boa prática de acessibilidade.
Agora, se o leitor de tela não estiver lendo o conteúdo da seção, pode ser que ele não esteja sendo atualizado corretamente quando os resultados da busca são alterados. Isso pode acontecer se a atualização do conteúdo não estiver sendo detectada pelo Angular.
Uma maneira de resolver isso seria usando o método markForCheck()
do ChangeDetectorRef
. Esse método informa ao Angular que o conteúdo foi alterado e que ele precisa ser verificado na próxima rodada de detecção de mudanças. Aqui está um exemplo de como você poderia usar isso:
import { ChangeDetectorRef } from '@angular/core';
constructor(private cd: ChangeDetectorRef) { }
searchBooks() {
// código da busca de livros
this.cd.markForCheck();
}
No exemplo acima, markForCheck()
é chamado após a busca de livros, garantindo que o Angular verifique a seção de resultados na próxima detecção de mudanças.
Lembre-se que essa é apenas uma sugestão e pode não resolver completamente o seu problema. Teste e veja se funciona no seu caso.
Espero ter ajudado e bons estudos!