What Happens When You Type a URL and Press Enter
DNS lookups, TCP and TLS handshakes, HTTP requests, servers, and the browser's rendering pipeline. The whole journey of a web page, explained so it finally clicks.
Read →Accessibility isn't a special feature for a few users. It's what makes a site usable for everyone, and much of it is free if you use HTML correctly. The essentials, with quick ways to test.
Accessibility (often shortened to a11y) means people can use your site regardless of disability: people who are blind and use screen readers, people with low vision who zoom to 200%, people who can't use a mouse, people with tremors, colour blindness or cognitive differences. It also helps everyone else: someone in bright sunlight, someone with a broken trackpad, someone holding a baby with one arm.
The good news: most accessibility comes from writing HTML the way it was designed to be written.
Native elements come with accessibility built in: keyboard support, focus, roles and states that assistive technology understands.
<!-- Inaccessible: not focusable, no keyboard support, no role -->
<div class="btn" onclick="save()">Save</div>
<!-- Accessible by default -->
<button type="button" onclick="save()">Save</button>
The rules of thumb:
<button>. If it goes somewhere, it's an <a href>.<nav>, <main>, <header>, <footer> and <section> so screen reader users can jump between regions.h1 to h6) in order to outline the page. Don't pick heading levels for their font size.<ul>, <ol>) and tables (<table> with <th>) for list and tabular data.alt="Bar chart: sales doubled between March and June".alt="", so screen readers skip them.Skip "image of..." at the start. Screen readers already announce that it's an image.
<label for="email">Email address</label>
<input id="email" type="email" autocomplete="email" required>
Placeholder text isn't a label: it disappears when typing and often has poor contrast. Also:
aria-describedby.autocomplete attributes. They help everyone, especially people with motor or memory difficulties.(Validation that helps users.)
Put your mouse away and press Tab through your site:
:focus-visible to style them nicely.A "Skip to main content" link at the top helps keyboard users bypass repeated navigation.
prefers-reduced-motion for animations and prefers-color-scheme for themes.ARIA attributes add accessibility information to elements, but the first rule of ARIA is: don't use ARIA if a native element does the job. Incorrect ARIA is worse than none.
Where ARIA genuinely helps:
aria-label on icon-only buttons: <button aria-label="Close dialog">×</button>aria-expanded on toggles that show or hide contentaria-live regions to announce dynamic updates, like "Item added to cart"aria-current="page" on the active navigation linkAutomated tools are a start, not a certificate. Real usage reveals what scanners can't.
Designing and building websites so people with disabilities can perceive, navigate and interact with them, including people using screen readers, keyboards, zoom or other assistive technology.
The Web Content Accessibility Guidelines, the international standard for web accessibility. Level AA is the common target for websites and many legal requirements.
No. Tools like Lighthouse and axe catch common issues such as missing labels and low contrast, but keyboard and screen reader testing is needed to find the rest.
DNS lookups, TCP and TLS handshakes, HTTP requests, servers, and the browser's rendering pipeline. The whole journey of a web page, explained so it finally clicks.
Read →There are dozens of HTTP status codes, but about fifteen cover nearly everything. What each one means, when to return it, and the mix-ups (401 vs 403, 301 vs 302) that confuse everyone.
Read →A, AAAA, CNAME, MX, TXT and NS records in plain English, why DNS changes seem slow, and the troubleshooting commands that tell you what is really going on.
Read →