Web Dev Checklist
32 actionable items covering performance, accessibility, security, and code quality for web developers.
Valid HTML5 document structure
highUse proper DOCTYPE, html, head, and body tags. Validate with W3C validator.
Semantic HTML elements
highUse header, nav, main, article, section, aside, and footer instead of generic divs.
Responsive meta viewport tag
highInclude <meta name='viewport' content='width=device-width, initial-scale=1'>.
CSS minification and bundling
mediumMinify CSS files and bundle them to reduce HTTP requests and file sizes.
JavaScript minification and tree shaking
mediumRemove unused JavaScript. Use tree shaking in your build process.
Lazy loading for images and videos
highUse loading='lazy' for below-the-fold images. Lazy load video embeds.
Modern image formats (WebP/AVIF)
mediumServe images in WebP or AVIF with fallbacks for older browsers.
Responsive images with srcset
mediumUse srcset and sizes attributes to serve appropriately sized images.
Font optimization (subsetting, preload)
mediumSubset fonts to only needed characters. Preload critical fonts.
Critical CSS inlined
mediumInline above-the-fold CSS to prevent render-blocking.
Defer non-critical JavaScript
highUse defer or async attributes on non-critical script tags.
HTTP/2 or HTTP/3 enabled
mediumEnsure your server supports HTTP/2+ for multiplexing and header compression.
Gzip/Brotli compression enabled
highEnable Brotli or Gzip compression on your server for text-based assets.
CDN configured for static assets
mediumServe images, CSS, and JS from a CDN for faster global delivery.
Browser caching headers configured
highSet Cache-Control and ETag headers for static assets.
WCAG 2.1 AA accessibility compliance
highEnsure color contrast, keyboard navigation, ARIA labels, and screen reader compatibility.
Alt text on all meaningful images
highEvery non-decorative image needs descriptive alt text.
Keyboard navigation works
highAll interactive elements should be reachable and usable via keyboard.
Focus indicators visible
mediumDon't remove focus outlines. Style them to be visible and match your design.
ARIA labels on interactive elements
mediumAdd aria-label or aria-labelledby to buttons, links, and form elements that need context.
HTTPS with valid SSL certificate
highServe all pages over HTTPS. Use HSTS header for strict transport security.
Content Security Policy (CSP) header
mediumImplement CSP to prevent XSS attacks and unauthorized script execution.
X-Frame-Options header set
mediumPrevent clickjacking by setting X-Frame-Options to DENY or SAMEORIGIN.
No mixed content warnings
highEnsure all resources (images, scripts, styles) are loaded over HTTPS.
Input validation (client and server)
highValidate all user inputs on both client and server side to prevent injection attacks.
Error handling with custom error pages
mediumCreate custom 404 and 500 error pages that maintain site branding and navigation.
Proper 301 redirects for moved pages
highRedirect old URLs to new ones with 301 status codes to preserve link equity.
No console errors in production
mediumCheck browser console for JavaScript errors and fix them before launch.
Cross-browser testing completed
mediumTest in Chrome, Firefox, Safari, and Edge. Check mobile browsers too.
Performance budget established
lowSet limits for page weight, number of requests, and load time. Monitor continuously.
Automated testing (unit/integration)
mediumWrite tests for critical functionality. Set up CI/CD to run tests automatically.
Environment variables for secrets
highNever hardcode API keys or secrets. Use environment variables.