Design comparison
Solution retrospective
đž Hello Front-End Mentor Community! I'm Daniel and this is my solution for this challenge! đ
đ ïž Built with:
- HTML đ§Ÿ
- SASS đš
- JavaScript đ€
- BEM Notation đ ±ïž
- Mobile first workflow approach đČ
This is definitely one of my favorite projects so far. It's is not a very hard project, but it's also not easy. Getting those multiple pages to work as they should was quite an obstacle but I managed to overcome it. My Javascript
code is not as neat as it could be, but I'm happy because everything is working very well. The final result was better than I expected đ
Again, thanks to the Front-End Mentor team that creates challenges that make us learn a lot from doing them. đ
If you have any suggestions on how I can improve this project, feel free to leave me a comment!
Feedback welcome đ
Community feedback
- @LucianoDLimaPosted 9 months ago
Muito bom meu amigo!
Aqui algumas dicas:
- Existe a tag
<dialog>
no html que serve justamente para fazer modals, assim nĂŁo precisaria ter feito do zero com javascript. Essa tag Ă© legal usar pois ela jĂĄ trata da parte de acessibilidade. Por exemplo, quando eu clico em Select reward, ao invĂ©s do modal ficar centralizado, ele fica na parte de cima da tela, e para fechar o modal somente clicando no X, porĂ©m com a tag <dialog>, ela automaticamente trata disso, onde o usuĂĄrio pode fechĂĄ-la apertando o ESC por exemplo. AlĂ©m disso vocĂȘ pode customizar bastante ela. Da uma olhadinha nesse vĂdeo do Kevin Powel, ele fala mais sobre essa tag - Outra coisa, sabe o botĂŁo hamburguer menu? Ă legal vocĂȘ aprender sobre o uso do atributo
aria-expanded
earia-control
, eles sĂŁo essenciais para garantir uma boa acessibilidade em botĂ”es como esse, que tem o estado "aberto" e "fechado" e muita pouca gente utiliza. A Grace tem um artigo perfeito que cobre isso, e Ă© mais simples do que parece. Segue o link do artigo - NĂŁo dĂȘ açÔes a elementos nĂŁo interagĂveis, como span e div por exemplo. No botĂŁo bookmark vocĂȘ estruturou assim:
<div> <img /> <span>Bookmark</span> </div>
Esse componente acima deveria ser um
<button>
, visto que vocĂȘ clica nele e ele faz uma ação. EntĂŁo o correto a se fazer seria da forma abaixo, onde oaria-hidden="true"
serve para esconder essa imagem de tecnologias de acessibilidade, como screen readers, visto que ela Ă© apenas decorativa<button> <img aria-hidden="true" /> <span>Bookmark</span> </button>
- O botĂŁo que estĂĄ desativado Ă© legal vocĂȘ adicionar o attribute disabled, entĂŁo
<button disabled />
, assim usuĂĄrios de tecnologias de acessibilidade vĂŁo conseguir saber que o botĂŁo estĂĄ desativado, visto que a Ășnica forma de saber atualmente Ă© tendo visĂŁo - Um bug referente aquilo que citei do modal. Se vocĂȘ clicar no botĂŁo hamburguer, e em seguida clicar em um dos botĂ”es que abre o modal, acaba se tornando impossĂvel de fechĂĄ-lo no mobile, pois o hamburguer menu vai ficar em cima do botĂŁo X do modal.
- Ainda sobre esse bug, algo que vocĂȘ pode fazer para ajudar Ă©, quando o usuĂĄrio clicar fora da caixa do hamburguer menu, ela automĂĄtica fecha
- Seria bacana vocĂȘ organizar mais a estrutura do cĂłdigo. Por exemplo, ao invĂ©s de deixar o css, scss, e js tudo na raiz da pĂĄgina, vocĂȘ deixa apenas o index.html lĂĄ. Ai vocĂȘ cria uma pasta chamada src, e dentro dela vocĂȘ cria uma para o js, e outra para o scss (com o css dentro tambĂ©m). E move a pasta componentes para dentro da do css. Normalmente nomeamos a do scss como style e a do javascript pode ser script. Para as imagens, vocĂȘ pode criar uma pasta chamada assets e colocar a pasta das imagens lĂĄ. E futuramente, quando vocĂȘ começar a deixar suas fontes direto no cĂłdigo ao invĂ©s de puxar do google, vocĂȘ pode colocĂĄ-las dentro do assets tambĂ©m.
Bom trabalho ai como sempre!
Marked as helpful3@danielmrz-devPosted 9 months ago@LucianoDLima
Caramba, teu comentĂĄrio foi certeiro. Justamente sobre coisas que eu ainda nĂŁo aprendi ou tenho enfrentado dificuldades pra fazer.
A tag
<dialog>
eu nunca nem tinha ouvido falar. Obrigado pela recomendação do vĂdeo đđœââïžSobre esse negĂłcio de fechar a caixa quando clica fora dela eu atĂ© quis fazer, mas ainda nĂŁo aprendi como.
Enfim, seu comentĂĄrio fui muito Ăștil, valeu mesmo đ
2 - Existe a tag
Please log in to post a comment
Log in with GitHubJoin our Discord community
Join thousands of Frontend Mentor community members taking the challenges, sharing resources, helping each other, and chatting about all things front-end!
Join our Discord