Home: Mohammad Abu-aishehOpen to work Open to work العربية

Web & performance // Guide

A responsive design checklist

Build mobile-first, use fluid type and content-led breakpoints, keep touch targets usable, avoid horizontal scrolling, and test on real devices.

A responsive design checklist

What responsive design means

Responsive design means a page adapts to the space it has, from a small phone to a wide monitor, instead of being fixed to one size. People also change text size, zoom and rotate their devices, so a layout must hold up under all of these.

Layout and sizing

  • Start mobile-first. Design the narrow layout first, then add rules for wider screens with <code>min-width</code> media queries. It forces you to prioritise content.
  • Set breakpoints by content. Add a breakpoint where the layout starts to look wrong, not at the width of a particular device.
  • Use fluid type and spacing. The CSS <code>clamp()</code> function sets a minimum, a flexible middle value and a maximum, so sizes scale smoothly between breakpoints.
  • Add the viewport meta tag. Without <code>width=device-width, initial-scale=1</code>, mobile browsers render a desktop-width page and shrink it.

Use relative units for widths and spacing where possible, and let flexbox or grid decide how items wrap: <code>grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr))</code> creates a layout with no media query at all.

Reflow, zoom and touch

WCAG sets two requirements that a responsive layout should meet.

  • Reflow (1.4.10, AA). Content should work at a width equivalent to 320 CSS pixels without scrolling in two dimensions, apart from content like data tables or maps that need two-dimensional layout.
  • Resize text (1.4.4, AA). Text should be resizable to 200% without loss of content or function. Use relative units such as <code>rem</code> and avoid fixed-height boxes that clip text.
  • Touch targets. WCAG 2.2 sets a minimum target size of 24 by 24 CSS pixels (2.5.8, AA). Larger targets with space around them are easier to use on touch screens.

Check these early. Fixed widths, fixed heights and absolute positioning are the usual causes of failures, and they are much cheaper to correct in a design than after the build.

Images, tables and long words

  • Use responsive images: <code>srcset</code> and <code>sizes</code> let the browser pick a suitable file, and <code>max-width: 100%</code> stops images from overflowing.
  • Let wide tables scroll inside their own container, rather than making the whole page scroll sideways.
  • Handle long words and URLs with <code>overflow-wrap: anywhere</code> or <code>hyphens</code> so they do not push the layout.

Browser tools are useful for quick checks, but real devices reveal touch behaviour, browser toolbars and performance. Test in portrait and landscape, with text enlarged, and with a keyboard.

If horizontal scrolling appears, find the element that is wider than the screen and fix it.

Plan how navigation changes on small screens: a menu button, a bottom bar or a shortened list. Whatever you choose, the main actions should stay reachable and clearly labelled.

Sources

  • W3C. Web Content Accessibility Guidelines (WCAG) 2.2, 1.4.4, 1.4.10 and 2.5.8. https://www.w3.org/TR/WCAG22/
  • MDN Web Docs. Responsive web design. https://developer.mozilla.org/en-US/docs/Learn_web_development/Core/CSS_layout/Responsive_Design

This guide was drafted with AI assistance from public standards and references. For the exact wording of a standard, use the sources listed above.

More on this topic

  • Web & performance2 min read

    Designing loading states

    Match the loading pattern to the wait: know the three response-time limits, choose skeletons, spinners or progress bars, and announce changes accessibly.

  • Web & performance2 min read

    Core Web Vitals for designers

    LCP, INP and CLS measure loading, responsiveness and visual stability. See which design choices move these numbers.

  • Web & performance2 min read

    Choosing image formats for the web

    The right format and markup keep pages fast and stable. Learn when to use JPEG, PNG, WebP, AVIF and SVG, plus srcset, dimensions and lazy loading.

Keyboard shortcuts
Single-key shortcuts

Turn off if you use speech input or find them getting in the way.