Huddle Landing Page with Curved Sections | HTML5 CSS3 Sass Mailgo
Design comparison
Solution retrospective
Hello Everyone! š
This challenge is really testing my CSS skill on using background
properties.
Now for the questions:
- Do you think using
h3
for theNewsletter
word inside footer is correct or should I usep
andstrong
tag instead? Or maybe other HTML tag? - I also tried to make all interactive elements to have a decent touchtarget by increasing the size of them. Do you think the UI still looking good?
- How good the transition between each breakpoint?
- If you try this using screen reader, does everything make sense?
If you find any issues or have any other comments, feel free to write them down!
Also, if you'd like me to give feedback on your solution, feel free to give me the link! I'll be happy to help you as well!
Thanks!
Community feedback
- @dwhensonPosted over 3 years ago
Hey @vanzasetia - really lovely job on this one š - you code is really well structured and a pleasure to read. If I was to make some very small suggestions, it would be to also add some comments in your CSS - perhaps separating out the blocks?
The only, debatable, error I could find is that the label in your email input form comes after the input itself. Ideally, it should come before it it - I think.
The other more clear issue, is that the error states disappear when the input looses focus. Even if the invalid value remains. If you don't want to use JS, I think this could be fixed by targeting the visibility of the div sibling of the input:invalid element using the
~
selector - but I've not tried this.With regard your questions:
-
I think a
h3
is better here. It makes it easier for people who navigate the page by headings to access that part of the page quickly. -
Personally, I think this is the best approach, it is more performant to inline svgs, and good to do this when possible.
-
I think it looks great - I love the outline styles.
-
" transition between each breakpoint?" Sorry, I'm not really sure what you mean here?
-
Not tried, but the use of aria labels throughout looks really good to me.
Some possible areas to think about for your next challenge - you could use custom properties in your css - this makes it much easier to change colours later on.
You could add some custom JS to the form input to validate the email address. The inbuilt validation is better than nothing but it is possible to build much nicer. This is a nice library that I have used sometimes: https://github.com/cferdinandi/bouncer
This was honestly one of the nicest projects I've looked at for ages. I love the focus on accessibility, using CSS over JS, and attention to detail. I'll be checking out your other work for ideas on how I can improve right now...
Cheers Dave
Marked as helpful1@vanzasetiaPosted over 3 years ago@dwhenson Thank you for all your feedbacks and kind words. It really makes my day š.
For the CSS Comments, I will try to add those block comments to separate each section. I already looked at your Planets Site - Eleventy, nunjunks, SCSS and ES6 modules solution and your CSS looks good and more structured with those block comments.
For the
label
, in this case it's much easier to style theform
this way. I already checked on MDN about label tag, there's no rules about label positioning. Can you explain why do you think it is an error? Also, if you have any articles about it, please let me know!I will try to fix the
:invalid
issue as soon as possible.What do I mean by transition between each breakpoint is simply, when the page start to hit the breakpoints, let say
1024px
, is there anything broken?I have tried CSS Custom Properties, but CSS Variables can't work together with Sass function, like
lighten()
ordarken()
. It has to be a Sass variables. That's why I only used Sass variables.That's it! Have a great day!
1@dwhensonPosted over 3 years ago@vanzasetia - I want to have another go at the planets site. I've improved things a bit already but not pushed up the solution - more work is needed though!
Regarding, the labels, I also liked putting them after, I was basing my comment on this article: https://css-tricks.com/html-inputs-and-labels-a-love-story/#best-practices-for-a-healthy-relationship
But I just tried your page with a screen reader and it seems fine so I'm not sure that's really correct. This a11y stuff is so hard!
Sorry, I hadn't thought you might be using SASS variables - I'm pretty new to SCSS and haven't used them much my self.
Cheers š
I forgot to add if you like the CSS comment/structure in the planets app it is based on this approach, which I've found to be really helpful: https://piccalil.li/blog/cube-css/
1@vanzasetiaPosted over 3 years ago@dwhenson Thanks for and for checking it on screen reader and the resources, especially on the CSS Tricks about
label
.I agree with you, š accessibility is hard to master.
That's it! Good luck with your project!
0 -
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