Design comparison
SolutionDesign
Community feedback
- @Youssef-fPosted about 2 months ago
Here’s some detailed feedback on your solution:
- Semantic HTML Strengths: You have used semantic elements like <h1> for the title, and appropriate <p> tags for paragraphs, which is great. Improvements: Use more semantic HTML elements. For example: Wrap the blog content in an <article> element instead of using generic <div> containers. This enhances accessibility and SEO. Use <header> for the top section that includes the title, date, and learning tag. Consider using <time> for the date to make it semantically clear that it represents a date.
- Accessibility Strengths: The alt attributes on your images (<img>) are well-implemented, which is crucial for screen readers. Improvements: For better accessibility, the color contrast between text and background should be checked. For example, the light gray text in .detail (#6b6b6b) might be harder to read against a white background for some users. Tools like the WebAIM Contrast Checker can help ensure proper contrast. Consider adding aria-label or aria-labelledby attributes for interactive elements like your hoverable <h1> for better screen reader support. Add a :focus state for any interactive elements (like links or hoverable headers), so users who navigate via keyboard can see which element is currently focused.
- Responsive Layout Strengths: You have implemented a media query for screens smaller than 416px, which shows that you've considered responsiveness. Improvements: Test on a variety of screen sizes, especially between 416px and tablet size (~768px). The layout might feel squeezed between these ranges. You might consider adding additional breakpoints to improve layout scaling for medium-sized devices. Consider using flex-grow or grid-template-columns to allow your card to adjust better across different viewports, giving more flexibility to the layout.
- Code Structure and Reusability Strengths: Your CSS is generally well-organized and uses modern features like flexbox. The use of @media queries shows that you are keeping responsiveness in mind. Improvements: You could refactor some CSS to be more reusable by grouping similar properties. For example, both .learning and .name use font-weight: 800. Consider creating a utility class for bold text, and then apply it wherever needed (e.g., .bold-text). Use CSS variables for frequently used values like colors (#f4d04e appears multiple times, so setting it as a variable would increase maintainability).
- Design Consistency Strengths: The overall layout, with a structured card design, looks good and closely follows the blog preview card concept. Improvements: The hover color on the <h1> (yellow) might be too close to the background color, making it less noticeable. Try using a darker or more contrasting color for hover states. The avatar image (.sec3 img) width is set to 10%, which could lead to disproportionate scaling, especially on larger screens. Consider using px or rem units for more consistent sizing.
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