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

Element diversity

Did you know that there are 112 elements in HTML?!

Browser support: focus pseudo classes

I don’t know who needs to hear this, but that’s the current browser support for :focus-visible and :focus-within, and I love it!

My current HTML boilerplate

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

Highlighting columns in HTML tables

The col element allows us to style columns in tables.

Dev Tools: Debugging DOM Tree modifications

“Break on Subtree Modification” allows you to debug dynamically added and removed DOM nodes.

More or less burger-less navigation

For your and my inspiration: A collection of websites that don’t hide the navigation on mobile behind a burger/menu button.

Ordering CSS properties

I haven’t thought about ordering CSS properties in a while, but I began to work on the redesign of HTMHell recently and I decided to challenge my current approach.

Slow Movement

My answer to the question “What is one thing you learned about building websites this year?”

The lang attribute: browsers telling lies, telling sweet little lies

The lang attribute is an essential component in the basic structure of an HTML document. It’s important that we define it correctly because it affects many aspects of user experience. Unfortunately, the negative effects a missing or wrong attribute can have aren’t always evident. Austrian news site orf.at learned that the hard way recently.

Writing even more CSS with Accessibility in Mind, Part 2: Respecting user preferences

In the first article of this series, I explained how important progressive enhancement is for web accessibility. Building websites layer by layer allows for a cleaner separation of concerns and more resilient experiences. This second article is about user preferences and how to respect them when writing CSS.