<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Page Kit Lab</title><link>https://codinglaboratory.com</link><description>A visual frontend laboratory for discovering, customizing, combining, and downloading production-ready HTML, CSS, and JavaScript components.</description><item><title>Semantic HTML page structure: a practical frontend blueprint</title><link>https://codinglaboratory.com/guides/semantic-html-page-structure</link><guid>https://codinglaboratory.com/guides/semantic-html-page-structure</guid><description>Build a clear HTML document outline with landmarks, headings, navigation, and content regions that work for people and search engines.</description><pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Button or link? Choose the correct HTML control</title><link>https://codinglaboratory.com/guides/button-vs-link-accessibility</link><guid>https://codinglaboratory.com/guides/button-vs-link-accessibility</guid><description>Learn when an interface action needs a button, when navigation needs a link, and how the choice affects keyboards, semantics, and UX.</description><pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Design accessible focus states that look intentional</title><link>https://codinglaboratory.com/guides/accessible-focus-states</link><guid>https://codinglaboratory.com/guides/accessible-focus-states</guid><description>Create visible, attractive keyboard focus styles with focus-visible, reliable contrast, offset rings, and component-level testing.</description><pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate></item><item><title>How to build an accessible modal dialog</title><link>https://codinglaboratory.com/guides/accessible-modal-dialog</link><guid>https://codinglaboratory.com/guides/accessible-modal-dialog</guid><description>Implement modal semantics, focus movement, Escape handling, background isolation, responsive layout, and reliable focus restoration.</description><pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Accessible form errors: validation messages that help users recover</title><link>https://codinglaboratory.com/guides/accessible-form-errors</link><guid>https://codinglaboratory.com/guides/accessible-form-errors</guid><description>Connect errors to fields, write actionable messages, manage focus after submission, and preserve user input through correction.</description><pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Build an accessible mobile navigation menu</title><link>https://codinglaboratory.com/guides/accessible-mobile-menus</link><guid>https://codinglaboratory.com/guides/accessible-mobile-menus</guid><description>Create a responsive mobile menu with native controls, meaningful labels, Escape support, focus management, and stable page layout.</description><pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Design frontend animation with prefers-reduced-motion</title><link>https://codinglaboratory.com/guides/prefers-reduced-motion</link><guid>https://codinglaboratory.com/guides/prefers-reduced-motion</guid><description>Keep expressive interface motion while providing calmer, equally understandable states for people who request reduced movement.</description><pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Accessible data visualization for frontend dashboards</title><link>https://codinglaboratory.com/guides/accessible-data-visualization</link><guid>https://codinglaboratory.com/guides/accessible-data-visualization</guid><description>Make charts understandable with semantic summaries, keyboard access, redundant encoding, readable labels, and responsive fallbacks.</description><pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate></item><item><title>CSS container queries for truly reusable components</title><link>https://codinglaboratory.com/guides/css-container-queries</link><guid>https://codinglaboratory.com/guides/css-container-queries</guid><description>Use container queries to make cards, toolbars, forms, and dashboards respond to their available space instead of the viewport.</description><pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Fluid typography with CSS clamp without breaking readability</title><link>https://codinglaboratory.com/guides/fluid-typography-clamp</link><guid>https://codinglaboratory.com/guides/fluid-typography-clamp</guid><description>Create responsive type scales with clamp, bounded viewport units, readable line lengths, and safe behavior at browser zoom levels.</description><pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate></item><item><title>CSS cascade layers for predictable component styling</title><link>https://codinglaboratory.com/guides/css-cascade-layers</link><guid>https://codinglaboratory.com/guides/css-cascade-layers</guid><description>Organize resets, tokens, components, utilities, and overrides with cascade layers so selector strength stops becoming an arms race.</description><pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Design component color systems that survive customization</title><link>https://codinglaboratory.com/guides/component-color-systems</link><guid>https://codinglaboratory.com/guides/component-color-systems</guid><description>Turn raw colors into semantic design tokens with reliable foreground pairs, state roles, contrast checks, and dark-theme behavior.</description><pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Avoid CSS collisions in reusable frontend components</title><link>https://codinglaboratory.com/guides/avoid-css-collisions</link><guid>https://codinglaboratory.com/guides/avoid-css-collisions</guid><description>Scope component selectors, control inheritance, document customization tokens, and prevent resets or utilities from leaking across page boundaries.</description><pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Build a responsive card grid without fragile breakpoints</title><link>https://codinglaboratory.com/guides/responsive-card-grid</link><guid>https://codinglaboratory.com/guides/responsive-card-grid</guid><description>Create resilient CSS card grids with grid, minmax, auto-fit, intrinsic sizing, consistent spacing, and content-aware mobile behavior.</description><pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate></item><item><title>CSS logical properties for resilient international layouts</title><link>https://codinglaboratory.com/guides/css-logical-properties</link><guid>https://codinglaboratory.com/guides/css-logical-properties</guid><description>Use inline and block properties to support right-to-left text, vertical writing, responsive spacing, and direction-aware component icons.</description><pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Implement dark mode without flashes or unreadable components</title><link>https://codinglaboratory.com/guides/dark-mode-without-flash</link><guid>https://codinglaboratory.com/guides/dark-mode-without-flash</guid><description>Build a system-aware theme switcher with semantic tokens, early preference resolution, durable storage, and accessible control states.</description><pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Core Web Vitals for frontend developers: LCP, INP, and CLS</title><link>https://codinglaboratory.com/guides/core-web-vitals-frontend</link><guid>https://codinglaboratory.com/guides/core-web-vitals-frontend</guid><description>Diagnose and improve loading, interaction responsiveness, and layout stability through concrete frontend measurements and fixes.</description><pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Optimize hero images for faster Largest Contentful Paint</title><link>https://codinglaboratory.com/guides/optimize-lcp-images</link><guid>https://codinglaboratory.com/guides/optimize-lcp-images</guid><description>Deliver correctly sized hero media with responsive sources, priority hints, stable dimensions, modern formats, and useful fallbacks.</description><pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Lazy-load component previews without hurting discovery or UX</title><link>https://codinglaboratory.com/guides/lazy-load-component-previews</link><guid>https://codinglaboratory.com/guides/lazy-load-component-previews</guid><description>Delay expensive preview iframes and interactive demos while keeping component links, text, placeholders, and SEO content immediately available.</description><pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Reduce JavaScript bundle size: practical frontend strategies</title><link>https://codinglaboratory.com/guides/reduce-javascript-bundle-size</link><guid>https://codinglaboratory.com/guides/reduce-javascript-bundle-size</guid><description>Ship less client code through server rendering, progressive enhancement, route splitting, native platform features, and dependency review.</description><pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Build smooth CSS animation without jank or wasted battery</title><link>https://codinglaboratory.com/guides/performant-css-animation</link><guid>https://codinglaboratory.com/guides/performant-css-animation</guid><description>Animate transform and opacity thoughtfully, avoid layout-heavy properties, contain effects, and verify frame performance under real load.</description><pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Prevent Cumulative Layout Shift in component-heavy pages</title><link>https://codinglaboratory.com/guides/prevent-cumulative-layout-shift</link><guid>https://codinglaboratory.com/guides/prevent-cumulative-layout-shift</guid><description>Reserve media, preview, font, banner, and personalized content space so users never chase controls that move after loading.</description><pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Web font loading performance: avoid invisible text and layout shifts</title><link>https://codinglaboratory.com/guides/web-font-loading-performance</link><guid>https://codinglaboratory.com/guides/web-font-loading-performance</guid><description>Choose font subsets, preload only critical files, tune fallback metrics, and balance brand typography with fast, stable rendering.</description><pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Event delegation for scalable interactive component lists</title><link>https://codinglaboratory.com/guides/event-delegation-frontend</link><guid>https://codinglaboratory.com/guides/event-delegation-frontend</guid><description>Use bubbling events and closest safely to manage dynamic lists, menus, tables, and toast actions with fewer listeners and cleaner teardown.</description><pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Build a fire effect button with layered CSS</title><link>https://codinglaboratory.com/guides/fire-effect-button-css</link><guid>https://codinglaboratory.com/guides/fire-effect-button-css</guid><description>Create a convincing ember-and-flame button with pseudo-elements, clipped layers, crisp labels, accessible states, and reduced motion.</description><pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Create a water drop button with CSS and pointer feedback</title><link>https://codinglaboratory.com/guides/water-drop-button-css</link><guid>https://codinglaboratory.com/guides/water-drop-button-css</guid><description>Layer highlights, refraction, ripples, and surface tension into a liquid button that remains responsive, readable, and keyboard accessible.</description><pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Build a custom cursor effect without breaking usability</title><link>https://codinglaboratory.com/guides/custom-cursor-accessibility</link><guid>https://codinglaboratory.com/guides/custom-cursor-accessibility</guid><description>Scope pointer trails and spotlights to a demo surface, preserve native affordances, handle touch correctly, and respect reduced motion.</description><pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Design an accessible command palette for web applications</title><link>https://codinglaboratory.com/guides/accessible-command-palette</link><guid>https://codinglaboratory.com/guides/accessible-command-palette</guid><description>Build fast command search with dialog semantics, keyboard shortcuts, grouped results, clear active states, and safe action execution.</description><pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Toast notification UX: timing, accessibility, and undo actions</title><link>https://codinglaboratory.com/guides/toast-notification-ux</link><guid>https://codinglaboratory.com/guides/toast-notification-ux</guid><description>Design toast messages that announce important results, remain dismissible, avoid interruption, and support reliable undo workflows.</description><pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Build an accessible range slider with useful values</title><link>https://codinglaboratory.com/guides/accessible-range-slider</link><guid>https://codinglaboratory.com/guides/accessible-range-slider</guid><description>Design native and custom range controls with keyboard support, visible values, semantic units, touch targets, and stable feedback.</description><pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Responsive data tables that preserve meaning on mobile</title><link>https://codinglaboratory.com/guides/responsive-data-table</link><guid>https://codinglaboratory.com/guides/responsive-data-table</guid><description>Keep headers, sorting, focus, comparison, and data relationships intact when complex tables move into narrow layouts.</description><pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Accessible carousel design without autoplay traps</title><link>https://codinglaboratory.com/guides/accessible-carousel</link><guid>https://codinglaboratory.com/guides/accessible-carousel</guid><description>Build carousels with clear controls, stable focus, optional autoplay, semantic slide labels, swipe support, and reduced motion.</description><pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate></item><item><title>HTML form validation with progressive enhancement</title><link>https://codinglaboratory.com/guides/html-form-validation</link><guid>https://codinglaboratory.com/guides/html-form-validation</guid><description>Combine native constraints, clear inline feedback, server validation, preserved values, and accessible submission summaries.</description><pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Password field UX with visibility controls and passkeys</title><link>https://codinglaboratory.com/guides/password-field-ux</link><guid>https://codinglaboratory.com/guides/password-field-ux</guid><description>Build password sign-in that supports managers, paste, clear requirements, safe visibility toggles, passkeys, and useful errors.</description><pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Accessible file upload with drag-and-drop enhancement</title><link>https://codinglaboratory.com/guides/accessible-file-upload</link><guid>https://codinglaboratory.com/guides/accessible-file-upload</guid><description>Create a keyboard-operable file picker with drag-and-drop, validation, upload progress, cancellation, retry, and clear file states.</description><pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Checkout form UX that reduces errors and abandonment</title><link>https://codinglaboratory.com/guides/checkout-form-ux</link><guid>https://codinglaboratory.com/guides/checkout-form-ux</guid><description>Design clear checkout steps, address and payment fields, price summaries, delivery choices, validation, and resilient submission states.</description><pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Accessible combobox patterns for search and autocomplete</title><link>https://codinglaboratory.com/guides/accessible-combobox</link><guid>https://codinglaboratory.com/guides/accessible-combobox</guid><description>Build autocomplete inputs with clear labels, fast filtering, active-option semantics, keyboard navigation, empty states, and selection recovery.</description><pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Frontend component testing: keyboard, responsive, and export checks</title><link>https://codinglaboratory.com/guides/frontend-component-testing</link><guid>https://codinglaboratory.com/guides/frontend-component-testing</guid><description>Test the real component package across keyboard paths, viewport sizes, themes, reduced motion, console errors, and standalone exports.</description><pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate></item><item><title>SEO for frontend component pages: titles, schema, and internal links</title><link>https://codinglaboratory.com/guides/component-page-seo</link><guid>https://codinglaboratory.com/guides/component-page-seo</guid><description>Create indexable component detail pages with unique metadata, preview images, SoftwareSourceCode schema, breadcrumbs, and useful content links.</description><pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Deploy an Astro component library to Cloudflare Workers</title><link>https://codinglaboratory.com/guides/astro-on-cloudflare-workers</link><guid>https://codinglaboratory.com/guides/astro-on-cloudflare-workers</guid><description>Prerender public catalog content, serve static assets efficiently, isolate dynamic routes, configure bindings, and verify deployment output.</description><pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Why plain HTML components still matter</title><link>https://codinglaboratory.com/blog/why-plain-html-components-still-matter</link><guid>https://codinglaboratory.com/blog/why-plain-html-components-still-matter</guid><description>Frameworks change. Semantic markup, scoped CSS, and defensive JavaScript remain portable.</description><pubDate>Tue, 28 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Test the download, not just the demo</title><link>https://codinglaboratory.com/blog/testing-the-download-not-just-the-demo</link><guid>https://codinglaboratory.com/blog/testing-the-download-not-just-the-demo</guid><description>A preview can look correct while the exported package is missing the files that make it work.</description><pubDate>Sun, 19 Jul 2026 00:00:00 GMT</pubDate></item></channel></rss>