Skip to content
  • Unlock Pro
  • Log in with GitHub
Solution
Submitted over 3 years ago

Sunnyside Landing Page using Flexbox

Lesley Wesley•385
@LesleyWesley
A solution to the Agency landing page challenge
View live sitePreview (opens in new tab)View codeCode (opens in new tab)

Solution retrospective


Hey guys!

Open to any feedback! :)

Code
Select a file

Please log in to post a comment

Log in with GitHub

Community feedback

  • Raymart Pamplona•16,040
    @pikapikamart
    Posted over 3 years ago

    Hey, awesome work on this one. Layout in desktop looks really good, it responds well and the mobile layout is really good as well. This is a nice website.

    Some suggestions would be:

    • Lose the word "logo" on the img alt of the website logo, since it is already an image, no need to describe it as one, alt="sunnyside" would suffice.
    • On the learn more link, if you hover on the element of it in dev tools, you will notice that it doesn't have any height this is because you made the span inside position: absolute which makes it out of the flow. I suggest not using the span and just let the text inside that span be used by the a tag directly. That way, it will have dimension and have the outline it needed, since it is an interactive element.
    • When using blockquote make sure to add the name of the person inside it, so that it will be read out as well by assistive tech. Making the name of the person as well a heading tag would be good.
    • If you use a section that doesn't have any text embedded inside it, make sure to have atleast a screen-reader only text for that section, the text will be a heading tag, that has sr-only class. You could look up for some sr-only and use it.

    FOOTER

    • Like the above, lose the word logo on the website-image.
    • The social media links could have been wrapped inside a ul element, since those are "list" of social-media links.
    • Each a tag that wraps the social media icon should have text inside it so that there will be an extra information that the user will have. It could be a sr-only text inside the a tag, or use aria-label attribute on the a tag, to which the value of both approach will use the name of the social media that they are nesting.

    MOBILE

    • The hamburger menu should have used button element and not a checkbox. The button will have an aria-label="navigation menu dropdown" or other text, so that users will know what this button will do, and the button should be using aria-expanded attribute on it as well.
    • Also, when making a dropdown, make sure that the element or the dropdown is properly hidden to all. Using transform: scale(0) does not really hide it totally, visually it is hidden but it will be still pick up by assistive tech. Instead, use visibility: hidden on it as default, then just transition to visible when the user toggles the hamburger.

    Aside from those, really great work on this one.

    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
Frontend Mentor logo

Stay up to datewith new challenges, featured solutions, selected articles, and our latest news

Frontend Mentor

  • Unlock Pro
  • Contact us
  • FAQs
  • Become a partner

Explore

  • Learning paths
  • Challenges
  • Solutions
  • Articles

Community

  • Discord
  • Guidelines

For companies

  • Hire developers
  • Train developers
© Frontend Mentor 2019 - 2025
  • Terms
  • Cookie Policy
  • Privacy Policy
  • License

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

How does the accessibility report work?

When a solution is submitted, we use axe-core to run an automated audit of your code.

This picks out common accessibility issues like not using semantic HTML and not having proper heading hierarchies, among others.

This automated audit is fairly surface level, so we encourage to you review the project and code in more detail with accessibility best practices in mind.

How does the CSS report work?

When a solution is submitted, we use stylelint to run an automated check on the CSS code.

We've added some of our own linting rules based on recommended best practices. These rules are prefixed with frontend-mentor/ which you'll see at the top of each issue in the report.

The report will audit 1st-party linked stylesheets, and styles within <style> tags.

How does the HTML validation report work?

When a solution is submitted, we use html-validate to run an automated check on the HTML code.

The report picks out common HTML issues such as not using headings within section elements and incorrect nesting of elements, among others.

Note that the report can pick up “invalid” attributes, which some frameworks automatically add to the HTML. These attributes are crucial for how the frameworks function, although they’re technically not valid HTML. As such, some projects can show up with many HTML validation errors, which are benign and are a necessary part of the framework.

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub