Tutorial
-
Writing useful alt text
When images need alt text, how to describe them for context, and when an empty alt is correct.
-
What is responsive web design?
Why one site must work at every screen size, and the three ideas behind responsive design.
-
Headings and landmarks for screen reader navigation
How screen reader users jump between headings and landmarks, and how to structure pages so that works.
-
The viewport meta tag and mobile rendering
What the viewport meta tag does, why pages look tiny without it, and settings that harm accessibility.
-
Colour contrast and not relying on colour alone
Contrast ratios for text and interface elements, checking them, and showing meaning with more than colour.
-
Mobile-first CSS
Write base styles for small screens and enhance for larger ones with min-width queries.
-
Keyboard accessibility: focus order and visible focus
Make every control reachable and operable by keyboard, keep a logical focus order, and style focus visibly.
-
Media queries: width, orientation and user preferences
Media query syntax, range syntax, and querying user preferences such as dark mode and reduced motion.
-
Skip links and focus management
Add skip links, move focus deliberately after actions, and avoid focus traps and lost focus.
-
Responsive images: srcset, sizes and picture
Serve the right image size and format for each screen with srcset, sizes and the picture element.
-
Accessible names: labels, aria-label and aria-labelledby
How assistive technology names controls, the naming order, and fixing unlabelled icon buttons.
-
Fluid typography and spacing with clamp()
Scale type and spacing smoothly between screen sizes with clamp(), and keep text zoomable.
-
Accessible forms: labels, instructions and errors
Labels, hints, required fields, grouped controls and error messages that everyone can find and fix.
-
Responsive layouts without media queries
Intrinsic layouts that adapt by themselves with flex-wrap, auto-fit and minmax().
-
Introduction to ARIA: roles, states and the first rule
What ARIA does and does not do, roles, states and properties, and why native HTML comes first.
-
Choosing breakpoints from content, not devices
Find breakpoints where the layout breaks instead of copying device widths, and how many you really need.
-
Links or buttons? Choosing the right element
Links navigate and buttons act: the difference for keyboard and screen reader users, and fixing div buttons.
-
Responsive tables and wide content
Keep tables, code blocks and embeds usable on small screens without breaking the page.
-
Testing responsive designs in DevTools and on real devices
Device emulation, zoom testing at 200 and 400 percent, real-device testing and common responsive bugs.
-
Arrays
Indexed and associative arrays, nested arrays, adding and removing items, and the array functions you will use every day.