Responsive Modern Landing Page

Solution retrospective
I'm particularly proud of the responsive grid layout that adapts seamlessly from mobile to desktop. The 2x2 stat grid on desktop collapsing to a single column on mobile while maintaining visual hierarchy was a satisfying challenge to solve. The sliding menu panel with the hamburger animation also turned out well - the smooth slide-in effect with backdrop blur creates a polished, modern feel.
I'm also happy with the accessibility considerations I implemented:
Focus trapping within the menu panel
Proper ARIA attributes (aria-expanded, aria-modal, aria-label)
Keyboard navigation support (Enter, Escape, Tab)
prefers-reduced-motion support
The clean, minimalist design with subtle hover states on the stat cards and navigation links gives the page a professional, polished feel despite being a relatively simple layout.
What I would do differently:
Next time, I would:
Use a CSS preprocessor like Sass or LESS to better organize the styles, especially with the responsive breakpoints and hover states
Implement the stat counter animation that counts up from zero when the page loads - this would add a nice interactive element that I skipped
Load the stats from a JSON file instead of hardcoding them in HTML, making the page more maintainable and data-driven
Add more comprehensive testing for accessibility, particularly testing with screen readers to ensure the menu experience is fully accessible
Consider using CSS custom properties more extensively for colors and spacing to make theme changes easier
What challenges did you encounter, and how did you overcome them?Creating an accessible slide-in menu that works well on all devices was tricky. I needed to handle:
Opening and closing with proper focus management
Trap focus inside the menu when open
Close on Escape key and overlay click
Prevent background scrolling
Solution: I used JavaScript to manage the menu state, with event listeners for click and keyboard events. The focus trapping was implemented by listening for Tab key events and cycling focus between the first and last focusable elements. I also used aria-modal="true" to indicate the menu is a modal dialog.
What specific areas of your project would you like help with?Accessibility:
Is the focus trapping in the menu panel implemented correctly? Are there any edge cases I missed?
Are the ARIA attributes appropriate for this type of navigation menu?
How can I improve screen reader support for the stat cards?
Please log in to post a comment
Log in with GitHubCommunity feedback
No feedback yet. Be the first to give feedback on RUBAISHA’s solution.
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