A design QA checklist to run before launch.
Run this on the real build, not the mockup. Work through each section at a desktop width and a phone width, and log every miss as its own pin on the page so it can be fixed and rechecked.
Layout and responsiveness
- Check at desktop and at about 390px wide. Content should not force sideways scrolling at 320 CSS pixels wide, per the reflow rule in WCAG 2.2 SC 1.4.10 (W3C, accessed 2026-10-28).
- Long headings, long names and empty fields do not break the layout.
- Images keep their aspect ratio and do not shift the page as they load.
States
- Hover, focus, active and disabled states exist for every button and link.
- Empty, loading and error states are designed, not left as defaults.
- Keyboard focus is clearly visible on every interactive element.
Contrast and target size
- Body text meets a 4.5:1 contrast ratio against its background (SC 1.4.3, W3C, accessed 2026-10-28).
- Touch and click targets are at least 24 by 24 CSS pixels, with spacing exceptions (SC 2.5.8, W3C, accessed 2026-10-28). Aim for larger on phones.
Copy and links
- No placeholder text, lorem ipsum or stale dates and prices.
- Every link and button goes somewhere real; forms confirm success and explain errors.
- Page titles and share previews are set for each page.
Log findings where they live
Pin each issue on the element so the fix is traceable: the pin keeps the URL, selector, screenshot and viewport. Approve the ones to fix, then work through them page by page. Design QA for Lovable and v0 builds applies the same checklist to AI-generated sites, and design feedback without Figma covers review rounds in the browser. A checklist is not a full accessibility audit: automated tools catch some contrast and target-size failures, but a manual pass is still needed for the rest.
Start free
Pincushion's free tier covers one project with unlimited manual pins and 25 AI actions a month, and every new account starts with a 14-day full-Pro trial. Commenters are always free. See pricing for the details (checked 2026-10-28).