Design comparison
Solution retrospective
I need some advice . Thanks !!!
Community feedback
- @pikapikamartPosted over 3 years ago
Hey, great work on this one. The layout in desktop is fine, though the footer lacks padding. Resizing, the hero image gets really thin, horizontal scrollbar also appeared and other sections are being hidden, text as well. The mobile layout looks okay, but the media query is too small. Using
375px
for mobile is too small, if you are starting from desktop flow, maybe around500px
going down could be mobile or higher.Some suggestions would be:
- have a
main
element that wraps the content of the webpage. It includes the content starting from hero section, going to bottom but not includingfooter
. Your markup would have:
header main footer
alt
text onheader
image could just bebookmark
, remove the wordlogo
since screen reader will announce it as agraphic
alt
text on hero section could be empty since it is just for decorative purpose.- avoid using multiple
h1
on a page. It is better to use only 1h1
per page. Use other heading tags, but remember when using heading tags, do not jump from 2 levels or more. Example, usingh1
then the next heading tag will beh3
orh4
. Use heading tags with their level only added by 1.h1
toh2
toh3
. - on the "features" section, the 3 tabs could have used a
button
so that it have some keyboard accessibility. Better yet, if you can, implement it as atabbed interface
. You can look at my solution and see how I structured my "features" section. Look also into my javascript in my repo if you want to implementtabbed interface
alt
text on the images on "features" section could be left empty. They are only decorative purpose.- the "more info" button could have used
a
tags, since it looks like it will redirect a user, hence a link. - the "add & install extension" could have used a
aria-label
so that instead of just text, it would be for example.aria-label="add & install extension to chrome"
. - on the "FAQ" section, those dropdowns could have used
button
for triggering the dropdown answer, along witharia-expanded
attribute to it, to assist assistive techs. If you want to use a simple dropdown, you can use thedetails
element. - "more info" button could have been
a
tags in "FAQ" section - on the
form
, you could have set theevent.preventDefault
so that it won't refresh the page. It would be also great for example, to have a text, when the form is a success. - on the
footer
section, the bookmark logosvg
could have been wrapped inside ana
tag, along with itsaria-label
like `aria-label="bookmark". - the social media links in the
footer
as well should have been wrapped insidea
tags, since they are links, along with their respectivearia-label
- on the mobile state, using an
img
on the hamburger menu as trigger is not really good, use abutton
element, along with itsaria-label
andaria-expanded
. This would be much accessible for users.
It may be a lot, but those are important. Still, you did a good job in here.
Marked as helpful1@UyDungPosted about 3 years ago@pikamart : Thank bro for support. And I wanna ask you what and how do you learn Javascript to make "tabbed interface". Its new for me.
0@pikapikamartPosted about 3 years ago@UyDung Hey, but first, just to give insight what is that. Tabbed interface is a logical way of sectioning related elements. What I mean is that, as you can see, when clicking on those selection, the content changes right, it changes that varies to what ever tab is selected. When you see something like that when creating a website, you should implement that since it is really helpful for screen reader users when you implement a tabbed interface. Here is from mdn about the
role
attribute. Just keep scrolling and you will see on what html structure does tabbed interface needs. The javascript is right there too. But on my case, I change some javascript so that I could work easily.If you have any question, just drop it here okay.
0 - have a
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