Skip to content
  • Unlock Pro
  • Log in with GitHub
Solution
Submitted almost 2 years ago

QR code component solution

Jimovan•90
@jimovan
A solution to the QR code component challenge
View live sitePreview (opens in new tab)View codeCode (opens in new tab)
Code
Select a file

Please log in to post a comment

Log in with GitHub

Community feedback

  • jordancareyui•80
    @jordancareyui
    Posted 11 months ago

    Hi Jimovan, hope you're doing well! I'm trying to get through the learning path right now, and the site won't let me continue unless I review your 1-year-old code... Apologies for my random comment, and feel free to ignore it if you wish. 🙏

    Overall, the solution looks really good! The preview has your text a bit misaligned, but I opened the page in my browser and it looks perfect there. I didn't end up using a CSS reset myself because I was afraid it would do too much, but I think that's a valid way of working with this challenge. The <article> tag you used for the card is interesting, I might look more into it.

    The only issues I see with this solution are how vivid the drop shadow is and the lack of alt text for the QR code. The dimensions and color of the drop shadow seem good, but it'd benefit from a lower opacity. As for the lack of alt text, I can understand why you didn't include it since this project is so simple (and seems a bit inaccessible to low-vision screenreader users anyhow,) but something like alt="QR code" could help people who use tools or strip the styles of webpages when they browse the web.

    Well done!

  • Krushna Sinnarkar•1,080
    @krushnasinnarkar
    Posted 11 months ago

    Code Review

    1. Semantic HTML

    The HTML structure mostly follows semantic conventions but can be improved:

    • Semantic Tags: Consider using <header> for the <img> and <section> for the card content.
    • Accessibility: Use semantic tags like <figure> for images that are self-contained content, with <figcaption> for any caption.

    2. Accessibility

    The current solution is reasonably accessible but can be improved:

    • Alt Text: Ensure the alt text for the QR code image is descriptive enough.
    • Focus: Check the tab order to ensure it’s logical. Add tabindex="0" where necessary.
    • ARIA Attributes: Use ARIA landmarks if needed, but not excessively.

    3. Responsiveness

    The layout looks good on a range of screen sizes but consider these improvements:

    • Media Queries: Explicit media queries for different screen sizes (e.g., mobile, tablet, desktop).

    4. Code Structure, Readability, and Reusability

    The code is well-structured

    5. Design Consistency

    The solution aligns with the design but can have slight improvements:

    • Font Size: Ensure the font size for paragraphs matches the design guidelines (15px).
    • Spacing: Match the exact spacing, padding, and margin as per the design specs.

    These changes improve semantic structure, accessibility, responsiveness, and code organization while ensuring design consistency.

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

Oops! 😬

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

Log in with GitHub