Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found

Submitted

Huddle Landing Page with Curved Sections | HTML5 CSS3 Sass Mailgo

#accessibility#bem#sass/scss#lighthouse
Vanza Setiaā€¢ 27,835

@vanzasetia

Desktop design screenshot for the Huddle landing page with curved sections coding challenge

This is a solution for...

  • HTML
  • CSS
2junior
View challenge

Design comparison


SolutionDesign

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 the Newsletter word inside footer is correct or should I use p and strong 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

P
Daveā€¢ 5,245

@dwhenson

Posted

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:

  1. 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.

  2. Personally, I think this is the best approach, it is more performant to inline svgs, and good to do this when possible.

  3. I think it looks great - I love the outline styles.

  4. " transition between each breakpoint?" Sorry, I'm not really sure what you mean here?

  5. 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 helpful

1

Vanza Setiaā€¢ 27,835

@vanzasetia

Posted

@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 the form 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() or darken(). It has to be a Sass variables. That's why I only used Sass variables.

That's it! Have a great day!

1
P
Daveā€¢ 5,245

@dwhenson

Posted

@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
Vanza Setiaā€¢ 27,835

@vanzasetia

Posted

@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 GitHub
Discord logo

Join 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