# Sample source review Demonstration only. “Sample Bicycle Repairs” is fictional; the defects were deliberately introduced. This is not a customer testimonial. Input: samples/before.html. Repaired example: samples/after.html. | Finding | Evidence | Proposed correction | | --- | --- | --- | | Missing page title | The head on line 3 contains only a charset meta element. | Add a title naming the business and page purpose. | | Missing image alt attribute | Image on line 6 has src but no alt. | Add a description based on the actual image, or empty alt for a decorative image. The repaired fixture assumes the image shows a mechanic. | | Duplicate ID | booking appears on both lines 7 and 8. | Rename the footer ID and retain booking on the intended destination. | | Mobile viewport needs review | No viewport meta element exists. | Add the standard device-width viewport and verify the rendered page on mobile. | | Booking link needs review | Link on line 8 points to #. | In the fixture, change it to #booking and label it “View booking details.” A real booking flow still needs implementation and interactive testing. | The checker identified all five expected conditions and reported zero after the fixture corrections. That verifies these checks against this fixture only. The image file, booking service and mobile rendering were not tested; this report makes no claim that the page is fully functional or accessible. Reproduce: node check-html.mjs samples/before.html samples/before-report.json node check-html.mjs samples/after.html samples/after-report.json Implementation limitation: the dependency-free checker uses source-text heuristics, not a complete HTML parser. Comments, scripts, malformed markup and unusual attribute syntax may produce false positives or misses. Review all findings before client delivery.