Design comparison
Solution retrospective
This will be my first time creating a Progressive Web App. I hope to be creating more PWAs. I would like to ask if there might be some errors I missed. Also, I would like to know your feedback. Thank you in advance.
Community feedback
- @pikapikamartPosted about 3 years ago
Hey, great work on this one. Layout in desktop is good, responds well I guess and the mobile layout is good as well.
Some suggestions would be:
- Avoid using
height: 100vh
on a large container. If you inspect your layout in dev tools at the bottom, you will notice that the top part is cut off because of the.app
selector only uses the remaining viewport, instead you can just remove it or replace it withmin-height: 100vh
. - Always have a
main
element that will wrap the whole main content of the webpage. On this one, the.app
could have usedmain
instead of justdiv
. - The
alt
value for the website logo should bealt="splitter"
, since the image already have the text needed. Also, avoid adding words that relates to "graphic" like "logo, image, picture.." as aalt
value,img
is already an image, no need to describe it. - Always have an
h1
on a webpage. On this one, theh1
would be a screen-reader only text. - When using heading tag, make sure you aren't skipping a lower level heading, if you use
h5
make sureh1, h2, h3, h4
are present before theh5
. - Your error message of
can't be negative
is still visible for the screen-reader,opacity
alone won't suffice, usevisibility: hidden
, this way the error will only be visible both to sighted users and screen-readers users, if and only if theinput
is wrong. Also, the error-message should have anid
attribute, which will be reference by theinput
as the value for thearia-describedBy
on it, if theinput
is wrong. This way, users will know what is the error that they had made. - Using
div
for those tip selections is not really good. Always use interactive html element for interactive component, likebutton
orinput type="radio"
on this one. - The custom
input
needs to havelabel
element, or anaria-label
to defined what it does. Also make us ofmin
attribute on theinput
. - The same goes for the number of people
input
, make use ofaria-invalid
andaria-describedBy
to which points to the error element'sid
- The
tip amount
plus the word below it could have only used 1 heading tag. - The resulting number is not suited to be a heading tag, especially NOT
h1
element. Just usep
tag on it, making it heading tag does not add any meaning at all. - Reset button should be a
button
, notdiv
. Also, it would be great to have anaria-live
element on this one, so that when the user reset the form, the live element will say that the form has been reset. This way, it will be clearer for users what happened.
Just those above, still great job on this one.
Marked as helpful2@fidellimPosted about 3 years ago@pikamart Wow, thank you so much Raymart for this detailed report! Will definitely learn more about accessibility. Have a great day!
0@fidellimPosted about 3 years ago@pikamart due to your suggestions, there are no more accessibility issues. Thanks again!
0 - Avoid using
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