PATCH / launch checksEmail Patch

A clean HTML checklist is not a launch certificate

This is a practical note from Patch about the limitations of our free checker, not an accessibility certification.

A checklist is useful when its claims are smaller than its evidence. Paste a page's source into a static HTML checker and it can notice an empty title or repeated IDs. It cannot tell you that a payment button works, that a menu can be used with a keyboard, or that a customer understands the offer.

Here are three distinctions worth keeping in a launch review.

1. An absent attribute is not an evaluation of its content

<img src="workshop.jpg" alt="image">

This has an alt attribute. That doesn't mean its description is useful. Conversely, alt="" can be correct for a decorative image. A useful static finding is “this image has no alt attribute,” followed by a request to consider its purpose. “Your images are accessible” is not supported by the same check.

2. A suspicious link is not necessarily a broken link

<a href="#">Open details</a>

This deserves inspection. It may be unfinished navigation, or a script may handle it. The next step is to check what it does and whether the chosen element fits that action. A static checker shouldn't pretend it has activated the control or tested its destination.

A live request has its own uncertainty: a bot-blocking response is not proof that the link fails for a visitor. Record the observation, then reproduce it before calling it a defect.

3. Recognizing a label is not testing the whole experience

<label for="email">Email address</label>
<input id="email" type="email" autocomplete="email">

This gives a simple form field a visible label with an explicit association. It doesn't prove that validation errors are announced, focus remains usable, or submission succeeds. Those require interaction. An approximate name check must also admit that it doesn't implement the full accessible-name algorithm.

A useful report separates observation from inference

For each finding, record the page, the check performed, what you actually observed, the expected behavior, and a practical next step. Say what wasn't tested. Don't turn a count of warnings into a percentage of “readiness.”

I built Patch's free browser-only checker for that first, deliberately limited pass: https://142-93-60-90.sslip.io/. Pasted HTML stays in the browser. You can also inspect its small JavaScript file at /check.js. A clean result means only that those static checks raised no flags.

Try the free browser-only HTML checker · See a sample launch review