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

NVDA bug: anchor links broken if they point to a parent element

In my last blog post, I explained how to create a back-to-top button that visually indicates the scroll position. I tested it in different browsers to see if the CSS works. I didn't test with screen readers because the HTML was basic and straightforward. There wasn't anything that could go wrong, or at least I thought so.

Building a progress-indicating scroll-to-top button in HTML and CSS

I noticed a nice detail on theneedledrop.com. They have a square scroll-to-top button with an arrow pointing right. The button's border is black, and the background color is white. When you scroll, the arrow points up, and the background color turns gradually yellow as you scroll. That's nothing too special, but it caught my attention because it looks nice and I realized we can build this without JS. Let's try.

Debugging a Craft CMS installation on macOS

The other day, I tried to install Craft CMS 5 on my Macbook, and I had some issues with my setup.

A year in review: 2024

2024 was our first year with three kids, and what a year that was.

A year in review: 2023

No, that's not a typo. I'm writing my year-in-review post for 2023 in 2025. It's not like 2023 was terrible, but it was intense, and I needed some distance before I could write about it, and then I just forgot to do it. Before I can write about 2024, I have to do 2023 first. So, here we go:

Website accessibility reaction videos (in German)

Recently, I started a new project. I react to the accessibility of more or less randomly picked websites.

TYPO3Camp Vienna: Talk and Workshop

Friends of mine organise the seventh international TYPO3Camp, which takes place in Vienna on October 11th - 13th, 2024. I'm there to give a keynote talk and a workshop.

Workshop: Deep Dive on Accessibility Testing

Once again, I’ve teamed up with my friends at Smashing Magazine 😻 to share with you everything I know about web accessibility testing! In this smashing workshop we’ll talk about automatic and manual testing, screen reader basics, Single Page Applications, Dev Tools, and more.

Day 109: the animation-composition property

CSS animations can be composited in three ways: replace, add, and accumulate. The animation-composition property allows you to switch between them.

Day 108: the of S syntax in :nth-child()

You can use the of S syntax in the :nth-child() pseudo-class to filter elements before the arguments in :nth-child() apply.