Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found

Submitted

QR-code Component

@Chandima-R

Desktop design screenshot for the QR code component coding challenge

This is a solution for...

  • HTML
  • CSS
1newbie
View challenge

Design comparison


SolutionDesign

Community feedback

Ecem Gokdogan 9,380

@ecemgo

Posted

Some recommendations regarding your code that could be of interest to you.

  • In order to fix the accessibility issues, you need to replace <div class="card"> with the <main> tag and <div class="attribution"> with the <footer> tag. :) You'd better use Semantic HTML, and you can also reach more information about it from Semantic HTML and Using Semantic HTML Tags Correctly.

  • Additionally, each main content needs to start with an h1 element, and also contain only one h1 element. Your accessibility report states the need for one main landmark. So, you need to use a <h1> element in the <main> tag instead of using only <p>. You can replace the <p class="title">Improve your front-end skills by building projects</p> element with the <h1 class="title">Improve your front-end skills by building projects</h1> element.

Hope I am helpful. :)

0

@0xabdulkhaliq

Posted

Hello there 👋. Congratulations on successfully completing the challenge! 🎉

  • I have other recommendations regarding your code that I believe will be of great interest to you.

HTML 🏷️:

  • This solution generates accessibility error reports, "All page content should be contained by landmarks" is due to non-semantic markup, which causes lacking of landmark for a webpage
  • So fix it by replacing the <div class="card"> element with the semantic element <main> in your index.html file to improve accessibility and organization of your page.
  • What is meant by landmark ?, They used to define major sections of your page instead of relying on generic elements like <div> or <span>. They are use to provide a more precise detail of the structure of our webpage to the browser or screen readers
  • They convey the structure of your page. For example, the <main> element should include all content directly related to the page's main idea, so there should only be one per page

HEADINGS ⚠️:

  • And, this solution has also generated accessibility error report due to lack of level-one heading <h1>
  • Every site must want at least one h1 element identifying and describing the main content of the page.
  • An h1 heading provides an important navigation point for users of assistive technologies, allowing them to easily find the main content of the page.
  • So we want to add a level-one heading to improve accessibility by reading aloud the heading by screen readers, you can achieve this by adding a sr-only class to hide it from visual users (it will be useful for visually impaired users)

iMAGES 📸:

  • Since this component involves scanning the QR code, the image is not a decoration, so it must have an alt attribute.
  • The alt attribute should explain the purpose of the image.
  • E.g. alt="QR code to frontendmentor.io"

.

I hope you find this helpful 😄 Above all, the solution you submitted is great !

Happy coding!

0

@adityapandey51

Posted

Hello there 👋. Congratulations on job well done! 🎉 🎉 🎉

I would like to make some suggestions concerning your code that I might be of help. HEADINGS ⚠️:

HTML 🏷️:

This solution generates accessibility error report: "All page content should be contained by landmarks". This is due to a non-semantic markup, which causes a lack of landmark for a webpage. So fix this by replacing the <div class="container"> element with the semantic element <main> along with <div class="attribution"> into a <footer> element in your index.html file. What is meant by landmark ?: They are use to provide a more precise detail of the structure of our webpage to the browser or screen readers. We make use of sematic elements to provide landmarks to our webpage example includes <main>, <aside>, <footer>, etc., instead of relying on generic elements like <div> or <span>. Every webpage should contain one <main> element and it should include all content directly related to the page's main idea, there should only be one per webpage.

Image ⚠️: And include an alt attribute in your img.

Well done for completing this challenge 👍

I hope have been of help, Please feel free to ask any question

Happy Coding 🎉

0

Please log in to post a comment

Log in with GitHub
Discord logo

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