HTML
Verified@ivangdavila
npx machina-cli add skill @ivangdavila/html --openclawLayout Shift Prevention
widthandheighton<img>even with CSS sizing — browser reserves space before loadaspect-ratioin CSS as fallback — for responsive images without dimensions
Form Gotchas
autocompleteattribute is specific —autocomplete="email",autocomplete="new-password", not juston/off<fieldset>+<legend>required for radio/checkbox groups — screen readers announce the group labelinputmodefor virtual keyboard —inputmode="numeric"shows number pad without validation constraintsenterkeyhintchanges mobile keyboard button —enterkeyhint="search",enterkeyhint="send"
Accessibility Gaps
- Skip link must be first focusable —
<a href="#main" class="skip">Skip to content</a>before nav <th scope="col">orscope="row"— without scope, screen readers can't associate headersaria-hidden="true"hides from screen readers — use for decorative icons, not interactive elementsrole="presentation"on layout tables — if you must use tables for layout (you shouldn't)
Link Security
target="_blank"needsrel="noopener noreferrer"—noopenerprevents window.opener access,noreferrerhides referrer- User-generated links need
rel="nofollow ugc"—ugctells search engines it's user content
SEO Meta
<link rel="canonical">prevents duplicate content — self-referencing canonical on every pageog:imageneeds absolute URL — relative paths fail on social platformstwitter:cardvalues:summary,summary_large_image,player— not arbitrary
Common Oversights
<button type="button">for non-submit — default istype="submit", triggers form submission<dialog>element for modals — built-in focus trap and escape handling<details>+<summary>for accordions — no JS needed, accessible by default- Void elements don't need closing slash —
<img>not<img />in HTML5, though both work
Overview
HTML helps you fix common mistakes that hurt accessibility, form usability, and search visibility. It shows practical patterns for preventing layout shifts, structuring forms, and securing meta and social tags. Implementing these practices improves user experience, assistive-tech compatibility, and search performance.
How This Skill Works
The skill translates guidelines into concrete markup patterns you can apply directly, such as sizing images with width/height or aspect-ratio fallbacks and using proper form semantics like autocomplete values and fieldset/legend groups. It also covers accessibility landmarks, skip links, and correct table header scopes, plus security and SEO patterns like rel attributes and canonical/meta tags. By following these patterns, you can reliably improve page stability, accessibility, and discoverability.
When to Use It
- When optimizing image load performance to prevent layout shifts
- When building accessible forms with precise autocomplete values and grouped controls
- When structuring tables and navigation for screen readers with proper scopes and landmarks
- When securing external links and handling user-generated URLs
- When boosting SEO and social previews with canonical links and absolute social image URLs
Quick Start
- Step 1: Audit your HTML for image sizing, form semantics, skip links, and SEO tags
- Step 2: Apply concrete fixes: add width/height or aspect-ratio, set autocomplete values, group fields with fieldset/legend, and add appropriate rel canonical/og:image
- Step 3: Validate with accessibility and SEO tools, test keyboard navigation, and verify social previews
Best Practices
- Set width/height on images or use an aspect-ratio fallback to prevent CLS
- Use precise autocomplete values (e.g., email, new-password) instead of generic on/off
- Wrap radio/checkbox groups in fieldset with a legend for screen readers
- Apply inputmode and enterkeyhint to tailor mobile keyboards
- Place skip navigation first and ensure proper scope attributes for tables and headers
Example Use Cases
- Product page uses explicit image width/height to eliminate layout shifts during load
- Signup form uses autocomplete='email' and a dedicated new-password field for security
- Modal dialog implemented with a native dialog element for built-in focus management
- Details/summary used for accordion-style content to avoid extra JS while remaining accessible
- External links include rel='noopener noreferrer' and pages implement canonical and absolute og:image URLs