Design comparison
Solution retrospective
As I was building this project, I had trouble with the form. I couldn't control when the :invalid pseudo-class would be active. So if anyone has tips on how I could fix my forms or any other part of my code can you please share them.
Community feedback
- @PhoenixDev22Posted about 2 years ago
Hi chillz-the-first,
Congratulation on completing another frontend mentor challenge. Excellent work! I have some suggestions regarding your solution:
HTML
- Use the interactive lement
<a>
around your navigation like this<li class="navbar-links raleway"><a href=”#”> Features</a></li>
the same for<li><a href=”#”>About Us</a></li>
.
- The alternate text of the logo is needed, it may set alt=”Fylo". Use the website's name as an alternate text. Remember that a website-logo is one of the most meaningful images on a site so use proper alt for it. The same for the footer’s logo
- If you are going to leave the logo not wrapped by
<a>
, it’s better to place it out the<nav>
as it does not navigate the user in anywhere (only an image).
- Forms with proper inputs and labels are much easier for people to use. To pair the label and input, one way is an explicit label’s
for
attribute value must match its input’sid
value. Input fields without accompanying labels can lead to accessibility issues for those who rely on screen readers. If a screen reader comes across an input field without a label it will try to find some accompanying text to use as the label. (To hide the label visually but present for assistive technology, you may usesr-only
class ).
- look up a bit more about how and when to write alternate text on images. Learn the differences between decorative/meaningless images vs important content . For decorative images, you set an empty
alt
to it with anaria-hidden=”true”
to remove that element from the accessibility tree. This can improve the experience for assistive technology users by hiding purely decorative images.
- Images must have alt attribute. Profile images like that avatar are valuable content images, not decorative .For the alternate text of the avatar testimonial should not be empty. You can use the avatar’s name
alt=" kyle burton"
.
- You may use like to use
<address>
tag to wrap the contact informationclass="col col-1"
for the author/owner of a document or an article (email and phone number). By adding semantic tags to your document, you provide additional information about the document, which aids in communication.
- When you use the
<nav >
landmark to wrap the footer navigation, you should addaria-label=”secondary “
oraria-label=”footer”
to it . A brief description of the purpose of the navigation, omitting the term "navigation", as the screen reader will read both the role and the contents of the label. Thenav
element in the header could use anaria-label="primary"
oraria-label=”main”
attribute on it. The reason for this is that, you should add thearia-label
for a nav element if you are using the nav more than once on the page.you can read more in MDN
- Links must have discernible text. The social links wrapping the imagess must have
aria-label
orsr-only
text indicate where the link will take the user. Then your images are purely decorative, you'll need to manually add an aria-hidden attribute to each of your images.
Aside these, you did great job. Hopefully this feedback helps.
Marked as helpful0 - Use the interactive lement
- @codefolkPosted about 2 years ago
Hi chillz-the-first,
Congratulation on completing another frontend mentor challenge. Excellent work! I have some suggestions regarding your solution:
I have seen your website, everything is pretty good. Except for the part in Navbar in mobile view overflows. You can prevent it by setting with of Nav container to 100%. Also, try not to give height to your elements. Use ARIA landmarks instead of divs. Divs are only empty containers to make your HTML markup more meaningful try using associated tags.
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