Design comparison
Solution retrospective
Added animations on mobile to simulate the hover styles on desktop
What specific areas of your project would you like help with?Code optimization and use of a system
Community feedback
- @StroudyPosted 2 months ago
Amazing job with this! You’re making fantastic progress. Here are some small tweaks that might take your solution to the next level…
-
Your
body
should not have a role<body role="main">
Many HTML elements can only be assigned certain ARIA roles. Using ARIA roles where they are not allowed can interfere with the accessibility of the web page. -
Using a
<main>
tag inside the<body>
of your HTML is a best practice because it clearly identifies the main content of your page. This helps with accessibility and improves how search engines understand your content. -
Avoid using
id
selectors for styling in CSS because they are too specific and hard to override, making your styles less flexible and maintainable. Instead, use class selectors (.
), which are reusable and more manageable, allowing for better control over your styles and easier updates. -
Here I would put these into a
<ul> <li>
, and the text should be wrapped with a<a>
so it is accessible with a keyboard using the tab key, Using an<a>
tag for navigation is semantically correct, improves accessibility for screen readers, and ensures consistent behavior across browsers, unlike a<button>
or a<div>
not intended for links.
<div id="buttons"> <button id="github" value="github">GitHub</button> <button id="frontendmentor" value="frontendmentor"> Frontend Mentor </button> <button id="linkedin" value="linkedin">LinkedIn</button> <button id="twitter" value="twitter">Twitter</button> <button id="instagram" value="instagram">Instagram</button> </div>
- Like this, It is important to wrap them in the
<a>
tag for accessibility,
<ul> <li><a>GitHub</a></li> <li><a>Frontend Mentor</a></li> <li><a>LinkedIn</a></li> <li><a>Twitter</a></li> <li><a>Instagram</a></li> </ul>
-
Using
max-width: 100%
ormin-width: 100%
is more responsive than justwidth: 100%
because they allow elements to adjust better to different screen sizes. To learn more, check out this article: responsive-meaning. -
Developers should avoid using pixels (
px
) because they are a fixed size and don't scale well on different devices. Instead, userem
orem
, which are relative units that adjust based on user settings, making your design more flexible, responsive, and accessible. For more information check out this, Why font-size must NEVER be in pixels or this video by Kevin Powell CSS em and rem explained.- Another great resource for px to rem converter. -
Using
font-display: swap
in your@font-face
rule improves performance by showing fallback text until the custom font loads, preventing a blank screen (flash of invisible text). The downside is a brief flash when the font switches, but it’s usually better than waiting for text to appear.
You’re doing fantastic! I hope these tips help you as you continue your coding journey. Stay curious and keep experimenting—every challenge is an opportunity to learn. Have fun, and keep coding with confidence! 🌟
Marked as helpful0@cokecancookPosted 2 months ago@Stroudy Thank you so much for your taking the time to give this amazing feedback! It's been very helpful. I pushed an update and I think I got everything but definitely have to dive deeper into the max-width: 100% recommendation.
1 -
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