Princípio central do desenvolvimento web: o princípio do menor poder
- Um dos princípios centrais do desenvolvimento web, o 'princípio do menor poder', significa escolher a linguagem de nível mais baixo adequada ao objetivo proposto.
- Entre HTML, CSS e JS, o HTML é o mais preferido, seguido por CSS, e por último JS.
- O JS é o mais versátil, mas traz riscos como falha no carregamento, consumo adicional de recursos e problemas de acessibilidade.
Switch personalizado
- Quando for necessário implementar um switch personalizado no lugar de uma checkbox comum por exigências de design, é possível fazê-lo com HTML e CSS usando a pseudoclasse
:checked, em vez de JS.
- O navegador conecta automaticamente os elementos de entrada dentro de um rótulo e os torna clicáveis, oferecendo a funcionalidade de alternância sem handlers adicionais em JS.
Recurso nativo de preenchimento automático: Datalist
- Em vez de JavaScript, é possível implementar um recurso que filtra e mostra automaticamente as opções conforme o usuário digita usando o
datalist, uma funcionalidade nativa do navegador.
- O usuário pode inserir o valor que quiser ou clicar no ícone de dropdown adicionado pelo navegador para ver todas as opções.
Seletor de cores nativo
- Em vez de um seletor de cores complexo feito com JS, pode-se usar um seletor de cores nativo implementado com uma única linha de HTML.
- Em navegadores baseados em Chrome, há um recurso adicional que permite selecionar cores de qualquer lugar da tela.
Acordeão
- Usando os elementos
details e summary, é possível ocultar o conteúdo até que o usuário precise dele e melhorar a estrutura da página.
- Com o atributo
open, é possível deixar um dos itens do acordeão aberto por padrão.
Modal interativo
- Com o elemento
dialog, é possível implementar um modal para informar o usuário ou solicitar entrada.
- O modal é aberto com JS, mas todo o restante pode ser tratado com HTML e CSS nativos.
Conclusão
- Este artigo mostra que é possível usar menos JS e criar sites melhores aproveitando os recursos do CSS e do HTML.
- É importante testar novas formas de implementação considerando a acessibilidade.
Opinião do GN⁺
- O ponto mais importante deste texto é que, no desenvolvimento web, é possível melhorar desempenho e acessibilidade sem depender de JS, aproveitando ao máximo os recursos do HTML e do CSS.
- O motivo de isso ser interessante para desenvolvedores web é que o texto apresenta novas formas de implementar, de maneira mais simples e eficiente, recursos que antes se pensava serem possíveis apenas com JS.
1 comentários
Comentários no Hacker News
Foi apontado que faltou mencionar que o JavaScript tem melhor compatibilidade, o que justifica seu uso em certas áreas
appearance, o MDN traz muitos avisos, e recomenda testes rigorosos especialmente para o uso deappearance: nonedatalistnão funciona no Firefox Android e aparece apenas como uma caixa de entrada simplesdetailsedialogFoi expressa surpresa pelo fato de, ainda em 2023, continuarmos tendo problemas gerais de experiência do usuário (UX) com formulários e entrada de dados do usuário
Não conhecia
datalist, mas aparentemente ele não funciona direito no Chrome AndroidFoi mencionada a rolagem suave nativa com
scroll-behavior: smooth, carrosséis nativos comscroll-snape animações baseadas em rolagemUsar
<details>tem a vantagem de permitir buscar o conteúdo com Ctrl+F, enquanto acordeões em JavaScript não podem ser abertos dessa forma, mas<details>podeOpinião de que
datalistnão é uma escolha adequada, a menos que seja para ferramentas internasOpinião de que, ao seguir o padrão HTML, tudo fica consistente e pode ser aplicado facilmente a coisas como acessibilidade ou tradução
Foi apontado que CSS pode ser usado como ferramenta para tornar páginas web difíceis de ler
Foi mencionado um dos princípios centrais do desenvolvimento web, a "Regra do Menor Poder (Rule of Least Power)"