Web development Blog

A blog about web development, HTML, CSS, JavaScript, and web accessibility.

My HTML boilerplate in 2026

posted on

Every element I use for the basic structure of a HTML document, with explanations why.

Keep reading

Progressively enhancing Grid Lanes

posted on

This post is a follow-up on my previous post. I was wondering whether it's safe to use Grid Lanes today. I came up with a solution I find okay, but there is a caveat.

Keep reading

Your Grid Lanes will likely fail WCAG 2.4.3

posted on

I saw a great introduction to CSS Grid Lanes, aka Masonry Layouts, by Patrick Brosset at CSS Day 2026. I liked the versatility of its use cases, but I was also concerned that it's inaccessible by default.

Keep reading

More posts

  1. Setting the width of selects to the width of the selected option

  2. Zen, Zed, and Zits

  3. Context-aware headings in HTML

  4. Don't put aria-label on generic elements like divs

  5. box-shadow is no alternative to outline

  6. The geolocation element is odd

  7. Your skip link targets may not need tabindex=-1 to work properly

  8. role=presentation is no alternative for aria-hidden=true

  9. Put aria-hidden=true on decorative SVGs

  10. aria-haspopup might not do what you think it does

  11. A new meta tag for respecting text scaling on mobile

  12. Introduction to the new HTML element <geolocation>

  13. Lowering the specificity of multiple rules at once

  14. My favourite front-end and web development conferences

  15. Better defaults for popovers

  16. Workshop: Deep Dive on Accessibility Testing