Responsive React+TypeScript+Tailwind

Solution retrospective
React Tailwind
Hi, I made this simple component with React, Tailwind, and Typescript... Please, I'd love to get feedback to improve something or get better practices. Enjoy coding!(●'◡'●)
Please log in to post a comment
Log in with GitHubCommunity feedback
- @petritnuredini
Congratulations on completing your project! It's great to see your dedication and effort in building a visually appealing and functional application. Here are some short recommendations to enhance your work:
-
HTML and CSS Best Practices:
- Semantic HTML: Use the
<main>
tag instead of<body>
within your React component for better semantics. - Responsive Design: Good start on responsiveness. Consider using rem units for font sizes and spacing for better scalability across devices.
- Semantic HTML: Use the
-
React Component Structure:
- Component Reusability: Ensure that components like
SvgComponent
are reusable and configurable for different scenarios.
- Component Reusability: Ensure that components like
-
Styling:
- Consistent Styling: Maintain consistent styling across the app. Ensure that classes like
bg-YellowBg
,bg-WhiteNeutral
, etc., are clearly defined and reusable. - Avoid Inline Styling: Refrain from inline styling in JSX. It's better to use CSS or styled-components for maintainability and performance.
- Consistent Styling: Maintain consistent styling across the app. Ensure that classes like
-
Accessibility:
- Alt Text: Good use of alt text on images. Ensure it's descriptive for screen readers.
-
Code Organization:
- Project Structure: Keep your project structure organized. Group similar files together and maintain a clear hierarchy.
-
References for Learning:
- React Documentation: React
- CSS Best Practices: MDN Web Docs
Keep up the hard work and continue to challenge yourself with new projects! Your progress is impressive, and each project brings new opportunities to learn and grow. Stay curious and explore new technologies and concepts!
Marked as helpful -
- P@danielmrz-dev
Hello @germanp007!
Your solution looks great!
I have a couple of suggestions (about semantic HTML) for improvement:
📌 First: Use
<main>
to wrap the main content instead of<div>
.Tags like
<div>
and<span>
are typical examples of non-semantic HTML elements. They serve only as content holders but give no indication as to what type of content they contain or what role that content plays on the page.📌 Second: Don't skip heading levels - start with
<h1>
, then use<h2>
, and so on.Unlike what most people think, it's not just about the size and weight of the text.
-
The
<h1>
to<h6>
tags are used to define HTML headings. -
<h1>
defines the most important heading. -
<h6>
defines the least important heading. -
Only use one
<h1>
per page - this should represent the main heading/title for the whole page.
All these tag changes may have little or any visual impact but they make your HTML code more semantic and improve SEO optimization as well as the accessibility of your project.
I hope it helps!
Other than that, great job!
Marked as helpful -
Join 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