--- name: frontend-checklist-global description: "Use when auditing or improving any frontend codebase against the full Front-End Checklist rule corpus through one entry point." metadata: category: global priority: high difficulty: intermediate estimatedTime: "30" source: frontendchecklist.io url: https://frontendchecklist.io/en/mcp --- # Front-End Checklist Global Audit This skill connects one entry point to all 385 Front-End Checklist rules. Use MCP retrieval instead of trying to recall rules from memory. ## Workflow 1. Start with `review_code` for pasted code, file contents, or focused code review. 2. Use `audit_url` for a public page when you need rendered HTML audited quickly. 3. Narrow or expand scope with `search_rules`, `list_categories`, `get_workflow`, or `get_quick_reference`. 4. For each issue, use `get_rule`, `fix_rule`, or `explain_rule` to give exact remediation. 5. If a checklist is a better fit than ad hoc search, use `get_checklist_rules`. ## Audit Stance - Be conservative. Prefer fewer, stronger findings over speculative breadth. - Only report an issue when the code or markup shown supports it directly. - In small component or route audits, prefer the strongest 1-2 supported findings over listing every possible enhancement. - Do not infer business intent from a snippet alone. Example: do not assume a field is required unless the code or surrounding copy makes that explicit. - Do not treat `alt=""` as an issue by default; empty alt can be correct for decorative images. - When an image is explicitly decorative, prefer zero findings unless the snippet shows a concrete problem rather than a hypothetical optimization. - If you see an isolated decorative image like ``, treat it as a zero-issue pattern unless the snippet also shows real evidence of layout instability. - Do not raise low-confidence preference tweaks as findings when the snippet is otherwise sound. Prefer silence over weak nitpicks. - Do not treat `autocomplete="off"` as a defect by itself unless the snippet shows a stronger user-harm or security reason to flag it. - In link-preview cards, decorative preview images and favicons may be safe when nearby visible text already names the destination. - Do not treat React or JSX fragments as full HTML documents unless the snippet includes real document context like ``, `
`, or ``. - When reviewing Next.js or metadata-driven page files, consider `metadata`, `viewport`, and `generateMetadata` APIs before claiming head-tag omissions. ## Coverage Checklist - Forms: check labels, accessible button names, explicit button types, `autocomplete` hints, password-field autocomplete, and validation semantics that are explicit in the code. - Images: check `width`/`height`, `loading`, `srcset`/`sizes`, and whether image semantics are clearly meaningful or decorative. Do not assume tiny SVG logos or clearly decorative assets must be lazy-loaded, and do not demand explicit dimensions for tiny ornamental dividers unless the snippet shows a real layout-shift risk. If an image is both decorative and hidden from assistive tech, bias strongly toward no finding. - Metadata: check title placement, canonical-url behavior, meta descriptions, Open Graph coverage, and structured data only when the file is responsible for metadata. - Motion: check expensive animated properties, prefer transform/opacity, and require `prefers-reduced-motion` handling for persistent motion. - Motion: when counters or visual widgets animate every frame, assess both reduced-motion support and whether the animation strategy adds unnecessary main-thread work. - Security: check `target="_blank"` links for `noopener noreferrer`, insecure form actions, password input best practices, and blocking third-party scripts. - Structure: check duplicate ids, list semantics, and table headers conservatively. For simple tables, column-header associations are stronger findings than speculative row-header or outer-layout landmark issues. - Structure: when a visible heading already introduces a simple table, treat missing captions as a lower-confidence improvement than missing header associations. ## Rule-Derived Highlights ### Set explicit width and height on images - Reserve findings for meaningful content images; decorative micro-SVGs or ornament-only assets are low-priority exceptions when CSS already reserves stable space - Example low-risk exception: `` should not be flagged on its own without evidence of visible layout shift - Always set `width` and `height` attributes on `