"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Caixa de diálogo Popver API VS Modal: igual, mas diferente

Caixa de diálogo Popver API VS Modal: igual, mas diferente

Publicado em 2024-11-07
Navegar:534

Popver API VS dialog Modal : Same Same but Different

Eu estava lendo alguns blogs de notícias de tecnologia e me deparei com o título Popover API chega ao Baseline. Fiquei confuso, durante meu recente mergulho no desenvolvimento front-end, recentemente tive muita dificuldade em me acostumar a usar Elements em HTML. Ao ler o blog, fiquei constantemente confuso sobre como estava usando o elemento até agora.

DR

Escolha para:

  • Pop-ups modais que exigem foco do usuário
  • Acessibilidade e interação com o teclado

Escolha popover para:

  • Pop-ups não modais com dispensa leve
  • Implementação fácil com código mínimo

Elemento

De acordo com o MDN O elemento Dialog

O elemento HTML representa uma caixa de diálogo modal ou não modal ou outro componente interativo, como um alerta descartável, inspetor ou subjanela.

A geralmente é usado e exibido sobre o conteúdo quando o site precisa chamar a atenção do usuário para algo importante. ou seja, assinar um boletim informativo, solicitar (mais como forçar) a desativação do bloqueador de anúncios ou aceitar os termos e condições.

Elemento como Modal

Como você já deve ter visto várias vezes em vários sites, alguns desses pop-ups serão desenhados em toda a tela enquanto desfocam o plano de fundo ou desativam o plano de fundo e focam o usuário apenas na tarefa em questão, o usuário deve dispensar (somente se permitido) o pop-up ou insira as informações necessárias para que ele desapareça. Esse comportamento é chamado de 'elemento como modal'. Esses elementos modais são mostrados na camada superior da página.

//To open dialog as a modal.

dialog.showModal();

// To close the dialog.

dialog.close();
O elemento

quando mostrado usando o método showModal() pode ser descartado usando a tecla esc. Os usuários de teclado esperam tal comportamento que precisa ser mantido e é fornecido pelo navegador. Se vários diálogos modais estiverem abertos, apenas o último diálogo será fechado usando a tecla esc.

elemento como não modal

Talvez você nem sempre queira interromper o fluxo natural do usuário ao usar sua página da web, parar de fazer todo o resto e se concentrar no que deseja mostrar, mas ainda assim no seu conteúdo, como uma notificação do sistema, um consentimento de cookie ou uma dica geral informações. deve aparecer na camada superior da página, acima de qualquer outro conteúdo que possa ou não ser interagido pelo usuário. Esses tipos de pop-ups são chamados de pop-ups não modais. Os usuários podem dispensá-los manualmente ou em geral e desaparecerão por conta própria. Essas caixas de diálogo não modais ainda são mostradas na camada superior da página, mas sua prioridade pode ser controlada usando o índice z e o elemento modal terá um índice z maior que este e o tornará inacessível.

//To open dialog as a modal.

dialog.show();

// To close the dialog.

dialog.close();

Exemplo de código

Alguns problemas

Tive dificuldade em entender o funcionamento e o uso de elementos não modais. Na minha opinião, o elemento não modal se comportou de forma inconsistente e precisava de código Javascript para lidar com situações como:

  • Não há funcionalidade de dispensa leve. Clicar fora do modelo não fechará o .
  • A chave esc não descarta e precisa de Javascript para lidar com esse cenário.
  • precisa gerenciar o índice z manualmente se quiser desenhar a camada superior.

Para minha surpresa, a API popover respondeu ou corrigiu esses problemas e muito mais....

API popover

popover são atributos que podem ser adicionados a qualquer atributo HTML. Aqui está um exemplo.


Popover content

Principal diferença entre popover e elemento

A principal diferença entre os elementos popover e

é que o popover é sempre não modal. O elemento vem com um atributo role=dialog. Este atributo role é anexado a vários elementos HTML e se comporta de uma determinada maneira. ou seja, h1 tem uma função de título, a tem uma função de âncora/link. Essa função é usada para determinar e ajudar tecnologias assistivas, como leitores de tela, a determinar os elementos. No entanto, o popover é um atributo de um elemento HTML, pois não possui uma função padrão associada a ele. Isso ajuda o
no exemplo acima a ficar oculto até que o botão seja clicado.

O atributo popover pode ser usado com código mínimo e, embora possa ser controlado usando Javascript, não é necessário em todos os momentos como o

.

popover pode ter 2 características:
1.popover=auto: Possui funcionalidade para dispensa leve e não requer interação JS.
2.popover = manual: precisa de interação Javascript, como clicar em um botão ou cronômetro para fechá-lo explicitamente.

popover é sempre mostrado na camada superior, não há necessidade de definir o índice z explicitamente.

Exemplo de código:

Você pode ver que posso obter o mesmo comportamento quase sem código Javascript. Projetar e gerenciar vários popovers é muito mais fácil.

Algumas considerações de design

popover pode ter: cenário definido usando CSS que pode ser usado para desfocar ou esmaecer o fundo do popover, mas isso não elimina a funcionalidade de dispensa de luz dele, e ainda assim o usuário pode clicar fora se o popover criar e interagir com outros elementos da sua página web. Você deve ter muito cuidado ao determinar quando escolher popover em vez de

.

A principal coisa a considerar aqui é: o componente que está sendo exibido é a única coisa que deveria ter foco no momento? o usuário pode interagir com mais alguma coisa?

Conclusão

Concluindo, o elemento e a API popover oferecem opções versáteis para a criação de pop-ups interativos em seus aplicativos da web. Ao compreender suas características distintas e casos de uso, você pode tomar decisões informadas para aprimorar a experiência do usuário e agilizar seu processo de desenvolvimento.

Referências

  1. Comparando a API Popover e o elemento
  2. Diálogos e popovers parecem semelhantes. Como eles são diferentes?
  3. API Popover chega à linha de base

Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/decoders_lord/popver-api-vs-dialog-modal-same-same-but- Different-2ig7?1 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3