Design comparison
Solution retrospective
Feedback would be highly appreciated especially on the javascript menu
Community feedback
- @pikapikamartPosted almost 3 years ago
Hey, awesome work on this one. The desktop layout looks fine for me, just that the hero-section is bit to taller, the text-alignment is using center instead of left and the white-spaces on the testimonial section could be reduce. For responsiveness, if you go at point 770px, you will notice that the site's content is being by the screen causing a horizontal scrollbar and the text of the site starts to get squished, the images doesn't respond and alignment is still not going well.
David Turner already gave a feedback on this one, just going to add some suggestions as well:
- It would be great to have this markup:
<header /> <main /> <footer />
This way, all content of your page will be inside their own respective landmark element. Remember that for the primary
header
, nest only the topmost part of the site which are the site-logo, navlinks and leave the hero-section inside themain
tag because you want theheader
to be reusable for other pages, so only include what is needed on that.- The site-logo could be remove from the
nav
since it is not being treated as a link. If you insist on doing so, it would be nice to wrap theimg
bya
tag and make sure to properly use anaria-label
orsr-only
text that would describe where the link would take the user. - Also, on the
header
tag'snav
, you can addaria-label="primary"
so that it will be unique since a anothernav
could be used inside thefooter
tag. - Those 4 links in the
header
could be wrap inside aul
tag since those are "list" of links. - Also, I saw a usage of
height: 100vw
on the.h-screen
selector. Avoid usingheight: 100vh
as this makes the element's height capped based on the viewport/screen's height. Instead usemin-height: 100vh
so that the element will expand if it needs to. - Also, I would prefer to use
rem
value to give theheight
on the hero-section instead ofvh
unit so that it will stay consistent for all user. Try to inspect the layout in dev tools at the bottom, the hero-section changes a lot when you resize the screen's height. - The arrow-image on the hero-section is only a decorative image. Decorative images are just images that doesn't contribute to the overall content of the site. They should be hidden for screen-reader at all times by using
alt=""
andaria-hidden="true"
to theimg
tag or onlyaria-hidden="true"
if you are usingsvg
instead ofimg
tag. - For this one, just use a single
h1
since you don't want it to be repetitive on the page. Use a singleh1
only and change those into other heading tags. - It would be nice to use
text-align: left
as well on each of the section after the hero so that it will look like the design. - Those
learn-more
are better usinga
tag rather thanbutton
. On a real site, those would be page links and not like a control. - For this challenge, I would only use
alt
attributes on the site-logo and each of the person's on the testimonial section and the rest would be hidden using the method above since they are all decorative images. - For the cherry and the orange section, you can instead use those images as
background-image
for each container so that they will be easier to handle. - On the testimonial section, it would be nice to adjust the white-spaces on that part because right now, they are too much:>
- For each testimonial, you can use this markup below so that it will be easier for the user to traverse the information using
blockquote
on a screen-reader:
<figure> <img src="" alt={person name}> <blockquote> <p> {qoute in here}</p> </blockquote> <figcaption> person name <p> person role </p> </figcaption> </figure>
FOOTER
- The
background-color
could be lighter so that it will match the footer's design. - Those 3 links after the site-logo could be wrapped inside a
ul
because again, they are "list" of links. Also, theul
on this could be wrapper inside anav
since they are still your site's navigation links. Thenav
should havearia-label="footer"
so that it will be unique. - Those social-media links could be inside a
ul
element since those are "list" of links. - Each
a
tag that wraps the social-media icon should have eitheraria-label
attribute orsr-only
text inside it, defining where the link would take them. For example, you should usefacebook
as the value if the link would take the user to facebook. - Social-media image should be hidden since it is only a decorative image so use
alt=""
andaria-hidden="true"
.
MOBILE
- I noticed on the markup, you duplicated your navlinks for the mobile state which you don't really need. You just need to style the original navlinks to adapt for mobile state and desktop state. This way, you are reducing repetitive element on your markup.
- Hamburger menu should be using a
button
since it is an interactive component. When creating interactive component, make sure that you are using interactive element so that it will be accessible for other users.
SUPPOSING BUTTON IS USED
-
The hamburger
button
should have a default attribute ofaria-expanded="false"
and it will be set totrue
when the users toggles it and vice-versa. -
The hamburger
button
should have eitheraria-label
attribute orsr-only
text inside it which defines what thebutton
does. You could usearia-label="navigation dropdown menu"
-
The
svg
inside the hamburger-menu should have been hidden since it is only a decorative image so usearia-hidden="true"
on it. -
Also, the placement of your hamburger and the dropdown is incorrect. The dropdown should be placed after the hamburger so that after the user toggles it, the next focus is on the dropdown.
-
Lastly, in general, adjusting the styling on the site and addressing the responsiveness issue:>
Aside from those, great job again on this one.
Marked as helpful0@Nnenna-udefiPosted almost 3 years ago@pikapikamart I'll try my best to correct the mistakes. Thank you
1 - @brodiewebdtPosted almost 3 years ago
This looks good, but it needs some work at Ipad resolution. 768px. The text isn't displaying properly. The mobile menu can use some space on the right hand side as it overflows the container. The menu works fine though. This was a tough project to do.
Wrap all you content in a Main tag and change the H3 to H2. You don't want to skip heading levels. You may have to re-style the get it to look like the design. These will clear the accessibility warnings.
Download AXE DevTools and you can clear accessibility warnings while you code. https://www.deque.com/axe/devtools/
Hope this helps.
0@Nnenna-udefiPosted almost 3 years ago@brodiewebdt Yes, this was really helpful. Thank you
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