Resumo dos principais pontos da API Popover
Introdução à API Popover
- A API Popover oferece aos desenvolvedores um mecanismo padronizado, consistente e flexível para exibir conteúdo de popover sobre o conteúdo da página
- O conteúdo do popover pode ser controlado de forma declarativa usando atributos HTML ou por meio de JavaScript
Características e formas de uso do Popover
- O popover se divide em dois modos, Modal e Non-modal, e os popovers criados com a API Popover são sempre Non-modal
- Modal significa que o restante da página é renderizado de forma não interativa enquanto o popover está visível
- Non-modal significa que é possível interagir com o restante da página enquanto o popover está visível
- Casos de uso comuns para popovers incluem menus de ação, notificações "toast" personalizadas, sugestões em elementos de formulário, seletores de conteúdo ou interfaces educacionais
- Os popovers podem ser criados declarativamente por meio de atributos HTML ou pela API JavaScript
Atributos HTML relacionados à API Popover
popover: atributo global que transforma um elemento em um elemento popover
popovertarget: transforma um elemento <button> ou <input> em um botão de controle do popover
popovertargetaction: especifica a ação a ser executada no elemento popover controlado pelo <button> ou <input> de controle
Recursos de CSS relacionados à API Popover
::backdrop: elemento de tela cheia posicionado imediatamente atrás do elemento popover, permitindo, se desejado, adicionar efeitos ao conteúdo da página atrás do popover
:popover-open: pseudoclasse que corresponde apenas quando o elemento popover está visível, podendo ser usada para definir estilos quando o popover é exibido
Interfaces e extensões relacionadas à API Popover
ToggleEvent: representa um evento que notifica o usuário quando o estado do elemento popover alterna entre visível e oculto
- Foram adicionadas propriedades de instância como
HTMLElement.popover, HTMLButtonElement.popoverTargetElement, HTMLInputElement.popoverTargetElement, HTMLButtonElement.popoverTargetAction, HTMLInputElement.popoverTargetAction etc.
- Foram adicionados métodos de instância como
HTMLElement.hidePopover(), HTMLElement.showPopover(), HTMLElement.togglePopover() etc.
- Foram adicionados os eventos
beforetoggle e toggle
Opinião do GN⁺
- A API Popover é relevante por oferecer aos desenvolvedores web uma forma padronizada de implementar interfaces de popover com facilidade. Antes, era necessário usar bibliotecas ou implementar isso manualmente
- No entanto, é preciso considerar que a API Popover ainda é um recurso experimental e que o suporte dos navegadores é limitado. Para uso em produção, pode ser necessário avaliar o uso em conjunto com polyfills ou bibliotecas existentes
- Bibliotecas que oferecem funcionalidades semelhantes incluem o componente Popover do Bootstrap e o Tippy.js
- Ao usar a API Popover, também é importante considerar a acessibilidade. O popover deve poder ser controlado por teclado, e textos alternativos também devem ser fornecidos para usuários de leitores de tela
1 comentários
Comentários do Hacker News
Em resumo, é o seguinte.
<dialog>.<dialog>se você quiser tornar um Popover modal, mas em casos como desfocar o fundo, faz sentido que o popover seja modal. Será que<popover modal=true>não seria uma abordagem melhor?